This commit was manufactured by cvs2svn to create branch
'john_perf_20030224'.
Sprout from master 2003-02-17 15:55:24 UTC John Arthorne <johna> 'Updated performance test suite'
Delete:
bundles/org.eclipse.core.boot/.classpath
bundles/org.eclipse.core.boot/.cvsignore
bundles/org.eclipse.core.boot/.options
bundles/org.eclipse.core.boot/.project
bundles/org.eclipse.core.boot/about.html
bundles/org.eclipse.core.boot/boot.xml
bundles/org.eclipse.core.boot/build.properties
bundles/org.eclipse.core.boot/plugin.properties
bundles/org.eclipse.core.boot/plugin.xml
bundles/org.eclipse.core.boot/splash.bmp
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties
bundles/org.eclipse.core.runtime/.classpath
bundles/org.eclipse.core.runtime/.cvsignore
bundles/org.eclipse.core.runtime/.options
bundles/org.eclipse.core.runtime/.project
bundles/org.eclipse.core.runtime/about.html
bundles/org.eclipse.core.runtime/build.properties
bundles/org.eclipse.core.runtime/doc/hglegal.htm
bundles/org.eclipse.core.runtime/doc/hglegal2002.htm
bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif
bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif
bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html
bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html
bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html
bundles/org.eclipse.core.runtime/doc/plugin_dtd.html
bundles/org.eclipse.core.runtime/doc/plugin_manifest.html
bundles/org.eclipse.core.runtime/plugin.properties
bundles/org.eclipse.core.runtime/plugin.xml
bundles/org.eclipse.core.runtime/schema/applications.mxsd
bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html
bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html
tests/org.eclipse.core.tests.runtime/.classpath
tests/org.eclipse.core.tests.runtime/.cvsignore
tests/org.eclipse.core.tests.runtime/.project
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini
tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml
tests/org.eclipse.core.tests.runtime/about.html
tests/org.eclipse.core.tests.runtime/build.properties
tests/org.eclipse.core.tests.runtime/plugin.xml
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java
tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.javadiff --git a/bundles/org.eclipse.core.boot/.classpath b/bundles/org.eclipse.core.boot/.classpath
deleted file mode 100644
index dbbc1d8..0000000
--- a/bundles/org.eclipse.core.boot/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.core.boot/.cvsignore b/bundles/org.eclipse.core.boot/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.core.boot/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/.options b/bundles/org.eclipse.core.boot/.options
deleted file mode 100644
index 7ec63ac..0000000
--- a/bundles/org.eclipse.core.boot/.options
+++ /dev/null
@@ -1,28 +0,0 @@
-#### Monitoring settings
-# monitor class loading
-org.eclipse.core.boot/monitor/classes=false
-
-# monitor plugin activation
-org.eclipse.core.boot/monitor/plugins=false
-
-# monitor resource bundle (*.properties) loading
-org.eclipse.core.boot/monitor/bundles=false
-
-
-#### Trace settings
-# trace class loading - snapshot the execution stack when a class is loaded
-org.eclipse.core.boot/trace/classLoading=false
-
-# trace location - file in which execution traces are written
-org.eclipse.core.boot/trace/filename=runtime.traces
-
-# trace filters - Java properties file defining which classes should
-# be traced (if trace/classLoading is true)
-# File format:
-# plugins=<comma separated list of plugins whose classes to trace>
-# packages=<comma separated list of package prefixes of classes to trace>
-# Note that there may be many 'plugins' and 'packages' lines in one file.
-org.eclipse.core.boot/trace/filters=trace.properties
-
-# trace plugin activation - snapshot the execution stack when a plugin is activated
-org.eclipse.core.boot/trace/pluginActivation=false
diff --git a/bundles/org.eclipse.core.boot/.project b/bundles/org.eclipse.core.boot/.project
deleted file mode 100644
index cd0e722..0000000
--- a/bundles/org.eclipse.core.boot/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.core.boot</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.core.boot/about.html b/bundles/org.eclipse.core.boot/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/bundles/org.eclipse.core.boot/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>20th June, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or
-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/boot.xml b/bundles/org.eclipse.core.boot/boot.xml
deleted file mode 100644
index 537f5af..0000000
--- a/bundles/org.eclipse.core.boot/boot.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<requires>
- <import plugin="org.eclipse.core.runtime" version="2.1.0" match="equivalent"/>
-</requires>
diff --git a/bundles/org.eclipse.core.boot/build.properties b/bundles/org.eclipse.core.boot/build.properties
deleted file mode 100644
index 0dde92b..0000000
--- a/bundles/org.eclipse.core.boot/build.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-source.boot.jar=src/
-src.includes=about.html
-bin.includes=plugin.xml,boot.xml,*.jar,plugin.properties,about.html,splash.bmp,.options
-javadoc.packages=org.eclipse.core.boot.*
-
diff --git a/bundles/org.eclipse.core.boot/plugin.properties b/bundles/org.eclipse.core.boot/plugin.properties
deleted file mode 100644
index e1d6eca..0000000
--- a/bundles/org.eclipse.core.boot/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-# Boot strings
-pluginName = Core Boot
-providerName = Eclipse.org
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/plugin.xml b/bundles/org.eclipse.core.boot/plugin.xml
deleted file mode 100644
index 8999206..0000000
--- a/bundles/org.eclipse.core.boot/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="org.eclipse.core.boot"
- name="%pluginName"
- version="2.1.0"
- provider-name="%providerName">
-
-<runtime>
- <library name="boot.jar">
- <export name="*"/>
- <packages prefixes="com.ibm.oti,org.eclipse.core"/>
- </library>
-</runtime>
-
-</plugin>
diff --git a/bundles/org.eclipse.core.boot/splash.bmp b/bundles/org.eclipse.core.boot/splash.bmp
deleted file mode 100644
index a0498f5..0000000
--- a/bundles/org.eclipse.core.boot/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
deleted file mode 100644
index 23e2fd6..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/BootLoader.java
+++ /dev/null
@@ -1,557 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.boot;
-
-import java.io.IOException;
-import java.net.URL;
-import org.eclipse.core.internal.boot.InternalBootLoader;
-
-/**
- * Special boot loader class for the Eclipse Platform. This class cannot
- * be instantiated; all functionality is provided by static methods.
- * <p>
- * The Eclipse Platform makes heavy use of Java class loaders for
- * loading plug-ins. Even the Platform Core Runtime itself, including
- * the <code>Platform</code> class, needs to be loaded by a special
- * class loader. The upshot is that a client program (such as a Java main
- * program, a servlet) cannot directly reference even the
- * <code>Platform</code> class. Instead, a client must use this
- * loader class for initializing the platform, invoking functionality
- * defined in plug-ins, and shutting down the platform when done.
- * </p>
- *
- * @see org.eclipse.core.runtime.Platform
- */
-public final class BootLoader {
-
- /**
- * The unique identifier constant (value "<code>org.eclipse.core.boot</code>")
- * of the Core Boot (pseudo-) plug-in.
- */
- public static final String PI_BOOT = "org.eclipse.core.boot";//$NON-NLS-1$
-
- /**
- * Constant string (value "win32") indicating the platform is running on a
- * Window 32-bit operating system (e.g., Windows 98, NT, 2000).
- */
- public static final String OS_WIN32 = "win32";//$NON-NLS-1$
-
- /**
- * Constant string (value "linux") indicating the platform is running on a
- * Linux-based operating system.
- */
- public static final String OS_LINUX = "linux";//$NON-NLS-1$
-
- /**
- * Constant string (value "aix") indicating the platform is running on an
- * AIX-based operating system.
- */
- public static final String OS_AIX = "aix";//$NON-NLS-1$
-
- /**
- * Constant string (value "solaris") indicating the platform is running on a
- * Solaris-based operating system.
- */
- public static final String OS_SOLARIS = "solaris";//$NON-NLS-1$
-
- /**
- * Constant string (value "hpux") indicating the platform is running on an
- * HP/UX-based operating system.
- */
- public static final String OS_HPUX = "hpux";//$NON-NLS-1$
-
- /**
- * Constant string (value "qnx") indicating the platform is running on a
- * QNX-based operating system.
- */
- public static final String OS_QNX = "qnx";//$NON-NLS-1$
-
- /**
- * Constant string (value "macosx") indicating the platform is running on a
- * Mac OS X operating system.
- *
- * @since 2.0
- */
- public static final String OS_MACOSX = "macosx";//$NON-NLS-1$
-
- /**
- * Constant string (value "unknown") indicating the platform is running on a
- * machine running an unknown operating system.
- */
- public static final String OS_UNKNOWN = "unknown";//$NON-NLS-1$
-
- /**
- * Constant string (value "x86") indicating the platform is running on an
- * x86-based architecture.
- */
- public static final String ARCH_X86 = "x86";//$NON-NLS-1$
-
- /**
- * Constant string (value "PA_RISC") indicating the platform is running on an
- * PA_RISC-based architecture.
- */
- public static final String ARCH_PA_RISC = "PA_RISC";//$NON-NLS-1$
-
- /**
- * Constant string (value "ppc") indicating the platform is running on an
- * PowerPC-based architecture.
- *
- * @since 2.0
- */
- public static final String ARCH_PPC = "ppc";//$NON-NLS-1$
-
- /**
- * Constant string (value "sparc") indicating the platform is running on an
- * Sparc-based architecture.
- *
- * @since 2.0
- */
- public static final String ARCH_SPARC = "sparc";//$NON-NLS-1$
-
- /**
- * Constant string (value "win32") indicating the platform is running on a
- * machine using the Windows windowing system.
- */
- public static final String WS_WIN32 = "win32";//$NON-NLS-1$
-
- /**
- * Constant string (value "motif") indicating the platform is running on a
- * machine using the Motif windowing system.
- */
- public static final String WS_MOTIF = "motif";//$NON-NLS-1$
-
- /**
- * Constant string (value "gtk") indicating the platform is running on a
- * machine using the GTK windowing system.
- */
- public static final String WS_GTK = "gtk";//$NON-NLS-1$
-
- /**
- * Constant string (value "photon") indicating the platform is running on a
- * machine using the Photon windowing system.
- */
- public static final String WS_PHOTON = "photon";//$NON-NLS-1$
-
- /**
- * Constant string (value "carbon") indicating the platform is running on a
- * machine using the Carbon windowing system (Mac OS X).
- *
- * @since 2.0
- */
- public static final String WS_CARBON = "carbon";//$NON-NLS-1$
-
- /**
- * Constant string (value "unknown") indicating the platform is running on a
- * machine running an unknown windowing system.
- */
- public static final String WS_UNKNOWN = "unknown";//$NON-NLS-1$
-
- private static final String[] ARCH_LIST = {
- ARCH_PA_RISC,
- ARCH_PPC,
- ARCH_SPARC,
- ARCH_X86
- };
- private static final String[] OS_LIST = {
- OS_AIX,
- OS_HPUX,
- OS_LINUX,
- OS_MACOSX,
- OS_QNX,
- OS_SOLARIS,
- OS_WIN32
- };
- private static final String[] WS_LIST = {
- WS_CARBON,
- WS_GTK,
- WS_MOTIF,
- WS_PHOTON,
- WS_WIN32
- };
-/**
- * Private constructor to block instance creation.
- */
-private BootLoader() {
-}
-/**
- * Returns whether the given location (typically a directory in the
- * local file system) contains the saved data for a platform. The
- * saved data for the platform is recognizable by the presence of
- * a special platform metadata subdirectory; however, this metadata
- * directory is not usually created unless there is some reason to do so
- * (for example, so that an active plug-in can save its state).
- *
- * @return <code>true</code> if the location contains the
- * saved data for a platform, and <code>false</code> otherwise
- */
-public static boolean containsSavedPlatform(String location) {
- return InternalBootLoader.containsSavedPlatform(location);
-}
-/**
- * Returns the command line args provided to the platform when it was first run.
- * Note that individual platform runnables may be provided with different arguments
- * if they are being run individually rather than with <code>Platform.run()</code>.
- *
- * @return the command line used to start the platform
- */
-public static String[] getCommandLineArgs() {
- return InternalBootLoader.getCommandLineArgs();
-}
-/**
- * Returns the current platform configuration.
- *
- * @return platform configuration used in current instance of platform
- * @since 2.0
- */
-public static IPlatformConfiguration getCurrentPlatformConfiguration() {
- return InternalBootLoader.getCurrentPlatformConfiguration();
-}
-/**
- * Returns URL at which the Platform runtime executables and libraries are installed.
- * The returned value is distinct from the location of any given platform's data.
- *
- * @return the URL indicating where the platform runtime is installed.
- */
-public static URL getInstallURL() {
- return InternalBootLoader.getInstallURL();
-}
-/**
- * Returns the string name of the current locale for use in finding files
- * whose path starts with <code>$nl$</code>.
- *
- * @return the string name of the current locale
- */
-public static String getNL() {
- return InternalBootLoader.getNL();
-}
-/**
- * Returns the string name of the current operating system for use in finding
- * files whose path starts with <code>$os$</code>. <code>OS_UNKNOWN</code> is
- * returned if the operating system cannot be determined.
- * The value may indicate one of the operating systems known to the platform
- * (as specified in <code>knownOSValues</code>) or a user-defined string if
- * the operating system name is specified on the command line.
- *
- * @return the string name of the current operating system
- * @see #knownOSValues
- *
- */
-public static String getOS() {
- return InternalBootLoader.getOS();
-}
-/**
- * Returns the string name of the current system architecture.
- * The value is a user-defined string if the architecture is
- * specified on the command line, otherwise it is the value
- * returned by <code>java.lang.System.getProperty("os.arch")</code>.
- *
- * @return the string name of the current system architecture
- * @since 2.0
- */
-public static String getOSArch() {
- return InternalBootLoader.getOSArch();
-}
-/**
- * Returns a platform configuration object, optionally initialized with previously saved
- * configuration information.
- *
- * @param url location of previously save configuration information. If <code>null</code>
- * is specified, an empty configuration object is returned
- * @return platform configuration used in current instance of platform
- * @since 2.0
- */
-public static IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
- return InternalBootLoader.getPlatformConfiguration(url);
-}
-/**
- * Returns the complete plugin path defined by the file at the given location.
- * If the given location is <code>null</code> or does not indicate a valid
- * plug-in path definition file, <code>null</code> is returned.
- *
- * @return the complete set of URLs which locate plug-ins
- */
-public static URL[] getPluginPath(URL pluginPathLocation) {
- return InternalBootLoader.getPluginPath(pluginPathLocation);
-}
-/**
- * Instantiates and returns an instance of the named application's
- * runnable entry point.
- * <code>null</code> is returned if the runnable cannot be found.
- *
- * @param applicationName the fully qualified name of an
- * extension installed in the platform's <code>applications</code>
- * extension point (i.e., <code>org.eclipse.core.applications</code>).
- * @return a platform runnable
- * @exception Exception if there is a problem instantiating the specified runnable
- */
-public static IPlatformRunnable getRunnable(String applicationName) throws Exception {
- return InternalBootLoader.getRunnable(applicationName);
-}
-/**
- * Instantiates and returns an instance of the named class. The class
- * must implement <code>IPlatformRunnable</code>.
- * If the class implements <code>IExecutableExtension</code>, the created
- * instance is initialized with the given arguments.
- * <code>null</code> is returned if the runnable cannot be found.
- *
- * @param pluginId the unique identifier of the plug-in containing the given class
- * @param className the fully qualified name of the class to instantiate
- * @param args the initialization arguments passed to the new instance
- * @return a platform runnable, or <code>null</code> if the runnable cannot
- * be found
- * @exception Exception if there is a problem instantiating the specified runnable
- */
-public static IPlatformRunnable getRunnable(String pluginId, String className, Object args) throws Exception {
- return InternalBootLoader.getRunnable(pluginId, className, args);
-}
-/**
- * Returns the string name of the current window system for use in finding files
- * whose path starts with <code>$ws$</code>. <code>null</code> is returned
- * if the window system cannot be determined.
- *
- * @return the string name of the current window system or <code>null</code>
- */
-public static String getWS() {
- return InternalBootLoader.getWS();
-}
-/**
- * Returns a list of known system architectures.
- * <p>
- * Note that this list is not authoritative; there may be legal values
- * not included in this list. Indeed, the value returned by
- * <code>getOSArch</code> may not be in this list. Also, this list may
- * change over time as Eclipse comes to run on more operating environments.
- * </p>
- *
- * @return the list of system architectures known to the system
- * @see #getOSArch
- * @since 2.0
- */
-public static String[] knownOSArchValues() {
- return ARCH_LIST;
-}
-/**
- * Returns a list of known operating system names.
- * <p>
- * Note that this list is not authoritative; there may be legal values
- * not included in this list. Indeed, the value returned by
- * <code>getOS</code> may not be in this list. Also, this list may
- * change over time as Eclipse comes to run on more operating environments.
- * </p>
- *
- * @return the list of operating systems known to the system
- * @see #getOS
- * @since 2.0
- */
-public static String[] knownOSValues() {
- return OS_LIST;
-}
-/**
- * Returns a list of known windowing system names.
- * <p>
- * Note that this list is not authoritative; there may be legal values
- * not included in this list. Indeed, the value returned by
- * <code>getWS</code> may not be in this list. Also, this list may
- * change over time as Eclipse comes to run on more operating environments.
- * </p>
- *
- * @return the list of window systems known to the system
- * @see #getWS
- * @since 2.0
- */
-public static String[] knownWSValues() {
- return WS_LIST;
-}
-/**
- * Returns <code>true</code> if the platform is currently running in
- * debug mode. The platform is run
- * in debug mode using the "-debug" command line argument.
- *
- * @return whether or not the platform is running in debug mode
- */
-public static boolean inDebugMode() {
- return InternalBootLoader.inDebugMode();
-}
-/**
- * Returns <code>true</code> if the platform is currently running in
- * development mode. That is, if special procedures are to be
- * taken when defining plug-in class paths. The platform is run
- * in development mode using the "-dev" command line argument.
- *
- * @return whether or not the platform is running in development mode
- */
-public static boolean inDevelopmentMode() {
- return InternalBootLoader.inDevelopmentMode();
-}
-/**
- * Returns whether the platform is running.
- * The <code>startup</code> method starts the platform running;
- * the <code>shutdown</code> method stops it.
- *
- * @return <code>true</code> if the platform is running,
- * and <code>false</code> otherwise
- * @see #startup
- * @see #shutdown
- */
-public static boolean isRunning() {
- return InternalBootLoader.isRunning();
-}
-/**
- * Launches the Platform to run a single application.
- * This convenince method starts up the Platform,
- * runs the indicated application, and then shuts down
- * the Platform. The Platform must not be running already.
- *
- * @param applicationName The fully qualified name of an
- * extension installed in the Platform plug-in's <code>applications</code>
- * extension-point (i.e., <code>org.eclipse.core.runtime.applications</code>).
- * @param pluginPathLocation the URL of the plug-in path; this is where
- * the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- * file system) for the saved platform state
- * @param args the array of command-line style argments which are passed
- * to the Platform on initialization. The arguments which are consumed by the
- * Platform's initialization are removed from the arg list. This modified arg list is
- * the return value of this method.
- *@return the list of <code>args</code> which were supplied but not consumed
- * by this method.
- * @return the result, or <code>null</code> if none
- * @exception Exception if anything goes wrong
- * @see #startup
- */
-public static Object run(String applicationName, URL pluginPathLocation, String location, String[] args) throws Exception {
- return InternalBootLoader.run(applicationName, pluginPathLocation, location, args, null);
-}
-/**
- * Launches the Platform to run a single application.
- * This convenince method starts up the Platform,
- * runs the indicated application, and then shuts down
- * the Platform. The Platform must not be running already.
- *
- * @param applicationName The fully qualified name of an
- * extension installed in the Platform plug-in's <code>applications</code>
- * extension-point (i.e., <code>org.eclipse.core.runtime.applications</code>).
- * @param pluginPathLocation the URL of the plug-in path; this is where
- * the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- * file system) for the saved platform state
- * @param args the array of command-line style argments which are passed
- * to the Platform on initialization. The arguments which are consumed by the
- * Platform's initialization are removed from the arg list. This modified arg list is
- * the return value of this method.
- * @param handler an optional handler invoked by the launched application
- * at the point the application considers itself initialized. A typical
- * use for the handler would be to take down any splash screen
- * that was displayed by the caller of this method.
- *@return the list of <code>args</code> which were supplied but not consumed
- * by this method.
- * @return the result, or <code>null</code> if none
- * @exception Exception if anything goes wrong
- * @see #startup
- */
-public static Object run(String applicationName, URL pluginPathLocation, String location, String[] args, Runnable handler) throws Exception {
- return InternalBootLoader.run(applicationName, pluginPathLocation, location, args, handler);
-}
-/**
- * Shuts down the Platform. The Platform must be running. In the process,
- * each active plug-in is told to shutdown via <code>Plugin.shutdown</code>.
- * <p>
- * Note that the state of the Platform is not automatically saved
- * before shutting down.
- * </p>
- * <p>
- * On return, the Platform will no longer be running (but could
- * be re-launched with another call to <code>startup</code>).
- * Any objects handed out by running Platform, including
- * Platform runnables obtained via <code>getRunnable</code>,
- * will be permanently invalid. The effects of attempting to invoke
- * methods on invalid objects is undefined.
- * </p>
- * @exception Exception if there were problems shutting down
- */
-public static void shutdown() throws Exception {
- InternalBootLoader.shutdown();
-}
-/**
- * Launches the Eclipse Platform. The Platform must not be running.
- * <p>
- * The location of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>location</code> argument is specified, that value is used.
- * <li>If <code>location</code> is <code>null</code> but <code>args</code>
- * contains a <code>-data<location></code> pair, then the given value is used.
- * <li> If neither is specified, <code>System.getProperty("user.dir")</code> is used.
- * </ul>
- * The plug-in path of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>pluginPathLocation</code> argument is specified, that value is tried.
- * <li>If <code>pluginPathLocation</code> is <code>null</code> but <code>args</code>
- * contains a <code>-plugins <location></code> pair, then the given value is tried.
- * <li>If neither value is specified or a given location does not exist,
- * the Platform's location is searched.
- * <li>Finally, the default plug-in path is used. This value identifies the plug-ins in the
- * Platform's install location.
- * </ul>
- * @param pluginPathLocation the URL of the plug-in path; this is where
- * the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- * file system) for the saved Platform state
- * @param args the array of command-line style argments which are passed
- * to the platform on initialization. The arguments which are consumed by the
- * Platform's initialization are removed from the arg list. This modified arg list is
- * the return value of this method.
- * @return the list of <code>args</code> which were supplied but not consumed
- * by this method.
- * @exception Exception if there are problems starting the platform
- */
-public static String[] startup(URL pluginPathLocation, String location, String[] args) throws Exception {
- return InternalBootLoader.startup(pluginPathLocation, location, args, null);
-}
-/**
- * Launches the Eclipse Platform. The Platform must not be running.
- * <p>
- * The location of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>location</code> argument is specified, that value is used.
- * <li>If <code>location</code> is <code>null</code> but <code>args</code>
- * contains a <code>-data <location></code> pair, then the given value is used.
- * <li> If neither is specified, <code>System.getProperty("user.dir")</code> is used.
- * </ul>
- * The plug-in path of the started Platform is defined as follows:
- * <ul>
- * <li>If the <code>pluginPathLocation</code> argument is specified, that value is tried.
- * <li>If <code>pluginPathLocation</code> is <code>null</code> but <code>args</code>
- * contains a <code>-plugins <location></code> pair, then the given value is tried.
- * <li>If neither value is specified or a given location does not exist,
- * the Platform's location is searched.
- * <li>Finally, the default plug-in path is used. This value identifies the plug-ins in the
- * Platform's install location.
- * </ul>
- * @param pluginPathLocation the URL of the plug-in path; this is where
- * the Platform is to find the code for plug-ins
- * @param location the location (usually a string path in the local file
- * file system) for the saved Platform state
- * @param args the array of command-line style argments which are passed
- * to the platform on initialization. The arguments which are consumed by the
- * Platform's initialization are removed from the arg list. This modified arg list is
- * the return value of this method.
- * @param handler an optional handler invoked by the launched application
- * at the point the application considers itself initialized. A typical
- * use for the handler would be to take down any splash screen
- * that was displayed by the caller of this method.
- * @return the list of <code>args</code> which were supplied but not consumed
- * by this method.
- * @exception Exception if there are problems starting the platform
- */
-public static String[] startup(URL pluginPathLocation, String location, String[] args, Runnable handler) throws Exception {
- return InternalBootLoader.startup(pluginPathLocation, location, args, handler);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java
deleted file mode 100644
index 4f502ef..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformConfiguration.java
+++ /dev/null
@@ -1,570 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.boot;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * Platform configuration interface. Represents the runtime
- * configuration used by the Eclipse platform. Any configuration
- * changes do not take effect until next startup of the Eclipse
- * platform
- *
- * @since 2.0
- */
-public interface IPlatformConfiguration {
-
- /**
- * Configuration entry representing an install site.
- *
- * @since 2.0
- */
- public interface ISiteEntry {
-
- /**
- * Returns the URL for this site
- *
- * @return site url
- * @since 2.0
- */
- public URL getURL();
-
- /**
- * Returns the policy for this site
- *
- * @return site policy
- * @since 2.0
- */
- public ISitePolicy getSitePolicy();
-
- /**
- * Sets the site policy
- *
- * @param policy site policy
- * @since 2.0
- */
- public void setSitePolicy(ISitePolicy policy);
-
- /**
- * Returns a list of features visible on the site. Note, that this is simply a
- * reflection of the site content. The features may or may not be actually configured.
- *
- * @return an array of feature entries, or an empty array if no features are found.
- * A feature entry is returned as a path relative to the site URL
- * @since 2.0
- */
- public String[] getFeatures();
-
- /**
- * Returns a list of plug-ins visible on the site. Note, that this is simply a
- * reflection of the site content and the current policy for the site. The plug-ins
- * may or may not end up being used by Eclipse (depends on which plug-in are
- * actually bound by the platform).
- *
- * @return an array of plug-in entries, or an empty array if no plug-ins are found.
- * A plug-in entry is returned as a path relative to the site URL *
- * @since 2.0
- */
- public String[] getPlugins();
-
- /**
- * Returns a stamp reflecting the current state of the site. If called repeatedly,
- * returns the same value as long as no changes were made to the site (changes to
- * features or plugins).
- *
- * @return site change stamp
- * @since 2.0
- */
- public long getChangeStamp();
-
- /**
- * Returns a stamp reflecting the current state of the features on the site.
- * If called repeatedly, returns the same value as long as no changes were made to
- * features on the site.
- *
- * @return site features change stamp
- * @since 2.0
- */
- public long getFeaturesChangeStamp();
-
- /**
- * Returns a stamp reflecting the current state of the plug-ins on the site.
- * If called repeatedly, returns the same value as long as no changes were made to
- * plug-ins on the site.
- *
- * @return site plug-ins change stamp
- * @since 2.0
- */
- public long getPluginsChangeStamp();
-
- /**
- * Returns an indication whether the site can be updated.
- *
- * @return <code>true</code> if site can be updated, <code>false</code> otherwise
- * @since 2.0
- */
- public boolean isUpdateable();
-
- /**
- * Returns an indication whether the site represents an install site
- * that has been linked via a native installer (using the links/<linkfile>
- * mechanism)
- *
- * @return <code>true</code> if the site is linked, <code>false</code> otherwise
- * @since 2.0
- */
- public boolean isNativelyLinked();
- }
-
- /**
- * Site policy. The site policy object determines how plug-ins
- * contained on the site are processed during startup. In general,
- * there are 3 ways of configuring a site policy
- * <ul>
- * <li>explicitly specify which plug-ins are to be included at
- * startup (type==USER_INCLUDE). Any other plug-ins located
- * at the site are ignored at startup. This is typically the best
- * policy when using remote sites where the user wishes
- * to retain explicit control over the plug-ins that are included
- * from such site.
- * <li>explicitly specify which plug-ins are to be excluded at
- * startup (type==USER-EXCLUDE). All other plug-ins located
- * at the site are used at startup. This policy requires that
- * the site support an access "protocol" that allows plug-in
- * discovery. In general, these are sites defined using the "file"
- * URL protocol. This is typically the best policy for local
- * install sites (on the user system).
- * </ul>
- *
- * @since 2.0
- */
- public interface ISitePolicy {
-
- /**
- * Policy type constants.
- */
-
- /**
- * User-defined inclusion list. The list associated with this
- * policy type is interpreted as path entries to included plugin.xml
- * or fragment.xml <b>relative</b> to the site URL
- */
- public static final int USER_INCLUDE = 0;
-
- /**
- * User-defined exclusion list. The list associated with this
- * policy type is interpreted as path entries to excluded plugin.xml
- * or fragment.xml <b>relative</b> to the site URL
- */
- public static final int USER_EXCLUDE = 1;
-
- /**
- * Return policy type
- *
- * @return policy type
- * @since 2.0
- */
- public int getType();
-
- /**
- * Return policy inclusion/ exclusion list
- *
- * @return the list as an array
- * @since 2.0
- */
- public String[] getList();
-
- /**
- * Set new policy list. The list entries are interpreted based on the policy
- * type. See description of the policy type constants for details.
- *
- * @param list policy inclusion/ exclusion list as an array.
- * Returns an empty array if there are no entries.
- * @see USER_INCLUDE
- * @see USER_EXCLUDE
- * @since 2.0
- */
- public void setList(String[] list);
- }
-
- /**
- * Feature entry.
- * Represents runtime "hints" about configured features.
- * The information is used during execution to locate the
- * correct attribution information for a feature. Note,
- * that a typical configuration can declare multiple feature
- * entries. At execution time, only one can be selected as
- * the active primary feature. This is determined based on
- * specified command line arguments or computed defaults.
- *
- * @since 2.0
- */
- public interface IFeatureEntry {
-
- /**
- * Returns feature identifier.
- * @return feature identifier
- * @since 2.0
- */
- public String getFeatureIdentifier();
-
- /**
- * Returns the currently configured version for the feature.
- * @return feature version (as string), or <code>null</code>
- * @since 2.0
- */
- public String getFeatureVersion();
-
- /**
- * Returns the identifier of the feature plug-in for this feature entry.
- * Note, that there is no guarantee that a feature in fact
- * supplies a corresponding feature plugin, so the result can be
- * <code>null</code>. Also, if supplied, there is no guarantee that the
- * plugin will in fact be loaded into the plug-in registry at runtime
- * (due to rules and constraint checking performed by the registry
- * loading support). Consequently code making use of this method must
- * handle these conditions.
- * @return feature identifier (as string), or <code>null</code>
- * @since 2.1
- */
- public String getFeaturePluginIdentifier();
-
-
- /**
- * Returns the version of the feature plug-in for this feature
- * entry. Note, that there is no guarantee that a feature in fact
- * supplies a corresponding feature plugin, so the result can be
- * <code>null</code>. Also, if supplied, there is no guarantee that the
- * plugin will in fact be loaded into the plug-in registry at runtime
- * (due to rules and constraint checking performed by the registry
- * loading support). Consequently code making use of this method must
- * handle these conditions.
- * @return feature version (as string), or <code>null</code>
- * @since 2.0
- */
- public String getFeaturePluginVersion();
-
- /**
- * Returns the application to run when this feature is the
- * primary feature.
- * @return application identifier, or <code>null</code>
- * @since 2.0
- */
- public String getFeatureApplication();
-
- /**
- * Returns URLs to the feature "root" locations. The root
- * URLs are install locations of the feature plugin and its
- * fragments.
- *
- * @return array of URLs, or an empty array
- * @since 2.0
- */
- public URL[] getFeatureRootURLs();
-
- /**
- * Returns an indication whether this feature has been defined
- * to act as a primary feature.
- * @return <code>true</code> if the feature can be primary,
- * <code>false</code> otherwise.
- * @since 2.0
- */
- public boolean canBePrimary();
- }
-
- /**
- * Create a site entry
- *
- * @param url site URL
- * @param policy site policy
- * @return created site entry
- * @since 2.0
- */
- public ISiteEntry createSiteEntry(URL url, ISitePolicy policy);
-
- /**
- * Create a site policy. The policy determines the way the site
- * plug-in are processed at startpu
- *
- * @param type policy type
- * @param list an array of site-relative paths representing the
- * inclusion/ exclusion list
- * @return created site policy entry
- * @since 2.0
- */
- public ISitePolicy createSitePolicy(int type, String[] list);
-
- /**
- * Create a feature entry
- * @param id feature identifier. Must not be <code>null</code>.
- * @param version feature version (as String). Can be <code>null</code>.
- * @param pluginVersion version of the feature plugin (as String). Can be
- * <code>null</code>.
- * @param primary <code>true</code> if the feature is defined as a primary
- * feature, otherwise <code>false</code>.
- * @param application identifier of the application to run when
- * this feature is the primary feature. Can be <code>null</code>.
- * If specified, the identifier must represent a valid extension
- * registered in the <code>org.eclipse.core.runtime.applications</code>
- * extension point.
- * @param an array of URLs to feature root directories.
- * These are URLs to install locations for the feature plugin
- * and its fragments. Can be <code>null</code>.
- * @return create feature entry
- * @since 2.0
- */
- public IFeatureEntry createFeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root);
-
- /**
- * Create a feature entry
- * @param id feature identifier. Must not be <code>null</code>.
- * @param version feature version (as String). Can be <code>null</code>.
- * @param pluginIdentifier identifier of the feature plugin (as String). Can
- * be <code>null</code>.
- * @param pluginVersion version of the feature plugin (as String). Can be
- * <code>null</code>.
- * @param primary <code>true</code> if the feature is defined as a primary
- * feature, otherwise <code>false</code>.
- * @param application identifier of the application to run when
- * this feature is the primary feature. Can be <code>null</code>.
- * If specified, the identifier must represent a valid extension
- * registered in the <code>org.eclipse.core.runtime.applications</code>
- * extension point.
- * @param an array of URLs to feature root directories.
- * These are URLs to install locations for the feature plugin
- * and its fragments. Can be <code>null</code>.
- * @return create feature entry
- * @since 2.1
- */
- public IFeatureEntry createFeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root);
-
- /**
- * Configures the specified site entry. If a site entry with the
- * same site URL is already configured, the entry is <b>not</b> replaced.
- *
- * @param entry site entry
- * @since 2.0
- */
- public void configureSite(ISiteEntry entry);
-
- /**
- * Configures the specified site entry. If a site entry with the
- * same site URL is already configured, the replacement behavior for
- * the entry can be specified.
- *
- * @param entry site entry
- * @param flag indicating whether an existing configured entry with
- * the same URL should be replaced (<code>true</code>) or not (<code>false</code>).
- * @since 2.0
- */
- public void configureSite(ISiteEntry entry, boolean replace);
-
- /**
- * Unconfigures the specified entry. Does not do anything if the entry
- * is not configured.
- *
- * @param entry site entry
- * @since 2.0
- */
- public void unconfigureSite(ISiteEntry entry);
-
- /**
- * Returns configured site entries
- *
- * @return array of site entries. Returns an empty array if no sites are
- * configured
- * @since 2.0
- */
- public ISiteEntry[] getConfiguredSites();
-
- /**
- * Returns a site entry matching the specified URL
- *
- * @param url site url
- * @return matching site entry, or <code>null</code> if no match found
- * @since 2.0
- */
- public ISiteEntry findConfiguredSite(URL url);
-
- /**
- * Configures the feature entry.
- * If another feature entry with the same feature identifier
- * already exists, it is replaced.
- * @param entry feature entry
- * @since 2.0
- */
- public void configureFeatureEntry(IFeatureEntry entry);
-
- /**
- * Unconfigures the specified feature entry if it exists.
- * @param entry feature entry
- * @since 2.0
- */
- public void unconfigureFeatureEntry(IFeatureEntry entry);
-
- /**
- * Returns a list of configured feature entries.
- * @return array or entries, or an empty array if no entries
- * are configured
- * @since 2.0
- */
- public IFeatureEntry[] getConfiguredFeatureEntries();
-
- /**
- * Locates the specified feature entry.
- * @param id feature identifier
- * @return ferature entry, or <code>null</code>.
- * @since 2.0
- */
- public IFeatureEntry findConfiguredFeatureEntry(String id);
-
- /**
- * Returns the URL location of the configuration information
- *
- * @return configuration location URL, or <code>null</code> if the
- * configuration location could not be determined.
- * @since 2.0
- */
- public URL getConfigurationLocation();
-
- /**
- * Returns a stamp reflecting the current state of the configuration. If called repeatedly,
- * returns the same value as long as no changes were made to the configuration (changes to
- * sites, features or plugins).
- *
- * @return configuration change stamp
- * @since 2.0
- */
- public long getChangeStamp();
-
- /**
- * Returns a stamp reflecting the current state of the features in the configuration.
- * If called repeatedly, returns the same value as long as no changes were made to
- * features in the configuration.
- *
- * @return configuration features change stamp
- * @since 2.0
- */
- public long getFeaturesChangeStamp();
-
- /**
- * Returns a stamp reflecting the current state of the plug-ins in the configuration.
- * If called repeatedly, returns the same value as long as no changes were made to
- * plug-ins in the configuration.
- *
- * @return configuration plug-ins change stamp
- * @since 2.0
- */
- public long getPluginsChangeStamp();
-
-
-
- /**
- * Returns the identifier of the configured primary feature. A primary feature
- * is used to specify product customization information for a running instance
- * of Eclipse.
- *
- * @return primary feature identifier, or <code>null</code> if none configured
- * @since 2.0
- */
- public String getPrimaryFeatureIdentifier();
-
- /**
- * Computes the plug-in path for this configuration. The result includes all plug-ins
- * visible on each of the configured sites based on each site policy.
- *
- * @return an array of plug-in path elements (full URL entries), or an empty array.
- * @since 2.0
- */
- public URL[] getPluginPath();
-
- /**
- * Returns an array of bootstrap plugin identifiers whose
- * location needs to be explicitly identified in the configuration.
- *
- * @return an array of identifiers, or empty array
- * otherwise
- * @since 2.0
- */
- public String[] getBootstrapPluginIdentifiers();
-
- /**
- * Sets the location of a bootstrap plugin.
- *
- * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
- * @param id plugin identifier. Must match one of the entries returned
- * by getBootstrapPluginIdentifiers()
- * @param location
- * @since 2.0
- */
- public void setBootstrapPluginLocation(String id, URL location);
-
- /**
- * Returns an indication whether the configuration can be updated.
- *
- * @return <code>true</code> if configuration can be updated, <code>false</code>
- * otherwise
- * @since 2.0
- */
- public boolean isUpdateable();
-
- /**
- * Returns an indication whether the configuration is transient. A transient
- * configuration typically represents a scenario where the configuration
- * was computed for a single instantiation of the platform and is not
- * guaranteed to be valid on subsequent instantiations.
- *
- * @return <code>true</code> if configuration is transient, <code>false</code>
- * otherwise
- * @since 2.0
- */
- public boolean isTransient();
-
- /**
- * Indicates whether the configuration is transient or not. A transient
- * configuration typically represents a scenario where the configuration
- * was computed for a single instantiation of the platform and is not
- * guaranteed to be valid on subsequent instantiations. This method has
- * no effect if called on the current platform configuration.
- *
- * @see BootLoader#getCurrentPlatformConfiguration()
- * @param value <code>true</code> if configuration is transient, <code>false</code>
- * otherwise
- * @since 2.0
- */
- public void isTransient(boolean value);
-
- /**
- * Called to refresh the configuration information. In particular,
- * causes change stamps to be recomputed based on the current
- * configuration state, and updates the lists of available plug-ins.
- * @since 2.0
- */
- public void refresh();
-
- /**
- * Called to save the configuration information
- * @since 2.0
- */
- public void save() throws IOException;
-
- /**
- * Called to save the configuration information in the
- * specified location
- *
- * @param url save location.
- * @since 2.0
- */
- public void save(URL url) throws IOException;
-
-}
-
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
deleted file mode 100644
index 9c912d1..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/IPlatformRunnable.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.boot;
-
-/**
- * Bootstrap type for the platform. Platform runnables represent executable
- * entry points into plug-ins. Runnables can be configured into the Platform's
- * <code>org.eclipse.core.runtime.applications</code> extension-point
- * or be made available through code or extensions on other plug-in's extension-points.
- *
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IPlatformRunnable {
-
-/**
- * Exit object indicating normal termination
- */
-public static final Integer EXIT_OK = new Integer(0);
-
-/**
- * Exit object requesting platform restart
- */
-public static final Integer EXIT_RESTART = new Integer(23);
-
-/**
- * Runs this runnable with the given args and returns a result.
- * The content of the args is unchecked and should conform to the expectations of
- * the runnable being invoked. Typically this is a <code>String<code> array.
- *
- * @exception Exception if there is a problem running this runnable.
- */
-public Object run(Object args) throws Exception;
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html b/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
deleted file mode 100644
index d87fdf3..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/boot/package.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="Author" content="IBM">
- <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
- <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides basic support for launching the Eclipse Platform.
-<h2>
-Package Specification</h2>
-The Eclipse Platform makes heavy use of Java class loaders for loading
-plug-ins. Even the Platform Core Runtime itself, including the <tt>Platform</tt>
-class, needs to be loaded by a special class loader. The upshot is that
-a client program (such as a Java main program, a servlet) cannot directly
-reference even the <tt>Platform</tt> class. Instead, a client must use
-a boot loader (provided here) for initializing the platform, invoking functionality
-defined in plug-ins, and shutting down the platform when done.
-<br>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java
deleted file mode 100644
index 835f6b5..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/BundleStats.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.*;
-
-/**
- * BundleStats is used to represent information about loaded bundle. A
- * bundlestats instance represents only one bundle.
- */
-
-public class BundleStats {
- private String pluginId; // the plugin loading this bundle
- private String fileName; // the filename of the bundle
- private int keyCount = 0; // number of keys in the bundle
- private int keySize = 0; // size of the keys in the bundle
- private int valueSize = 0; // size of the values in the bundle
- private long hashSize = 0; // size of the hashtable
- private long fileSize = 0;
-
- private static int sizeOf(String value) {
- return 44 + (2 * value.length());
- }
-
- private static int sizeOf(Properties value) {
- return (int)Math.round(44 + (16 + (value.size() * 1.25 * 4)) + (24 * value.size()));
- }
-
- public BundleStats(String pluginId, String fileName, InputStream input) {
- this.pluginId = pluginId;
- this.fileName = fileName;
- initialize(input);
- }
-
- public BundleStats(String pluginId, String fileName, ResourceBundle bundle) {
- this.pluginId = pluginId;
- this.fileName = fileName;
- initialize(bundle);
- }
-
- /**
- * Compute the size of bundle
- */
- private void initialize(ResourceBundle bundle) {
- for (Enumeration enum = bundle.getKeys(); enum.hasMoreElements();) {
- String key = (String) enum.nextElement();
- keySize += sizeOf(key);
- valueSize += sizeOf(bundle.getString(key));
- keyCount++;
- }
- }
-
- /**
- * Compute the size of stream which represents a property file
- */
- private void initialize(InputStream stream) {
-
- Properties props = new Properties();
- try {
- try {
- fileSize = stream.available();
- props.load(stream);
- for (Iterator iter = props.keySet().iterator(); iter.hasNext();) {
- String key = (String) iter.next();
- keySize += sizeOf(key);
- valueSize += sizeOf(props.getProperty(key));
- keyCount++;
- }
- hashSize = sizeOf(props);
- } finally {
- stream.close();
- }
- } catch (IOException e) {
- // ignore exceptions as they will be handled when the stream
- // is loaded for real. See callers.
- }
- }
-
- public long getHashSize() {
- return hashSize;
- }
-
- public int getKeyCount() {
- return keyCount;
- }
-
- public String getPluginId() {
- return pluginId;
- }
-
- public int getKeySize() {
- return keySize;
- }
-
- public int getValueSize() {
- return valueSize;
- }
-
- public long getTotalSize() {
- return keySize + valueSize + hashSize;
- }
-
- public String getFileName() {
- return fileName;
- }
-
- public long getFileSize() {
- return fileSize;
- }
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java
deleted file mode 100644
index e9322ca..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassStats.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.util.ArrayList;
-
-/**
- * Maintain statistics about a loaded class.
- */
-public class ClassStats {
- private String className; // fully qualified name of this class
- private ClassloaderStats classloader; // the classloader that loaded this class
- private int loadOrder = -1;
-
- private long timestamp; // time at which this class was loaded
- private long timeLoading; // time to load the class
- private long timeLoadingOthers = 0; // time spent loading classes which has been triggered by this class
-
- // parentage of classes loaded
- private ClassStats loadedBy = null; // a reference to the class that loaded this class
- private ArrayList loaded = new ArrayList(2); // a reference to the classes that this class loaded
-
- private boolean duringStartup; // indicate if the class was loaded during platform startup
-
- //information to retrieve the stacktrace from the file
- private long traceStart = -1;
- private long traceEnd = -1;
-
- static private boolean booting = true; // whether or not the platform is starting up.
-
- public static void setBooting(boolean value) {
- booting = value;
- }
-
- public ClassStats(String name, ClassloaderStats classloader) {
- className = name;
- timestamp = System.currentTimeMillis();
- duringStartup = booting;
- this.classloader = classloader;
- }
-
- public void setLoadOrder(int order) {
- loadOrder = order;
- }
-
- public void loadingDone() {
- timeLoading = System.currentTimeMillis() - timestamp;
- }
-
- public long getTimeLoading() {
- return timeLoading;
- }
-
- public long getLocalTimeLoading() {
- return timeLoading - timeLoadingOthers;
- }
-
- public void addTimeLoadingOthers(long time) {
- timeLoadingOthers = timeLoadingOthers + time;
- }
-
- public long getTraceStart() {
- return traceStart;
- }
-
- public long getTraceEnd() {
- return traceEnd;
- }
-
- public void setTraceStart(long position) {
- traceStart = position;
- }
-
- public void setTraceEnd(long position) {
- traceEnd = position;
- }
-
- public void loaded(ClassStats child) {
- loaded.add(child);
- }
-
- public void setLoadedBy(ClassStats parent) {
- loadedBy = parent;
- }
-
- public ClassStats getLoadedBy() {
- return loadedBy;
- }
-
- public ArrayList getLoadedClasses() {
- return loaded;
- }
-
- public String getClassName() {
- return className;
- }
-
- public boolean isStartupClass() {
- return duringStartup;
- }
-
- public ClassloaderStats getClassloader() {
- return classloader;
- }
-
- public int getLoadOrder() {
- return loadOrder;
- }
-
- public long getTimestamp() {
- return timestamp;
- }
-
- public void toBaseClass() {
- duringStartup = true;
- loadOrder = -2;
- }
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java
deleted file mode 100644
index bbf8bb0..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ClassloaderStats.java
+++ /dev/null
@@ -1,231 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-
-/**
- * Contains information about the classes and the bundles loaded by a given classloader.
- * Typically there is one classloader per plugin so at levels above boot, this equates
- * to information about classes and bundles in a plugin.
- */
-public class ClassloaderStats {
- private String id;
- private long loadingTime; // time spent loading classes
- private int failureCount = 0; // number of classes requested but that we fail to provide
- private Map classes = new HashMap(20); // classes loaded by the plugin (key: class name, value: ClassStats)
- private ArrayList bundles = new ArrayList(2); // bundles loaded
-
- private boolean keepTraces = false; // indicate whether or not the traces of classes loaded are kept
- // filters to indicate which classes we want to keep the traces
- private static ArrayList packageFilters = new ArrayList(4); // filters on a package basis
- private static Set pluginFilters = new HashSet(5); // filters on a plugin basis
-
- private static Stack classStack = new Stack(); // represents the classes that are currently being loaded
- private static Map loaders = new HashMap(20); // a dictionary of the classloaderStats (key: pluginId, value: ClassloaderStats)
- public static File traceFile;
-
- static {
- if (DelegatingURLClassLoader.TRACE_CLASSES || DelegatingURLClassLoader.TRACE_PLUGINS)
- initializeTraceOptions();
- }
-
- private static void initializeTraceOptions() {
- // create the trace file
- String filename = DelegatingURLClassLoader.TRACE_FILENAME;
- traceFile = new File(filename);
- traceFile.delete();
-
- //load the filters
- if (!DelegatingURLClassLoader.TRACE_CLASSES)
- return;
- filename = DelegatingURLClassLoader.TRACE_FILTERS;
- if (filename.length() == 0)
- return;
- try {
- File filterFile = new File(filename);
- if (!filterFile.isAbsolute())
- filterFile = new File(InternalBootLoader.getBootDir() + filename);
- System.out.print("Runtime tracing elements defined in: " + filterFile.getAbsolutePath() + "..."); //$NON-NLS-1$ //$NON-NLS-2$
- InputStream input = new FileInputStream(filterFile);
- System.out.println(" Loaded."); //$NON-NLS-1$
- Properties filters = new Properties() {
- public Object put(Object key, Object value) {
- addFilters((String) key, (String) value);
- return null;
- }
- };
- try {
- filters.load(input);
- } finally {
- input.close();
- }
- } catch (IOException e) {
- System.out.println(" No trace filters loaded."); //$NON-NLS-1$
- }
- }
-
- private static void addFilters(String key, String value) {
- String[] filters = DelegatingURLClassLoader.getArrayFromList(value);
- if ("plugins".equals(key)) //$NON-NLS-1$
- pluginFilters.addAll(Arrays.asList(filters));
- if ("packages".equals(key)) //$NON-NLS-1$
- packageFilters.addAll(Arrays.asList(filters));
- }
-
- public static void startLoadingClass(String id, String className) {
- // must be called from a synchronized location to protect against concurrent updates
- findLoader(id).startLoadClass(className);
- }
-
- // get and create if does not exist
- private static ClassloaderStats findLoader(String id) {
- ClassloaderStats result = (ClassloaderStats) loaders.get(id);
- if (result == null) {
- result = new ClassloaderStats(id);
- loaders.put(id, result);
- }
- return result;
- }
-
- public static Stack getClassStack() {
- return classStack;
- }
-
- public static ClassloaderStats[] getLoaders() {
- return (ClassloaderStats[]) loaders.values().toArray(new ClassloaderStats[loaders.size()]);
- }
-
- public static void endLoadingClass(String id, String className, boolean success) {
- // must be called from a synchronized location to protect against concurrent updates
- findLoader(id).endLoadClass(className, success);
- }
-
- public static void loadedBundle(String id, BundleStats info) {
- findLoader(id).loadedBundle(info);
- }
-
- public static ClassloaderStats getLoader(String id) {
- return (ClassloaderStats) loaders.get(id);
- }
-
- public ClassloaderStats(String id) {
- this.id = id;
- keepTraces = pluginFilters.contains(id);
- }
-
- public void addBaseClasses(String[] baseClasses) {
- if (!id.equals(BootLoader.PI_BOOT))
- return;
- for (int i = 0; i < baseClasses.length; i++) {
- String name = baseClasses[i];
- if (classes.get(name) == null) {
- ClassStats value = new ClassStats(name, this);
- value.toBaseClass();
- classes.put(name, value);
- }
- }
- }
-
- private void loadedBundle(BundleStats bundle) {
- bundles.add(bundle);
- }
-
- public ArrayList getBundles() {
- return bundles;
- }
-
- private void startLoadClass(String name) {
- classStack.push(findClass(name));
- }
-
- // internal method that return the existing classStats or creates one
- private ClassStats findClass(String name) {
- ClassStats result = (ClassStats) classes.get(name);
- return result == null ? new ClassStats(name, this) : result;
- }
-
- private void endLoadClass(String name, boolean success) {
- ClassStats current = (ClassStats) classStack.pop();
- if (!success) {
- failureCount++;
- return;
- }
- if (current.getLoadOrder() >= 0)
- return;
-
- classes.put(name, current);
- current.setLoadOrder(classes.size());
- current.loadingDone();
- traceLoad(name, current);
-
- // is there something on the load stack. if so, link them together...
- if (classStack.size() != 0) {
- // get the time spent loading cli and subtract its load time from the class that requires loading
- ClassStats previous = ((ClassStats) classStack.peek());
- previous.addTimeLoadingOthers(current.getTimeLoading());
- current.setLoadedBy(previous);
- previous.loaded(current);
- } else {
- loadingTime = loadingTime + current.getTimeLoading();
- }
- }
-
- private void traceLoad(String name, ClassStats target) {
- // Stack trace code
- if (!keepTraces) {
- boolean found = false;
- for (int i = 0; !found && i < packageFilters.size(); i++)
- if (name.startsWith((String) packageFilters.get(i)))
- found = true;
- if (!found)
- return;
- }
-
- // Write the stack trace. The position in the file are set to the corresponding classStat object
- try {
- target.setTraceStart(traceFile.length());
- PrintWriter output = new PrintWriter(new FileOutputStream(traceFile.getAbsolutePath(), true));
- try {
- output.println("Loading class: " + name); //$NON-NLS-1$
- output.println("Class loading stack:"); //$NON-NLS-1$
- output.println("\t" + name); //$NON-NLS-1$
- for (int i = classStack.size() - 1; i >= 0; i--)
- output.println("\t" + ((ClassStats) classStack.get(i)).getClassName()); //$NON-NLS-1$
- output.println("Stack trace:"); //$NON-NLS-1$
- new Throwable().printStackTrace(output);
- } finally {
- output.close();
- }
- target.setTraceEnd(traceFile.length());
- } catch (FileNotFoundException e) {
- e.printStackTrace();
- }
- }
-
- public int getClassLoadCount() {
- return classes.size();
- }
-
- public long getClassLoadTime() {
- return loadingTime;
- }
-
- public ClassStats[] getClasses() {
- return (ClassStats[]) classes.values().toArray(new ClassStats[classes.size()]);
- }
-
- public String getId() {
- return id;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
deleted file mode 100644
index 3adb83a..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/DelegatingURLClassLoader.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
deleted file mode 100644
index 1253afe..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/InternalBootLoader.java
+++ /dev/null
@@ -1,1047 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformRunnable;
-
-/**
- * Special boot loader class for the Eclipse Platform. This class cannot
- * be instantiated; all functionality is provided by static methods.
- * <p>
- * The Eclipse Platform makes heavy use of Java class loaders for
- * loading plug-ins. Even the Platform Core Runtime itself, including
- * the <code>Platform</code> class, needs to be loaded by a special
- * class loader. The upshot is that a client program (such as a Java main
- * program, a servlet) cannot directly reference even the
- * <code>Platform</code> class. Instead, a client must use this
- * loader class for initializing the platform, invoking functionality
- * defined in plug-ins, and shutting down the platform when done.
- * </p>
- *
- * @see org.eclipse.core.runtime.Platform
- */
-public final class InternalBootLoader {
- private static boolean running = false;
- private static boolean starting = false;
- private static String[] commandLine;
- private static ClassLoader loader = null;
- private static String baseLocation = null; // -data argument (workspace location)
- private static String installLocation = null; // -install argument (product install location)
- private static String applicationR10 = null; // R1.0 compatibility
- private static URL installURL = null;
- private static boolean debugRequested = false;
- private static String devClassPath = null;
- private static String debugOptionsFilename = null;
- private static Properties options = null;
- private static boolean inDevelopmentMode = false;
- private static PlatformConfiguration currentPlatformConfiguration = null;
-
- // state for tracking the Platform context (e.g., the OS, Window system, locale, architecture, ...)
- private static String nl = null;
- private static String ws = null;
- private static String os = null;
- private static String arch = null;
-
- private static final String PLATFORM_ENTRYPOINT = "org.eclipse.core.internal.runtime.InternalPlatform"; //$NON-NLS-1$
- private static final String BOOTNAME = "org.eclipse.core.boot"; //$NON-NLS-1$
- /*package*/ static final String RUNTIMENAME = "org.eclipse.core.runtime"; //$NON-NLS-1$
- private static final String PLUGINSDIR = "plugins/"; //$NON-NLS-1$
- private static final String LIBRARY = "library"; //$NON-NLS-1$
- private static final String EXPORT = "export"; //$NON-NLS-1$
- private static final String EXPORT_PUBLIC = "public"; //$NON-NLS-1$
- private static final String EXPORT_PROTECTED = "protected"; //$NON-NLS-1$
- private static final String META_AREA = ".metadata"; //$NON-NLS-1$
- private static final String WORKSPACE = "workspace"; //$NON-NLS-1$
- private static final String PLUGIN_PATH = ".plugin-path"; //$NON-NLS-1$
- private static String BOOTDIR;
- private static final String RUNTIMEDIR = PLUGINSDIR + RUNTIMENAME + "/"; //$NON-NLS-1$
- private static final String OPTIONS = ".options"; //$NON-NLS-1$
- // While we recognize the SunOS operating system, we change
- // this internally to be Solaris.
- private static final String INTERNAL_OS_SUNOS = "SunOS"; //$NON-NLS-1$
- // While we recognize the i386 architecture, we change
- // this internally to be x86.
- private static final String INTERNAL_ARCH_I386 = "i386"; //$NON-NLS-1$
-
- private static boolean useClassLoaderProperties = false;
- private static String classLoaderPropertiesFilename = null;
-
- /**
- * Execution options for the Runtime plug-in. They are defined here because
- * we need to load them into the PlatformClassLoader which is created by the
- * boot system. Users should see these options as Runtime options since there
- * boot does not figure into normal Platform operation.
- */
- private static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
- private static final String OPTION_STARTTIME = PI_RUNTIME + "/starttime"; //$NON-NLS-1$
- private static final String OPTION_LOADER_DEBUG = PI_RUNTIME + "/loader/debug"; //$NON-NLS-1$
- private static final String OPTION_LOADER_SHOW_CREATE = PI_RUNTIME + "/loader/debug/create"; //$NON-NLS-1$
- private static final String OPTION_LOADER_PROPERTIES = PI_RUNTIME + "/loader/debug/properties"; //$NON-NLS-1$
- private static final String OPTION_LOADER_PACKAGE_PREFIXES = PI_RUNTIME + "/loader/debug/prefixes"; //$NON-NLS-1$
- private static final String OPTION_LOADER_PACKAGE_PREFIXES_SUCCESS = OPTION_LOADER_PACKAGE_PREFIXES + "/success"; //$NON-NLS-1$
- private static final String OPTION_LOADER_PACKAGE_PREFIXES_FAILURE = OPTION_LOADER_PACKAGE_PREFIXES + "/failure"; //$NON-NLS-1$
- private static final String OPTION_LOADER_SHOW_ACTIVATE = PI_RUNTIME + "/loader/debug/activateplugin"; //$NON-NLS-1$
- private static final String OPTION_LOADER_SHOW_ACTIONS = PI_RUNTIME + "/loader/debug/actions"; //$NON-NLS-1$
- private static final String OPTION_LOADER_SHOW_SUCCESS = PI_RUNTIME + "/loader/debug/success"; //$NON-NLS-1$
- private static final String OPTION_LOADER_SHOW_FAILURE = PI_RUNTIME + "/loader/debug/failure"; //$NON-NLS-1$
- private static final String OPTION_LOADER_FILTER_CLASS = PI_RUNTIME + "/loader/debug/filter/class"; //$NON-NLS-1$
- private static final String OPTION_LOADER_FILTER_LOADER = PI_RUNTIME + "/loader/debug/filter/loader"; //$NON-NLS-1$
- private static final String OPTION_LOADER_FILTER_RESOURCE = PI_RUNTIME + "/loader/debug/filter/resource"; //$NON-NLS-1$
- private static final String OPTION_LOADER_FILTER_NATIVE = PI_RUNTIME + "/loader/debug/filter/native"; //$NON-NLS-1$
- private static final String OPTION_URL_DEBUG = PI_RUNTIME+ "/url/debug"; //$NON-NLS-1$
- private static final String OPTION_URL_DEBUG_CONNECT = PI_RUNTIME+ "/url/debug/connect"; //$NON-NLS-1$
- private static final String OPTION_URL_DEBUG_CACHE_LOOKUP = PI_RUNTIME+ "/url/debug/cachelookup"; //$NON-NLS-1$
- private static final String OPTION_URL_DEBUG_CACHE_COPY = PI_RUNTIME+ "/url/debug/cachecopy"; //$NON-NLS-1$
- private static final String OPTION_UPDATE_DEBUG = PI_RUNTIME+ "/update/debug"; //$NON-NLS-1$
- private static final String OPTION_CONFIGURATION_DEBUG = PI_RUNTIME+ "/config/debug"; //$NON-NLS-1$
-
- // option names for spy
- private static final String OPTION_MONITOR_PLUGINS = BootLoader.PI_BOOT+"/monitor/plugins"; //$NON-NLS-1$
- private static final String OPTION_MONITOR_CLASSES = BootLoader.PI_BOOT+"/monitor/classes"; //$NON-NLS-1$
- private static final String OPTION_MONITOR_BUNDLES = BootLoader.PI_BOOT+"/monitor/bundles"; //$NON-NLS-1$
-
- private static final String OPTION_TRACE_CLASSES = BootLoader.PI_BOOT + "/trace/classLoading"; //$NON-NLS-1$
- private static final String OPTION_TRACE_FILENAME = BootLoader.PI_BOOT+"/trace/filename"; //$NON-NLS-1$
- private static final String OPTION_TRACE_FILTERS = BootLoader.PI_BOOT+"/trace/filters"; //$NON-NLS-1$
- private static final String OPTION_TRACE_PLUGINS = BootLoader.PI_BOOT+"/trace/pluginActivation"; //$NON-NLS-1$
-
- // command line arguments
- private static final String DEBUG = "-debug"; //$NON-NLS-1$
- private static final String DATA = "-data"; //$NON-NLS-1$
- private static final String INSTALL = "-install"; //$NON-NLS-1$
- private static final String DEV = "-dev"; //$NON-NLS-1$
- private static final String WS = "-ws"; //$NON-NLS-1$
- private static final String OS = "-os"; //$NON-NLS-1$
- private static final String ARCH = "-arch"; //$NON-NLS-1$
- private static final String NL = "-nl"; //$NON-NLS-1$
- private static final String CLASSLOADER_PROPERTIES = "-classloaderProperties"; //$NON-NLS-1$
-
-/**
- * Private constructor to block instance creation.
- */
-private InternalBootLoader() {
-}
-private static void assertNotRunning() {
- if (running)
- throw new RuntimeException(Policy.bind("platform.mustNotBeRunning")); //$NON-NLS-1$
-}
-private static void assertRunning() {
- if (!running)
- throw new RuntimeException(Policy.bind("platform.notRunning")); //$NON-NLS-1$
-}
-/**
- * Configure the class loader for the runtime plug-in.
- */
-private static PlatformClassLoader configurePlatformLoader() {
- Object[] loadPath = getPlatformClassLoaderPath();
- URL base = null;
- try {
- base = new URL(PlatformURLBaseConnection.PLATFORM_URL_STRING+RUNTIMEDIR);
- } catch (MalformedURLException e) {
- //proceed without runtime plugin in platform loader -- is this possible?
- }
- return new PlatformClassLoader((URL[]) loadPath[0], (URLContentFilter[]) loadPath[1], InternalBootLoader.class.getClassLoader(), base);
-}
-/**
- * @see BootLoader
- */
-public static boolean containsSavedPlatform(String location) {
- return new File(location + "/" + META_AREA).exists(); //$NON-NLS-1$
-}
-/**
- * convert a list of comma-separated tokens into an array
- */
-private static String[] getArrayFromList(String prop) {
- if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
- return new String[0];
- Vector list = new Vector();
- StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
- while (tokens.hasMoreTokens()) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- list.addElement(token);
- }
- return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[0]);
-}
-private static boolean getBooleanOption(String option, boolean defaultValue) {
- String optionValue = options.getProperty(option);
- return (optionValue == null) ? defaultValue : optionValue.equalsIgnoreCase("true"); //$NON-NLS-1$
-}
-/**
- * @see BootLoader#getCommandLineArgs
- */
-public static String[] getCommandLineArgs() {
- return commandLine;
-}
-/**
- * @see BootLoader
- */
-public static PlatformConfiguration getCurrentPlatformConfiguration() {
- return PlatformConfiguration.getCurrent();
-}
-/**
- * @see BootLoader
- */
-public static URL getInstallURL() {
- if (installURL != null)
- return installURL;
-
- // See if install location was explicitly specified
- // Note: in the regular launch sequence, if the argument was not specified
- // on the launch, Main.java is actually defaulting this relative to
- // itself. The resulting behavior is consistent with the default
- // behavior in 1.0 (with all program files being co-located in the
- // eclipse/ install directory). However, the new behavior takes into
- // account an update scenario where we may in fact be executing
- // InternalBootLoader that was loaded from some other location.
- if (installLocation != null && !installLocation.trim().equals("")) { //$NON-NLS-1$
- try {
- installURL = new URL(installLocation);
- if (debugRequested)
- System.out.println("Install URL:\n "+installURL.toExternalForm()); //$NON-NLS-1$
- return installURL;
- } catch(MalformedURLException e) {
- //fall through to code below
- }
- }
-
- // Install location was not specified, or we failed to create a URL.
- // Get the location of this class and compute the install location.
- // this involves striping off last element (jar or directory)
- URL url = InternalBootLoader.class.getProtectionDomain().getCodeSource().getLocation();
- String path = decode(url.getFile());
- if (path.endsWith("/")) //$NON-NLS-1$
- path = path.substring(0, path.length() - 1);
- int ix = path.lastIndexOf('/');
- //strip off boot jar/bin, boot plugin and plugins dir. Be sure to leave a trailing /
- path = path.substring(0, ix);
- ix = path.lastIndexOf('/');
- path = path.substring(0, ix);
- ix = path.lastIndexOf('/');
- path = path.substring(0, ix + 1);
-
- try {
- if (url.getProtocol().equals("jar")) //$NON-NLS-1$
- installURL = new URL(path);
- else
- installURL = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
- if (debugRequested)
- System.out.println("Install URL: "+installURL.toExternalForm()); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- throw new RuntimeException(Policy.bind("error.fatal", e.getMessage())); //$NON-NLS-1$
- }
- return installURL;
-}
-/**
- * Initialize the BOOTDIR variable. This code is copied from the getInstallURL() code and
- * should be merged.
- */
-static void initializeBootDir() {
- URL url = InternalBootLoader.class.getProtectionDomain().getCodeSource().getLocation();
- BOOTDIR = decode(url.getFile());
- if (BOOTDIR.endsWith("/")) //$NON-NLS-1$
- BOOTDIR = BOOTDIR.substring(0, BOOTDIR.length() - 1);
- int index = BOOTDIR.lastIndexOf('/');
- //strip off boot jar/bin, boot plugin and plugins dir. Be sure to leave a trailing /
- BOOTDIR = BOOTDIR.substring(0, index+1);
-}
-/**
- * Returns a string representation of the given URL String. This converts
- * escaped sequences (%..) in the URL into the appropriate characters.
- * NOTE: due to class visibility there is a copy of this method
- * in Main (the launcher)
- */
-public static String decode(String urlString) {
- //try to use Java 1.4 method if available
- try {
- Class clazz = URLDecoder.class;
- Method method = clazz.getDeclaredMethod("decode", new Class[] {String.class, String.class});//$NON-NLS-1$
- //first encode '+' characters, because URLDecoder incorrectly converts
- //them to spaces on certain class library implementations.
- if (urlString.indexOf('+') >= 0) {
- int len = urlString.length();
- StringBuffer buf = new StringBuffer(len);
- for (int i = 0; i < len; i++) {
- char c = urlString.charAt(i);
- if (c == '+')
- buf.append("%2B");//$NON-NLS-1$
- else
- buf.append(c);
- }
- urlString = buf.toString();
- }
- Object result = method.invoke(null, new Object[] {urlString, "UTF-8"});//$NON-NLS-1$
- if (result != null)
- return (String)result;
- } catch (Exception e) {
- //JDK 1.4 method not found -- fall through and decode by hand
- }
- //decode URL by hand
- boolean replaced = false;
- byte[] encodedBytes = urlString.getBytes();
- int encodedLength = encodedBytes.length;
- byte[] decodedBytes = new byte[encodedLength];
- int decodedLength = 0;
- for (int i = 0; i < encodedLength; i++) {
- byte b = encodedBytes[i];
- if (b == '%') {
- byte enc1 = encodedBytes[++i];
- byte enc2 = encodedBytes[++i];
- b = (byte) ((hexToByte(enc1) << 4) + hexToByte(enc2));
- replaced = true;
- }
- decodedBytes[decodedLength++] = b;
- }
- if (!replaced)
- return urlString;
- try {
- return new String(decodedBytes, 0, decodedLength, "UTF-8");//$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- //use default encoding
- return new String(decodedBytes, 0, decodedLength);
- }
-}
-private static String[] getListOption(String option) {
- String filter = options.getProperty(option);
- if (filter == null)
- return new String[0];
- List result = new ArrayList(5);
- StringTokenizer tokenizer = new StringTokenizer(filter, " ,\t\n\r\f"); //$NON-NLS-1$
- while (tokenizer.hasMoreTokens())
- result.add(tokenizer.nextToken());
- return (String[]) result.toArray(new String[result.size()]);
-}
-/**
- * @see BootLoader
- */
-public static String getOSArch() {
- return arch;
-}
-/**
- * @see BootLoader
- */
-public static String getNL() {
- return nl;
-}
-/**
- * @see BootLoader
- */
-public static String getOS() {
- return os;
-}
-/**
- * @see BootLoader
- */
-public static PlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
- return new PlatformConfiguration(url);
-}
-
-private static Object[] getPlatformClassLoaderPath() {
-
- PlatformConfiguration config = getCurrentPlatformConfiguration();
- PlatformConfiguration.BootDescriptor bd = config.getPluginBootDescriptor(RUNTIMENAME);
- String execBase = bd.getPluginDirectoryURL().toExternalForm();
- if (execBase == null)
- execBase = getInstallURL() + RUNTIMEDIR;
-
- // build a list alternating lib spec and export spec
- ArrayList libSpecs = new ArrayList(5);
- String[] exportAll = new String[] { "*" }; //$NON-NLS-1$
-
- // add in any development mode class paths and the export all filter
- if (DelegatingURLClassLoader.devClassPath != null) {
- String[] specs = getArrayFromList(DelegatingURLClassLoader.devClassPath);
- // convert dev class path into url strings
- for (int j = 0; j < specs.length; j++) {
- libSpecs.add(execBase + specs[j] + "/"); //$NON-NLS-1$
- libSpecs.add(exportAll);
- }
- }
- ArrayList list = new ArrayList(5);
- String[] libs = bd.getLibraries();
- for (int i=0; i<libs.length; i++) {
- list.add(libs[i]);
- list.add(exportAll);
- }
-
- // add in the class path entries spec'd in the config.
- for (Iterator i = list.iterator(); i.hasNext();) {
- String library = (String) i.next();
- String[] filters = (String[]) i.next();
-
- // convert plugin.xml library entries to url strings
- String libSpec = execBase + library.replace(File.separatorChar, '/');
- if (!libSpec.endsWith("/")) { //$NON-NLS-1$
- if (libSpec.startsWith(PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR))
- libSpec += PlatformURLHandler.JAR_SEPARATOR;
- else
- libSpec = PlatformURLHandler.JAR + PlatformURLHandler.PROTOCOL_SEPARATOR + libSpec + PlatformURLHandler.JAR_SEPARATOR;
- }
- libSpecs.add(libSpec);
- libSpecs.add(filters);
- }
-
- // create path entries for libraries
- ArrayList urls = new ArrayList(5);
- ArrayList cfs = new ArrayList(5);
- for (Iterator it = libSpecs.iterator(); it.hasNext();) {
- try {
- urls.add(new URL((String) it.next()));
- cfs.add(new URLContentFilter((String[]) it.next()));
- } catch (MalformedURLException e) {
- // skip bad URLs
- }
- }
-
- Object[] result = new Object[2];
- result[0] = urls.toArray(new URL[urls.size()]);
- result[1] = cfs.toArray(new URLContentFilter[cfs.size()]);
- return result;
-}
-/**
- * @see BootLoader
- */
-/*
- * This method is retained for R1.0 compatibility because it is defined as API.
- * It's function matches the API description (returns <code>null</code> when
- * argument URL is <code>null</code> or cannot be read).
- */
-public static URL[] getPluginPath(URL pluginPathLocation/*R1.0 compatibility*/) {
- InputStream input = null;
- // first try and see if the given plugin path location exists.
- if (pluginPathLocation == null)
- return null;
- try {
- input = pluginPathLocation.openStream();
- } catch (IOException e) {
- //fall through
- }
-
- // if the given path was null or did not exist, look for a plugin path
- // definition in the install location.
- if (input == null)
- try {
- URL url = new URL(PlatformURLBaseConnection.PLATFORM_URL_STRING + PLUGIN_PATH);
- input = url.openStream();
- } catch (MalformedURLException e) {
- //fall through
- } catch (IOException e) {
- //fall through
- }
-
- // nothing was found at the supplied location or in the install location
- if (input == null)
- return null;
- // if we found a plugin path definition somewhere so read it and close the location.
- URL[] result = null;
- try {
- try {
- result = readPluginPath(input);
- } finally {
- input.close();
- }
- } catch (IOException e) {
- //let it return null on failure to read
- }
- return result;
-}
-/**
- * @see BootLoader
- */
-public static IPlatformRunnable getRunnable(String applicationName) throws Exception {
- assertRunning();
- Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
- Method method = platform.getDeclaredMethod("loaderGetRunnable", new Class[] {String.class}); //$NON-NLS-1$
- try {
- return (IPlatformRunnable) method.invoke(platform, new Object[] {applicationName});
- } catch (InvocationTargetException e) {
- if (e.getTargetException() instanceof Error)
- throw (Error) e.getTargetException();
- else
- throw e;
- }
-}
-/**
- * @see BootLoader
- */
-public static IPlatformRunnable getRunnable(String pluginId, String className, Object args) throws Exception {
- assertRunning();
- Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
- Method method = platform.getDeclaredMethod("loaderGetRunnable", new Class[] {String.class, String.class, Object.class}); //$NON-NLS-1$
- try {
- return (IPlatformRunnable) method.invoke(platform, new Object[] {pluginId, className, args});
- } catch (InvocationTargetException e) {
- if (e.getTargetException() instanceof Error)
- throw (Error) e.getTargetException();
- else
- throw e;
- }
-}
-/**
- * @see BootLoader
- */
-public static String getWS() {
- return ws;
-}
-/**
- * Converts an ASCII character representing a hexadecimal
- * value into its integer equivalent.
- */
-private static int hexToByte(byte b) {
- switch (b) {
- case '0':return 0;
- case '1':return 1;
- case '2':return 2;
- case '3':return 3;
- case '4':return 4;
- case '5':return 5;
- case '6':return 6;
- case '7':return 7;
- case '8':return 8;
- case '9':return 9;
- case 'A':
- case 'a':return 10;
- case 'B':
- case 'b':return 11;
- case 'C':
- case 'c':return 12;
- case 'D':
- case 'd':return 13;
- case 'E':
- case 'e':return 14;
- case 'F':
- case 'f':return 15;
- default:
- throw new IllegalArgumentException("Switch error decoding URL"); //$NON-NLS-1$
- }
-}
-/**
- * @see BootLoader
- */
-public static boolean inDebugMode() {
- return debugRequested;
-}
-/**
- * @see BootLoader
- */
-public static boolean inDevelopmentMode() {
- return inDevelopmentMode;
-}
-private static String[] initialize(URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args) throws Exception {
- if (running)
- throw new RuntimeException(Policy.bind("platform.running")); //$NON-NLS-1$
- baseLocation = location;
- String[] appArgs = processCommandLine(args);
- // Do setupSystemContext() ASAP after processCommandLine
- setupSystemContext();
-
- // call before referencing DelegatingURLClassLoader
- initializeBootDir();
-
- // setup the devClassPath if any
- DelegatingURLClassLoader.devClassPath = devClassPath;
-
- // if a platform location was not found in the arguments, compute one.
- if (baseLocation == null) {
- // Default location for the workspace is <user.dir>/workspace/
- baseLocation = System.getProperty("user.dir"); //$NON-NLS-1$
- if (!baseLocation.endsWith(File.separator))
- baseLocation += File.separator;
- baseLocation += WORKSPACE;
- }
- if (debugRequested)
- System.out.println("Workspace location:\n " + baseLocation); //$NON-NLS-1$
-
- // load any debug options
- loadOptions();
-
- // initialize eclipse URL handling
- String metaPath = baseLocation.replace(File.separatorChar, '/');
- if (!metaPath.endsWith("/")) //$NON-NLS-1$
- metaPath += "/"; //$NON-NLS-1$
- metaPath += META_AREA;
- PlatformURLHandlerFactory.startup(metaPath);
- PlatformURLBaseConnection.startup(getInstallURL()); // past this point we can use eclipse:/platform/ URLs
-
- // load platform configuration and consume configuration-related arguments (must call after URL handler initialization)
- appArgs = PlatformConfiguration.startup(appArgs, pluginPathLocation/*R1.0 compatibility*/, applicationR10/*R1.0 compatibility*/, metaPath);
-
- // create and configure platform class loader
- loader = configurePlatformLoader();
-
- return appArgs;
-}
-/**
- * @see BootLoader
- */
-public static boolean isRunning() {
- return running;
-}
-public static boolean isStarting() {
- return starting;
-}
-/**
- * Return a boolean value indicating whether or not the user requested
- * to read the classloader properties file for performance enhancement.
- */
-public static boolean useClassLoaderProperties() {
- return useClassLoaderProperties;
-}
-/**
- * Return the name of the file to be used for the class loader properties.
- */
-static String getClassLoaderPropertiesFilename() {
- return classLoaderPropertiesFilename;
-}
-/**
- * Return the default name for the class loader properties file.
- */
-static String getDefaultClassLoaderPropertiesFilename() {
- return BOOTDIR + "classloader.properties"; //$NON-NLS-1$
-}
-private static void loadOptions() {
- // if no debug option was specified, don't even bother to try.
- // Must ensure that the options slot is null as this is the signal to the
- // platform that debugging is not enabled.
- if (!debugRequested) {
- options = null;
- return;
- }
- options = new Properties();
- URL optionsFile;
- if (debugOptionsFilename == null) {
- // default options location is user.dir (install location may be r/o so
- // is not a good candidate for a trace options that need to be updatable by
- // by the user)
- String userDir = System.getProperty("user.dir").replace(File.separatorChar,'/'); //$NON-NLS-1$
- if (!userDir.endsWith("/")) //$NON-NLS-1$
- userDir += "/"; //$NON-NLS-1$
- debugOptionsFilename = "file:" + userDir + OPTIONS; //$NON-NLS-1$
- }
- try {
- optionsFile = getURL(debugOptionsFilename);
- } catch (MalformedURLException e) {
- System.out.println("Unable to construct URL for options file: " + debugOptionsFilename); //$NON-NLS-1$
- e.printStackTrace(System.out);
- return;
- }
- System.out.println("Debug-Options:\n " + debugOptionsFilename); //$NON-NLS-1$
- try {
- InputStream input = optionsFile.openStream();
- try {
- options.load(input);
- } finally {
- input.close();
- }
- } catch (FileNotFoundException e) {
- // Its not an error to not find the options file
- } catch (IOException e) {
- System.out.println("Could not parse the options file: " + optionsFile); //$NON-NLS-1$
- e.printStackTrace(System.out);
- }
- // trim off all the blanks since properties files don't do that.
- for (Iterator i = options.keySet().iterator(); i.hasNext();) {
- Object key = i.next();
- options.put(key, ((String) options.get(key)).trim());
- }
- InternalBootLoader.setupOptions();
-}
-private static String[] processCommandLine(String[] args) throws Exception {
- int[] configArgs = new int[100];
- configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
- int configArgIndex = 0;
- for (int i = 0; i < args.length; i++) {
- boolean found = false;
- // check for args without parameters (i.e., a flag arg)
-
- // check if debug should be enabled for the entire platform
- // If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
- // simply enable debug. Otherwise, assume that that the following arg is
- // actually the filename of an options file. This will be processed below.
- if (args[i].equalsIgnoreCase(DEBUG) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
- found = true;
- debugRequested = true;
- }
-
- // check to see if we should be using a the classloader package prefix file.
- // If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
- // simply enable the option. Otherwise, assume that that the following arg is
- // actually the filename of the file. This will be processed below.
- if (args[i].equalsIgnoreCase(CLASSLOADER_PROPERTIES) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
- useClassLoaderProperties = true;
- found = true;
- }
-
- // check if development mode should be enabled for the entire platform
- // If this is the last arg or there is a following arg (i.e., arg+1 has a leading -),
- // simply enable development mode. Otherwise, assume that that the following arg is
- // actually some additional development time class path entries. This will be processed below.
- if (args[i].equalsIgnoreCase(DEV) && ((i + 1 == args.length) || ((i + 1 < args.length) && (args[i + 1].startsWith("-"))))) { //$NON-NLS-1$
- inDevelopmentMode = true;
- found = true;
- continue;
- }
-
- if (found) {
- configArgs[configArgIndex++] = i;
- continue;
- }
- // check for args with parameters. If we are at the last argument or if the next one
- // has a '-' as the first character, then we can't have an arg with a parm so continue.
- if (i == args.length - 1 || args[i + 1].startsWith("-")) { //$NON-NLS-1$
- continue;
- }
- String arg = args[++i];
-
- // look for the debug options file location.
- if (args[i - 1].equalsIgnoreCase(DEBUG)) {
- found = true;
- debugRequested = true;
- debugOptionsFilename = arg;
- }
-
- // look for the classloader package prefix file location.
- if (args[i - 1].equalsIgnoreCase(CLASSLOADER_PROPERTIES)) {
- found = true;
- useClassLoaderProperties = true;
- classLoaderPropertiesFilename = arg;
- }
-
- // look for the development mode and class path entries.
- if (args[i - 1].equalsIgnoreCase(DEV)) {
- inDevelopmentMode = true;
- devClassPath = arg;
- found = true;
- continue;
- }
-
- // look for the install location.
- if (args[i - 1].equalsIgnoreCase(INSTALL)) {
- found = true;
- installLocation = arg;
- }
-
- // look for the platform location. Only set it if not already set. This
- // preserves the value set in the startup() parameter. Be sure however
- // to consume the command-line argument.
- if (args[i - 1].equalsIgnoreCase(DATA)) {
- found = true;
- if (baseLocation == null)
- baseLocation = arg;
- }
-
- // look for the window system.
- if (args[i - 1].equalsIgnoreCase(WS)) {
- found = true;
- ws = arg;
- }
-
- // look for the operating system
- if (args[i - 1].equalsIgnoreCase(OS)) {
- found = true;
- os = arg;
- }
-
- // look for the system architecture
- if (args[i - 1].equalsIgnoreCase(ARCH)) {
- found = true;
- arch = arg;
- }
-
- // look for the nationality/language
- if (args[i - 1].equalsIgnoreCase(NL)) {
- found = true;
- nl = arg;
- }
-
- // done checking for args. Remember where an arg was found
- if (found) {
- configArgs[configArgIndex++] = i - 1;
- configArgs[configArgIndex++] = i;
- }
- }
-
- // remove all the arguments consumed by this argument parsing
- if (configArgIndex == 0)
- return args;
- String[] passThruArgs = new String[args.length - configArgIndex];
- configArgIndex = 0;
- int j = 0;
- for (int i = 0; i < args.length; i++) {
- if (i == configArgs[configArgIndex])
- configArgIndex++;
- else
- passThruArgs[j++] = args[i];
- }
- return passThruArgs;
-}
-private static URL[] readPluginPath(InputStream input) {
- Properties ini = new Properties();
- try {
- ini.load(input);
- } catch (IOException e) {
- return null;
- }
- Vector result = new Vector(5);
- for (Enumeration groups = ini.propertyNames(); groups.hasMoreElements();) {
- String group = (String) groups.nextElement();
- for (StringTokenizer entries = new StringTokenizer(ini.getProperty(group), ";"); entries.hasMoreElements();) { //$NON-NLS-1$
- String entry = (String) entries.nextElement();
- if (!entry.equals("")) //$NON-NLS-1$
- try {
- result.addElement(new URL(entry));
- } catch (MalformedURLException e) {
- //intentionally ignore bad URLs
- System.err.println(Policy.bind("ignore.plugin", entry)); //$NON-NLS-1$
- }
- }
- }
- return (URL[]) result.toArray(new URL[result.size()]);
-}
-public static URL resolve(URL url) throws IOException {
- if (!url.getProtocol().equals(PlatformURLHandler.PROTOCOL))
- return url;
- URLConnection connection = url.openConnection();
- if (connection instanceof PlatformURLConnection)
- return ((PlatformURLConnection) connection).getResolvedURL();
- else
- return url;
-}
-/**
- * @see BootLoader
- * Retained for compatibility with R1.0 launchers
- */
-public static Object run(String applicationName/*R1.0 compatibility*/, URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args) throws Exception {
- return run(applicationName, pluginPathLocation, location, args, null);
-}
-/**
- * @see BootLoader
- */
-public static Object run(String applicationName/*R1.0 compatibility*/, URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args, Runnable handler) throws Exception {
- Object result = null;
- applicationR10 = applicationName; // for R1.0 compatibility
- String[] applicationArgs = startup(pluginPathLocation, location, args, handler);
-
- String application = getCurrentPlatformConfiguration().getApplicationIdentifier();
- IPlatformRunnable runnable = getRunnable(application);
- if (runnable == null)
- throw new IllegalArgumentException(Policy.bind("application.notFound", application)); //$NON-NLS-1$
- try {
- result = runnable.run(applicationArgs);
- } catch (Throwable e) {
- e.printStackTrace();
- throw new InvocationTargetException(e);
- } finally {
- shutdown();
- return result;
- }
-}
-/**
- * Setup the debug flags for the given debug options. This method will likely
- * be called twice. Once when loading the options file from the command
- * line or install dir and then again when we have loaded options from the
- * specific platform metaarea.
- */
-public static void setupOptions() {
- // if no debug option was specified, don't even bother to try.
- // Must ensure that the options slot is null as this is the signal to the
- // platform that debugging is not enabled.
- if (!debugRequested)
- return;
- options.put(OPTION_STARTTIME, Long.toString(System.currentTimeMillis()));
- DelegatingURLClassLoader.DEBUG = getBooleanOption(OPTION_LOADER_DEBUG, false);
- DelegatingURLClassLoader.DEBUG_SHOW_CREATE = getBooleanOption(OPTION_LOADER_SHOW_CREATE, true);
- DelegatingURLClassLoader.DEBUG_SHOW_ACTIVATE = getBooleanOption(OPTION_LOADER_SHOW_ACTIVATE, true);
- DelegatingURLClassLoader.DEBUG_SHOW_ACTIONS = getBooleanOption(OPTION_LOADER_SHOW_ACTIONS, true);
- DelegatingURLClassLoader.DEBUG_SHOW_SUCCESS = getBooleanOption(OPTION_LOADER_SHOW_SUCCESS, true);
- DelegatingURLClassLoader.DEBUG_SHOW_FAILURE = getBooleanOption(OPTION_LOADER_SHOW_FAILURE, true);
- DelegatingURLClassLoader.DEBUG_FILTER_CLASS = getListOption(OPTION_LOADER_FILTER_CLASS);
- DelegatingURLClassLoader.DEBUG_FILTER_LOADER = getListOption(OPTION_LOADER_FILTER_LOADER);
- DelegatingURLClassLoader.DEBUG_FILTER_RESOURCE = getListOption(OPTION_LOADER_FILTER_RESOURCE);
- DelegatingURLClassLoader.DEBUG_FILTER_NATIVE = getListOption(OPTION_LOADER_FILTER_NATIVE);
- PlatformURLConnection.DEBUG = getBooleanOption(OPTION_URL_DEBUG, false);
- PlatformURLConnection.DEBUG_CONNECT = getBooleanOption(OPTION_URL_DEBUG_CONNECT, true);
- PlatformURLConnection.DEBUG_CACHE_LOOKUP = getBooleanOption(OPTION_URL_DEBUG_CACHE_LOOKUP, true);
- PlatformURLConnection.DEBUG_CACHE_COPY = getBooleanOption(OPTION_URL_DEBUG_CACHE_COPY, true);
- PlatformConfiguration.DEBUG = getBooleanOption(OPTION_CONFIGURATION_DEBUG, false);
-
- DelegatingURLClassLoader.MONITOR_PLUGINS = getBooleanOption(OPTION_MONITOR_PLUGINS, DelegatingURLClassLoader.MONITOR_PLUGINS);
- DelegatingURLClassLoader.MONITOR_CLASSES = getBooleanOption(OPTION_MONITOR_CLASSES, DelegatingURLClassLoader.MONITOR_CLASSES);
- DelegatingURLClassLoader.MONITOR_BUNDLES = getBooleanOption(OPTION_MONITOR_BUNDLES, DelegatingURLClassLoader.MONITOR_BUNDLES);
-
- DelegatingURLClassLoader.TRACE_FILENAME = options.getProperty(OPTION_TRACE_FILENAME, DelegatingURLClassLoader.TRACE_FILENAME);
- DelegatingURLClassLoader.TRACE_FILTERS = options.getProperty(OPTION_TRACE_FILTERS, DelegatingURLClassLoader.TRACE_FILTERS);
- DelegatingURLClassLoader.TRACE_CLASSES = getBooleanOption(OPTION_TRACE_CLASSES, DelegatingURLClassLoader.TRACE_CLASSES);
- DelegatingURLClassLoader.TRACE_PLUGINS = getBooleanOption(OPTION_TRACE_PLUGINS, DelegatingURLClassLoader.TRACE_PLUGINS);
-
- DelegatingURLClassLoader.DEBUG_PROPERTIES = getBooleanOption(OPTION_LOADER_PROPERTIES, DelegatingURLClassLoader.DEBUG_PROPERTIES);
- DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES = getBooleanOption(OPTION_LOADER_PACKAGE_PREFIXES, DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES);
- DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_SUCCESS = getBooleanOption(OPTION_LOADER_PACKAGE_PREFIXES_SUCCESS, DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_SUCCESS);
- DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_FAILURE = getBooleanOption(OPTION_LOADER_PACKAGE_PREFIXES_FAILURE, DelegatingURLClassLoader.DEBUG_PACKAGE_PREFIXES_FAILURE);
-}
-/**
- * Initializes the execution context for this run of the platform. The context
- * includes information about the locale, operating system and window system.
- *
- * NOTE: The OS, WS, and ARCH values should never be null. The executable should
- * be setting these values and therefore this code path is obsolete for Eclipse
- * when run from the executable.
- */
-private static void setupSystemContext() {
- // if the user didn't set the locale with a command line argument then
- // use the default.
- if (nl != null) {
- StringTokenizer tokenizer = new StringTokenizer(nl, "_"); //$NON-NLS-1$
- int segments = tokenizer.countTokens();
- try {
- switch (segments) {
- case 2:
- Locale userLocale = new Locale(tokenizer.nextToken(), tokenizer.nextToken());
- Locale.setDefault(userLocale);
- break;
- case 3:
- userLocale = new Locale(tokenizer.nextToken(), tokenizer.nextToken(), tokenizer.nextToken());
- Locale.setDefault(userLocale);
- break;
- }
- } catch (NoSuchElementException e) {
- // fall through and use the default
- }
- }
- nl = Locale.getDefault().toString();
-
- // if the user didn't set the operating system with a command line
- // argument then use the default.
- if (os == null) {
- String name = System.getProperty("os.name");//$NON-NLS-1$
- // check to see if the VM returned "Windows 98" or some other
- // flavour which should be converted to win32.
- if (name.regionMatches(true, 0, BootLoader.OS_WIN32, 0, 3))
- os = BootLoader.OS_WIN32;
- // EXCEPTION: All mappings of SunOS convert to Solaris
- if (os == null)
- os = name.equalsIgnoreCase(INTERNAL_OS_SUNOS) ? BootLoader.OS_SOLARIS : BootLoader.OS_UNKNOWN;
- }
-
- // if the user didn't set the window system with a command line
- // argument then use the default.
- if (ws == null) {
- // setup default values for known OSes if nothing was specified
- if (os.equals(BootLoader.OS_WIN32))
- ws = BootLoader.WS_WIN32;
- else if (os.equals(BootLoader.OS_LINUX))
- ws = BootLoader.WS_MOTIF;
- else if (os.equals(BootLoader.OS_MACOSX))
- ws = BootLoader.WS_CARBON;
- else if (os.equals(BootLoader.OS_HPUX))
- ws = BootLoader.WS_MOTIF;
- else if (os.equals(BootLoader.OS_AIX))
- ws = BootLoader.WS_MOTIF;
- else if (os.equals(BootLoader.OS_SOLARIS))
- ws = BootLoader.WS_MOTIF;
- else
- ws = BootLoader.WS_UNKNOWN;
- }
-
- // if the user didn't set the system architecture with a command line
- // argument then use the default.
- if (arch == null) {
- String name = System.getProperty("os.arch");//$NON-NLS-1$
- // Map i386 architecture to x86
- arch = name.equalsIgnoreCase(INTERNAL_ARCH_I386) ? BootLoader.ARCH_X86 : name;
- }
-}
-/**
- * @see BootLoader
- */
-public static void shutdown() throws Exception {
- assertRunning();
- // no matter what happens, record that its no longer running
- running = false;
- Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
- Method method = platform.getDeclaredMethod("loaderShutdown", new Class[0]); //$NON-NLS-1$
- try {
- method.invoke(platform, new Object[0]);
- } catch (InvocationTargetException e) {
- if (e.getTargetException() instanceof Error)
- throw (Error) e.getTargetException();
- else
- throw e;
- } finally {
- PlatformURLHandlerFactory.shutdown();
- PlatformConfiguration.shutdown();
- loader = null;
- }
-}
-
-/**
- * @see BootLoader
- * Retained for compatibility with R1.0 launchers
- */
-public static String[] startup(URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args) throws Exception {
- return startup(pluginPathLocation, location, args, null);
-}
-/**
- * @see BootLoader
- */
-public static String[] startup(URL pluginPathLocation/*R1.0 compatibility*/, String location, String[] args, Runnable handler) throws Exception {
- assertNotRunning();
- starting = true;
- commandLine = args;
- String[] applicationArgs = initialize(pluginPathLocation, location, args);
- Class platform = loader.loadClass(PLATFORM_ENTRYPOINT);
- Method method = platform.getDeclaredMethod("loaderStartup", new Class[] { URL[].class, String.class, Properties.class, String[].class, Runnable.class }); //$NON-NLS-1$
- try {
- URL[] pluginPath = getCurrentPlatformConfiguration().getPluginPath();
- method.invoke(platform, new Object[] { pluginPath, baseLocation, options, args, handler });
- } catch (InvocationTargetException e) {
- if (e.getTargetException() instanceof Error)
- throw (Error) e.getTargetException();
- else
- throw e;
- }
- // only record the platform as running if everything went swimmingly
- running = true;
- starting = false;
- return applicationArgs;
-}
-
-public static String getBootDir() {
- if (BOOTDIR == null)
- initializeBootDir();
- return BOOTDIR;
-}
-/**
- * Helper method that creates an URL object from the given string
- * representation. The string must correspond to a valid URL or file system
- * path.
- */
-private static URL getURL(String urlString) throws MalformedURLException {
- try {
- return new URL(urlString);
- } catch (MalformedURLException e) {
- // if it is not a well formed URL, tries to create a "file:" URL
- try {
- return new File(urlString).toURL();
- } catch (MalformedURLException ex) {
- // re-throw the original exception if nothing works
- throw e;
- }
- }
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
deleted file mode 100644
index a867269..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformClassLoader.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.URL;
-
-/**
- * This is the singleton platform loader. It searches jars and
- * directories containing the base runtime support.
- */
-public final class PlatformClassLoader extends DelegatingURLClassLoader {
- private static PlatformClassLoader singleton = null;
-/**
- * Creates the default instance of PlatformClassLoader according to the
- * given classpath, filters and parent.
- */
-public PlatformClassLoader(URL[] searchPath, URLContentFilter[] filters, ClassLoader parent, URL base) {
- super(searchPath, filters, null, null, parent);
- this.base = base;
- if (singleton == null)
- singleton = this;
- debugConstruction(); // must have initialized loader
-}
-protected String debugId() {
- return "PLATFORM"; //$NON-NLS-1$
-}
-
-/**
- * Returns the id to use to lookup class prefixes for this loader
- */
-public String getPrefixId() {
- return InternalBootLoader.RUNTIMENAME;
-}
-/**
- * Finds and loads the class with the specified name from the URL search
- * path. Any URLs referring to JAR files are loaded and opened as needed
- * until the class is found. Only our own URL search path and that of our parent
- * is used. This method consults this loader's parent first but only if <code>checkParents</code>
- * is <code>true</code>. Following that, this loader's own search path is checked.
- * <code>null</code> is returned if the class cannot be found.
-
- * @param name the name of the class
- * @param resolve whether to resolve any loaded class
- * @param requestor class loader originating the request
- * @param checkParents whether to check the parent loader
- * @return the resulting class
- */
-protected Class internalFindClassParentsSelf(final String name, boolean resolve, DelegatingURLClassLoader requestor, boolean checkParents) {
- Class result = null;
- synchronized (this) {
- // check the cache. If we find something, check to see if its visible.
- // If it is, return it. If not, return null if we are not checking parents. There is
- // no point in looking in self as the class was already in the cache.
- result = findLoadedClass(name);
- if (result != null) {
- result = checkClassVisibility(result, requestor, true);
- if (result != null || !checkParents)
- return result;
- }
-
- // if it wasn't in the cache or was not visible, check the parents (if requested)
- if (checkParents) {
- result = findClassParents(name, resolve);
- if (result != null)
- return result;
- }
- try {
- result = super.findClass(name);
- // If the class is loaded in this classloader register it with
- // the hot swap support. Need to do this regardless of visibility
- // because the class was actually loaded.
- if (result == null)
- return null;
- return checkClassVisibility(result, requestor, false);
- } catch (ClassNotFoundException e) {
- return null;
- }
- }
-}
-/**
- * Returns the default/singleton instance of PlatformClassLoader.
- * The class loader must have been explicitly created previously
- * otherwise this method returns <code>null</code>.
- */
-public static PlatformClassLoader getDefault() {
- return singleton;
-}
-/**
- * Sets the list of imported loaders. If the supplied list is <code>null</code>
- * then this loader's list of imports is cleared.
- */
-public synchronized void setImports(DelegatingURLClassLoader[] loaders) {
- if (loaders == null) {
- imports = null;
- return;
- }
- DelegateLoader[] delegates = new DelegateLoader[loaders.length];
- for (int i = 0; i < loaders.length; i++)
- delegates[i] = new DelegateLoader(loaders[i], false);
- imports = delegates;
-}
-
-protected String getClassloaderId() {
- return InternalBootLoader.RUNTIMENAME;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
deleted file mode 100644
index 23dd091..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformConfiguration.java
+++ /dev/null
@@ -1,2892 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.boot.IPlatformConfiguration;
-
-public class PlatformConfiguration implements IPlatformConfiguration {
-
- private static PlatformConfiguration currentPlatformConfiguration = null;
-
- private URL configLocation;
- private URL rootLocation;
- private HashMap sites;
- private HashMap externalLinkSites; // used to restore prior link site state
- private HashMap cfgdFeatures;
- private HashMap bootPlugins;
- private String defaultFeature;
- private long lastChangeStamp;
- private long changeStamp;
- private boolean changeStampIsValid = false;
- private long lastFeaturesChangeStamp;
- private long featuresChangeStamp;
- private boolean featuresChangeStampIsValid = false;
- private long lastPluginsChangeStamp;
- private long pluginsChangeStamp;
- private boolean pluginsChangeStampIsValid = false;
- private boolean featureChangesConfigured = false;
- private boolean transientConfig = false;
- private File cfgLockFile;
- private RandomAccessFile cfgLockFileRAF;
- private BootDescriptor runtimeDescriptor;
- private BootDescriptor xmlDescriptor;
-
- private static String cmdConfiguration = null;
- private static String cmdFeature = null;
- private static String cmdApplication = null;
- private static URL cmdPlugins = null;
- private static boolean cmdInitialize = false;
- private static boolean cmdFirstUse = false;
- private static boolean cmdUpdate = false;
- private static boolean cmdNoUpdate = false;
- private static boolean cmdDev = false;
-
- static boolean DEBUG = false;
-
- private static final String BOOT_XML = "boot.xml"; //$NON-NLS-1$
- private static final String BOOT_PLUGIN_ID = "org.eclipse.core.boot"; //$NON-NLS-1$
- private static final String RUNTIME_PLUGIN_ID = "org.eclipse.core.runtime"; //$NON-NLS-1$
- private static final String XML_PLUGIN_ID = "org.apache.xerces"; //$NON-NLS-1$
-
- private static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
- private static final String PLUGINS = "plugins"; //$NON-NLS-1$
- private static final String FEATURES = "features"; //$NON-NLS-1$
- private static final String CONFIG_DIR = ".config"; //$NON-NLS-1$
- private static final String CONFIG_FILE = CONFIG_DIR + "/platform.cfg"; //$NON-NLS-1$
- private static final String CONFIG_FILE_INIT = "install.ini"; //$NON-NLS-1$
- private static final String CONFIG_FILE_LOCK_SUFFIX = ".lock"; //$NON-NLS-1$
- private static final String CONFIG_FILE_TEMP_SUFFIX = ".tmp"; //$NON-NLS-1$
- private static final String CONFIG_FILE_BAK_SUFFIX = ".bak"; //$NON-NLS-1$
- private static final String CHANGES_MARKER = ".newupdates"; //$NON-NLS-1$
- private static final String LINKS = "links"; //$NON-NLS-1$
- private static final String PLUGIN_XML = "plugin.xml"; //$NON-NLS-1$
- private static final String FRAGMENT_XML = "fragment.xml"; //$NON-NLS-1$
- private static final String FEATURE_XML = "feature.xml"; //$NON-NLS-1$
-
- private static final String[] BOOTSTRAP_PLUGINS = { "org.eclipse.core.boot" }; //$NON-NLS-1$
- private static final String CFG_BOOT_PLUGIN = "bootstrap"; //$NON-NLS-1$
- private static final String CFG_SITE = "site"; //$NON-NLS-1$
- private static final String CFG_URL = "url"; //$NON-NLS-1$
- private static final String CFG_POLICY = "policy"; //$NON-NLS-1$
- private static final String[] CFG_POLICY_TYPE = { "USER-INCLUDE", "USER-EXCLUDE" }; //$NON-NLS-1$ //$NON-NLS-2$
- private static final String CFG_POLICY_TYPE_UNKNOWN = "UNKNOWN"; //$NON-NLS-1$
- private static final String CFG_LIST = "list"; //$NON-NLS-1$
- private static final String CFG_STAMP = "stamp"; //$NON-NLS-1$
- private static final String CFG_FEATURE_STAMP = "stamp.features"; //$NON-NLS-1$
- private static final String CFG_PLUGIN_STAMP = "stamp.plugins"; //$NON-NLS-1$
- private static final String CFG_UPDATEABLE = "updateable"; //$NON-NLS-1$
- private static final String CFG_LINK_FILE = "linkfile"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY = "feature"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_DEFAULT = "feature.default.id"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_ID = "id"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_PRIMARY = "primary"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_VERSION = "version"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER = "plugin-identifier"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_APPLICATION = "application"; //$NON-NLS-1$
- private static final String CFG_FEATURE_ENTRY_ROOT = "root"; //$NON-NLS-1$
-
- private static final String INIT_DEFAULT_FEATURE_ID = "feature.default.id"; //$NON-NLS-1$
- private static final String INIT_DEFAULT_PLUGIN_ID = "feature.default.plugin.id"; //$NON-NLS-1$
- private static final String INIT_DEFAULT_FEATURE_APPLICATION = "feature.default.application"; //$NON-NLS-1$
- private static final String DEFAULT_FEATURE_ID = "org.eclipse.platform"; //$NON-NLS-1$
- private static final String DEFAULT_FEATURE_APPLICATION = "org.eclipse.ui.workbench"; //$NON-NLS-1$
-
- private static final String CFG_VERSION = "version"; //$NON-NLS-1$
- private static final String CFG_TRANSIENT = "transient"; //$NON-NLS-1$
- private static final String VERSION = "1.0"; //$NON-NLS-1$
- private static final String EOF = "eof"; //$NON-NLS-1$
- private static final int CFG_LIST_LENGTH = 10;
-
- private static final int DEFAULT_POLICY_TYPE = ISitePolicy.USER_EXCLUDE;
- private static final String[] DEFAULT_POLICY_LIST = new String[0];
-
- private static final String LINK_PATH = "path"; //$NON-NLS-1$
- private static final String LINK_READ = "r"; //$NON-NLS-1$
- private static final String LINK_READ_WRITE = "rw"; //$NON-NLS-1$
-
- private static final String CMD_CONFIGURATION = "-configuration"; //$NON-NLS-1$
- private static final String CMD_FEATURE = "-feature"; //$NON-NLS-1$
- private static final String CMD_APPLICATION = "-application"; //$NON-NLS-1$
- private static final String CMD_PLUGINS = "-plugins"; //$NON-NLS-1$
- private static final String CMD_UPDATE = "-update"; //$NON-NLS-1$
- private static final String CMD_INITIALIZE = "-initialize"; //$NON-NLS-1$
- private static final String CMD_FIRSTUSE = "-firstuse"; //$NON-NLS-1$
- private static final String CMD_NO_UPDATE = "-noupdate"; //$NON-NLS-1$
- private static final String CMD_NEW_UPDATES = "-newUpdates"; //$NON-NLS-1$
- private static final String CMD_DEV = "-dev"; // triggers -noupdate //$NON-NLS-1$
-
- private static final String RECONCILER_APP = "org.eclipse.update.core.reconciler"; //$NON-NLS-1$
-
- private static final char[] HEX = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
-
- public class SiteEntry implements IPlatformConfiguration.ISiteEntry {
-
- private URL url; // this is the external URL for the site
- private URL resolvedURL; // this is the resolved URL used internally
- private ISitePolicy policy;
- private boolean updateable = true;
- private ArrayList features;
- private ArrayList plugins;
- private PlatformConfiguration parent;
- private long lastChangeStamp;
- private long changeStamp;
- private boolean changeStampIsValid = false;
- private long lastFeaturesChangeStamp;
- private long featuresChangeStamp;
- private boolean featuresChangeStampIsValid = false;
- private long lastPluginsChangeStamp;
- private long pluginsChangeStamp;
- private boolean pluginsChangeStampIsValid = false;
- private String linkFileName = null;
-
- private SiteEntry() {
- }
- private SiteEntry(URL url, ISitePolicy policy, PlatformConfiguration parent) {
- if (url == null)
- throw new IllegalArgumentException();
-
- if (policy == null)
- throw new IllegalArgumentException();
-
- if (parent == null)
- throw new IllegalArgumentException();
-
- this.url = url;
- this.policy = policy;
- this.parent = parent;
- this.features = null;
- this.plugins = null;
- this.resolvedURL = this.url;
- if (url.getProtocol().equals(PlatformURLHandler.PROTOCOL)) {
- try {
- resolvedURL = resolvePlatformURL(url); // 19536
- } catch (IOException e) {
- // will use the baseline URL ...
- }
- }
- }
-
- /*
- * @see ISiteEntry#getURL()
- */
- public URL getURL() {
- return url;
- }
-
- /*
- * @see ISiteEntry#getSitePolicy()
- */
- public ISitePolicy getSitePolicy() {
- return policy;
- }
-
- /*
- * @see ISiteEntry#setSitePolicy(ISitePolicy)
- */
- public synchronized void setSitePolicy(ISitePolicy policy) {
- if (policy == null)
- throw new IllegalArgumentException();
- this.policy = policy;
- }
-
- /*
- * @see ISiteEntry#getFeatures()
- */
- public String[] getFeatures() {
- return getDetectedFeatures();
- }
-
- /*
- * @see ISiteEntry#getPlugins()
- */
- public String[] getPlugins() {
-
- ISitePolicy policy = getSitePolicy();
-
- if (policy.getType() == ISitePolicy.USER_INCLUDE)
- return policy.getList();
-
- if (policy.getType() == ISitePolicy.USER_EXCLUDE) {
- ArrayList detectedPlugins = new ArrayList(Arrays.asList(getDetectedPlugins()));
- String[] excludedPlugins = policy.getList();
- for (int i = 0; i < excludedPlugins.length; i++) {
- if (detectedPlugins.contains(excludedPlugins[i]))
- detectedPlugins.remove(excludedPlugins[i]);
- }
- return (String[]) detectedPlugins.toArray(new String[0]);
- }
-
- // bad policy type
- return new String[0];
- }
-
- /*
- * @see ISiteEntry#getChangeStamp()
- */
- public long getChangeStamp() {
- if (!changeStampIsValid)
- computeChangeStamp();
- return changeStamp;
- }
-
- /*
- * @see ISiteEntry#getFeaturesChangeStamp()
- */
- public long getFeaturesChangeStamp() {
- if (!featuresChangeStampIsValid)
- computeFeaturesChangeStamp();
- return featuresChangeStamp;
- }
-
- /*
- * @see ISiteEntry#getPluginsChangeStamp()
- */
- public long getPluginsChangeStamp() {
- if (!pluginsChangeStampIsValid)
- computePluginsChangeStamp();
- return pluginsChangeStamp;
- }
-
- /*
- * @see ISiteEntry#isUpdateable()
- */
- public boolean isUpdateable() {
- return updateable;
- }
-
- /*
- * @see ISiteEntry#isNativelyLinked()
- */
- public boolean isNativelyLinked() {
- return isExternallyLinkedSite();
- }
-
- private String[] detectFeatures() {
-
- // invalidate stamps ... we are doing discovery
- changeStampIsValid = false;
- featuresChangeStampIsValid = false;
- parent.changeStampIsValid = false;
- parent.featuresChangeStampIsValid = false;
-
- features = new ArrayList();
-
- if (!supportsDetection(resolvedURL))
- return new String[0];
-
- // locate feature entries on site
- File siteRoot = new File(resolvedURL.getFile().replace('/', File.separatorChar));
- File root = new File(siteRoot, FEATURES);
-
- String[] list = root.list();
- String path;
- File plugin;
- for (int i = 0; list != null && i < list.length; i++) {
- path = list[i] + File.separator + FEATURE_XML;
- plugin = new File(root, path);
- if (!plugin.exists()) {
- continue;
- }
- features.add(FEATURES + "/" + path.replace(File.separatorChar, '/')); //$NON-NLS-1$
- }
- if (DEBUG) {
- debug(resolvedURL.toString() + " located " + features.size() + " feature(s)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return (String[]) features.toArray(new String[0]);
- }
-
- private String[] detectPlugins() {
-
- // invalidate stamps ... we are doing discovery
- changeStampIsValid = false;
- pluginsChangeStampIsValid = false;
- parent.changeStampIsValid = false;
- parent.pluginsChangeStampIsValid = false;
-
- plugins = new ArrayList();
-
- if (!supportsDetection(resolvedURL))
- return new String[0];
-
- // locate plugin entries on site
- File root = new File(resolvedURL.getFile().replace('/', File.separatorChar) + PLUGINS);
- String[] list = root.list();
- String path;
- File plugin;
- for (int i = 0; list != null && i < list.length; i++) {
- path = list[i] + File.separator + PLUGIN_XML;
- plugin = new File(root, path);
- if (!plugin.exists()) {
- path = list[i] + File.separator + FRAGMENT_XML;
- plugin = new File(root, path);
- if (!plugin.exists())
- continue;
- }
- plugins.add(PLUGINS + "/" + path.replace(File.separatorChar, '/')); //$NON-NLS-1$
- }
- if (DEBUG) {
- debug(resolvedURL.toString() + " located " + plugins.size() + " plugin(s)"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- return (String[]) plugins.toArray(new String[0]);
- }
-
- private synchronized String[] getDetectedFeatures() {
- if (features == null)
- return detectFeatures();
- else
- return (String[]) features.toArray(new String[0]);
- }
-
- private synchronized String[] getDetectedPlugins() {
- if (plugins == null)
- return detectPlugins();
- else
- return (String[]) plugins.toArray(new String[0]);
- }
-
- private URL getResolvedURL() {
- return resolvedURL;
- }
-
- private void computeChangeStamp() {
- computeFeaturesChangeStamp();
- computePluginsChangeStamp();
- changeStamp = resolvedURL.hashCode() ^ featuresChangeStamp ^ pluginsChangeStamp;
- changeStampIsValid = true;
- }
-
- private synchronized void computeFeaturesChangeStamp() {
- if (featuresChangeStampIsValid)
- return;
-
- long start = 0;
- if (DEBUG)
- start = (new Date()).getTime();
- String[] features = getFeatures();
- featuresChangeStamp = computeStamp(features);
- featuresChangeStampIsValid = true;
- if (DEBUG) {
- long end = (new Date()).getTime();
- debug(resolvedURL.toString() + " feature stamp: " + featuresChangeStamp + ((featuresChangeStamp == lastFeaturesChangeStamp) ? " [no changes]" : " [was " + lastFeaturesChangeStamp + "]") + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- }
- }
-
- private synchronized void computePluginsChangeStamp() {
- if (pluginsChangeStampIsValid)
- return;
-
- long start = 0;
- if (DEBUG)
- start = (new Date()).getTime();
- String[] plugins = getPlugins();
- pluginsChangeStamp = computeStamp(plugins);
- pluginsChangeStampIsValid = true;
- if (DEBUG) {
- long end = (new Date()).getTime();
- debug(resolvedURL.toString() + " plugin stamp: " + pluginsChangeStamp + ((pluginsChangeStamp == lastPluginsChangeStamp) ? " [no changes]" : " [was " + lastPluginsChangeStamp + "]") + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
- }
- }
-
- private long computeStamp(String[] targets) {
-
- long result = 0;
- if (!supportsDetection(resolvedURL)) {
- // NOTE: this path should not be executed until we support running
- // from an arbitrary URL (in particular from http server). For
- // now just compute stamp across the list of names. Eventually
- // when general URLs are supported we need to do better (factor
- // in at least the existence of the target). However, given this
- // code executes early on the startup sequence we need to be
- // extremely mindful of performance issues.
- for (int i = 0; i < targets.length; i++)
- result ^= targets[i].hashCode();
- if (DEBUG)
- debug("*WARNING* computing stamp using URL hashcodes only"); //$NON-NLS-1$
- } else {
- // compute stamp across local targets
- String rootPath = resolvedURL.getFile().replace('/', File.separatorChar);
- if (!rootPath.endsWith(File.separator))
- rootPath += File.separator;
- File rootFile = new File(rootPath);
- if (rootFile.exists()) {
- File f = null;
- for (int i = 0; i < targets.length; i++) {
- f = new File(rootFile, targets[i]);
- if (f.exists())
- result ^= f.getAbsolutePath().hashCode() ^ f.lastModified() ^ f.length();
- }
- }
- }
-
- return result;
- }
-
- private boolean isExternallyLinkedSite() {
- return (linkFileName != null && !linkFileName.trim().equals("")); //$NON-NLS-1$
- }
-
- private synchronized void refresh() {
- // reset computed values. Will be updated on next access.
- lastChangeStamp = changeStamp;
- lastFeaturesChangeStamp = featuresChangeStamp;
- lastPluginsChangeStamp = pluginsChangeStamp;
- changeStampIsValid = false;
- featuresChangeStampIsValid = false;
- pluginsChangeStampIsValid = false;
- features = null;
- plugins = null;
- }
-
- }
-
- public class SitePolicy implements IPlatformConfiguration.ISitePolicy {
-
- private int type;
- private String[] list;
-
- private SitePolicy() {
- }
- private SitePolicy(int type, String[] list) {
- if (type != ISitePolicy.USER_INCLUDE && type != ISitePolicy.USER_EXCLUDE)
- throw new IllegalArgumentException();
- this.type = type;
-
- if (list == null)
- this.list = new String[0];
- else
- this.list = list;
- }
-
- /*
- * @see ISitePolicy#getType()
- */
- public int getType() {
- return type;
- }
-
- /*
- * @see ISitePolicy#getList()
- */
- public String[] getList() {
- return list;
- }
-
- /*
- * @see ISitePolicy#setList(String[])
- */
- public synchronized void setList(String[] list) {
- if (list == null)
- this.list = new String[0];
- else
- this.list = list;
- }
-
- }
-
- private class FeatureEntry implements IPlatformConfiguration.IFeatureEntry {
- private String id;
- private String version;
- private String pluginVersion;
- private String application;
- private URL[] root;
- private boolean primary;
- private String pluginIdentifier;
-
- private FeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
- if (id == null)
- throw new IllegalArgumentException();
- this.id = id;
- this.version = version;
- this.pluginVersion = pluginVersion;
- this.pluginIdentifier = pluginIdentifier;
- this.primary = primary;
- this.application = application;
- this.root = (root == null ? new URL[0] : root);
- }
-
- private FeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
- this(id, version, id, pluginVersion, primary, application, root);
- }
-
- /*
- * @see IFeatureEntry#getFeatureIdentifier()
- */
- public String getFeatureIdentifier() {
- return id;
- }
-
- /*
- * @see IFeatureEntry#getFeatureVersion()
- */
- public String getFeatureVersion() {
- return version;
- }
-
- /*
- * @see IFeatureEntry#getFeaturePluginVersion()
- */
- public String getFeaturePluginVersion() {
- return pluginVersion;
- }
-
- /*
- * @see IFeatureEntry#getFeatureApplication()
- */
- public String getFeatureApplication() {
- return application;
- }
-
- /*
- * @see IFeatureEntry#getFeatureRootURLs()
- */
- public URL[] getFeatureRootURLs() {
- return root;
- }
-
- /*
- * @see IFeatureEntry#canBePrimary()
- */
- public boolean canBePrimary() {
- return primary;
- }
- /*
- * @see IFeatureEntry#getFeaturePluginIdentifier()
- */
- public String getFeaturePluginIdentifier() {
- return pluginIdentifier;
- }
-
- }
-
- private class VersionedIdentifier {
- private String identifier = ""; //$NON-NLS-1$
- private int major = 0;
- private int minor = 0;
- private int service = 0;
- private String qualifier = ""; //$NON-NLS-1$
-
- private static final String VER_SEPARATOR = "."; //$NON-NLS-1$
- private static final String ID_SEPARATOR = "_"; //$NON-NLS-1$
-
- public static final int LESS_THAN = -1;
- public static final int EQUAL = 0;
- public static final int EQUIVALENT = 1;
- public static final int COMPATIBLE = 2;
- public static final int GREATER_THAN = 3;
-
- public VersionedIdentifier(String s) {
- if (s == null || (s = s.trim()).equals("")) //$NON-NLS-1$
- return;
-
- int loc = s.lastIndexOf(ID_SEPARATOR);
- if (loc != -1) {
- this.identifier = s.substring(0, loc);
- String version = s.substring(loc + 1);
- parseVersion(version);
- } else
- this.identifier = s;
- }
-
- public boolean equalIdentifiers(VersionedIdentifier id) {
- if (id == null)
- return identifier == null;
- else
- return id.identifier.equals(identifier);
- }
-
- public int compareVersion(VersionedIdentifier id) {
-
- if (id == null) {
- if (major == 0 && minor == 0 && service == 0)
- return -1;
- else
- return 1;
- }
-
- if (major > id.major)
- return GREATER_THAN;
- if (major < id.major)
- return LESS_THAN;
- if (minor > id.minor)
- return COMPATIBLE;
- if (minor < id.minor)
- return LESS_THAN;
- if (service > id.service)
- return EQUIVALENT;
- if (service < id.service)
- return LESS_THAN;
- return compareQualifiers(qualifier, id.qualifier);
- }
-
- private int compareQualifiers(String q1, String q2) {
- int result = q1.compareTo(q2);
- if (result < 0)
- return LESS_THAN;
- else if (result > 0)
- return EQUIVALENT;
- else
- return EQUAL;
- }
-
- private void parseVersion(String v) {
- if (v == null || (v = v.trim()).equals("")) //$NON-NLS-1$
- return;
-
- try {
- StringTokenizer st = new StringTokenizer(v, VER_SEPARATOR);
- ArrayList elements = new ArrayList(4);
-
- while (st.hasMoreTokens()) {
- elements.add(st.nextToken());
- }
-
- if (elements.size() >= 1)
- this.major = (new Integer((String) elements.get(0))).intValue();
- if (elements.size() >= 2)
- this.minor = (new Integer((String) elements.get(1))).intValue();
- if (elements.size() >= 3)
- this.service = (new Integer((String) elements.get(2))).intValue();
- if (elements.size() >= 4)
- this.qualifier = removeWhiteSpace((String) elements.get(3));
-
- } catch (Exception e) {
- // use what we got so far ...
- }
- }
-
- private String removeWhiteSpace(String s) {
- char[] chars = s.trim().toCharArray();
- boolean whitespace = false;
- for (int i = 0; i < chars.length; i++) {
- if (Character.isWhitespace(chars[i])) {
- chars[i] = '_';
- whitespace = true;
- }
- }
- return whitespace ? new String(chars) : s;
- }
- }
-
- /*
- * Element selector for use with "tiny" parser. Parser callers supply
- * concrete selectors
- */
- public interface Selector {
-
- /*
- * Method is called to pre-select a specific xml type. Pre-selected
- * elements are then fully parsed and result in calls to full
- * select method.
- * @return <code>true</code> is the element should be considered,
- * <code>false</code> otherwise
- */
- public boolean select(String entry);
-
- /*
- * Method is called with a fully parsed element.
- * @return <code>true</code> to select this element and terminate the parse,
- * <code>false</code> otherwise
- */
- public boolean select(String element, HashMap attributes);
- }
-
- /*
- * "Tiny" xml parser. Performs a rudimentary parse of a well-formed xml file.
- * Is specifically geared to parsing plugin.xml files of "bootstrap" plug-ins
- * during the platform startup sequence before full xml plugin is available.
- */
- public static class Parser {
-
- private ArrayList elements = new ArrayList();
-
- /*
- * Construct parser for the specified file
- */
- public Parser(File file) {
- try {
- load(new FileInputStream(file));
- } catch (Exception e) {
- // continue ... actual parsing will report errors
- }
- }
-
- /*
- * Construct parser for the specified URL
- */
- public Parser(URL url) {
- try {
- load(url.openStream());
- } catch (Exception e) {
- // continue ... actual parsing will report errors
- }
- }
-
- /*
- * Return selected elements as an (attribute-name, attribute-value) map.
- * The name of the selected element is returned as the value of entry with
- * name "<element>".
- * @return attribute map for selected element, or <code>null</code>
- */
- public HashMap getElement(Selector selector) {
- if (selector == null)
- return null;
-
- String element;
- for (int i = 0; i < elements.size(); i++) {
- // make pre-parse selector call
- element = (String) elements.get(i);
- if (selector.select(element)) {
- // parse selected entry
- HashMap attributes = new HashMap();
- String elementName;
- int j;
- // parse out element name
- for (j = 0; j < element.length(); j++) {
- if (Character.isWhitespace(element.charAt(j)))
- break;
- }
- if (j >= element.length()) {
- elementName = element;
- } else {
- elementName = element.substring(0, j);
- element = element.substring(j);
- // parse out attributes
- StringTokenizer t = new StringTokenizer(element, "=\""); //$NON-NLS-1$
- boolean isKey = true;
- String key = ""; //$NON-NLS-1$
- while (t.hasMoreTokens()) {
- String token = t.nextToken().trim();
- if (!token.equals("")) { //$NON-NLS-1$
- // collect (key, value) pairs
- if (isKey) {
- key = token;
- isKey = false;
- } else {
- attributes.put(key, token);
- isKey = true;
- }
- }
- }
- }
- // make post-parse selector call
- if (selector.select(elementName, attributes)) {
- attributes.put("<element>", elementName); //$NON-NLS-1$
- return attributes;
- }
- }
- }
- return null;
- }
-
- private void load(InputStream is) {
- if (is == null)
- return;
-
- // read file
- StringBuffer xml = new StringBuffer(4096);
- char[] iobuf = new char[4096];
- InputStreamReader r = null;
- try {
- r = new InputStreamReader(is);
- int len = r.read(iobuf, 0, iobuf.length);
- while (len != -1) {
- xml.append(iobuf, 0, len);
- len = r.read(iobuf, 0, iobuf.length);
- }
- } catch (Exception e) {
- return;
- } finally {
- if (r != null)
- try {
- r.close();
- } catch (IOException e) {
- // ignore
- }
- }
-
- // parse out element tokens
- String xmlString = xml.toString();
- StringTokenizer t = new StringTokenizer(xmlString, "<>"); //$NON-NLS-1$
- while (t.hasMoreTokens()) {
- String token = t.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- elements.add(token);
- }
- }
- }
-
- public static class BootDescriptor {
- private String id;
- private String version;
- private String[] libs;
- private URL dir;
-
- public BootDescriptor(String id, String version, String[] libs, URL dir) {
- this.id = id;
- this.version = version;
- this.libs = libs;
- this.dir = dir;
- }
-
- public String getId() {
- return id;
- }
-
- public String getVersion() {
- return version;
- }
-
- public String[] getLibraries() {
- return libs;
- }
-
- public URL getPluginDirectoryURL() {
- return dir;
- }
- }
-
- private PlatformConfiguration(String configArg, String metaPath, URL pluginPath) throws IOException {
- this.sites = new HashMap();
- this.externalLinkSites = new HashMap();
- this.cfgdFeatures = new HashMap();
- this.bootPlugins = new HashMap();
-
- // Determine configuration URL to use (based on command line argument)
- URL configURL = null;
- if (configArg != null && !configArg.trim().equals("")) { //$NON-NLS-1$
- configURL = new URL(configArg);
- }
-
- // initialize configuration
- boolean createRootSite = (pluginPath == null);
- initializeCurrent(configURL, metaPath, createRootSite);
-
- // merge in any plugin-path entries (converted to site(s))
- if (pluginPath != null) {
- updateConfigurationFromPlugins(pluginPath);
- }
-
- // pick up any first-time default settings (relative to install location)
- loadInitializationAttributes();
-
- // Detect external links. These are "soft link" to additional sites. The link
- // files are usually provided by external installation programs. They are located
- // relative to this configuration URL.
- configureExternalLinks();
-
- // Validate sites in the configuration. Causes any sites that do not exist to
- // be removed from the configuration
- validateSites();
-
- // compute differences between configuration and actual content of the sites
- // (base sites and link sites)
- computeChangeStamp();
-
- // determine which plugins we will use to start the rest of the "kernel"
- // (need to get core.runtime matching the executing core.boot and
- // xerces matching the selected core.runtime)
- locateDefaultPlugins();
- }
-
- PlatformConfiguration(URL url) throws IOException {
- this.sites = new HashMap();
- this.externalLinkSites = new HashMap();
- this.cfgdFeatures = new HashMap();
- this.bootPlugins = new HashMap();
- initialize(url);
- }
-
- /*
- * @see IPlatformConfiguration#createSiteEntry(URL, ISitePolicy)
- */
- public ISiteEntry createSiteEntry(URL url, ISitePolicy policy) {
- return new PlatformConfiguration.SiteEntry(url, policy, this);
- }
-
- /*
- * @see IPlatformConfiguration#createSitePolicy(int, String[])
- */
- public ISitePolicy createSitePolicy(int type, String[] list) {
- return new PlatformConfiguration.SitePolicy(type, list);
- }
-
- /*
- * @see IPlatformConfiguration#createFeatureEntry(String, String, String, boolean, String, URL)
- */
- public IFeatureEntry createFeatureEntry(String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
- return new PlatformConfiguration.FeatureEntry(id, version, pluginVersion, primary, application, root);
- }
-
- /*
- * @see IPlatformConfiguration#createFeatureEntry(String, String, String,
- * String, boolean, String, URL)
- */
- public IFeatureEntry createFeatureEntry(String id, String version, String pluginIdentifier, String pluginVersion, boolean primary, String application, URL[] root) {
- return new PlatformConfiguration.FeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, root);
- }
-
- /*
- * @see IPlatformConfiguration#configureSite(ISiteEntry)
- */
- public void configureSite(ISiteEntry entry) {
- configureSite(entry, false);
- }
-
- /*
- * @see IPlatformConfiguration#configureSite(ISiteEntry, boolean)
- */
- public synchronized void configureSite(ISiteEntry entry, boolean replace) {
-
- if (entry == null)
- return;
-
- URL url = entry.getURL();
- if (url == null)
- return;
- String key = url.toExternalForm();
-
- if (sites.containsKey(key) && !replace)
- return;
-
- sites.put(key, entry);
- }
-
- /*
- * @see IPlatformConfiguration#unconfigureSite(ISiteEntry)
- */
- public synchronized void unconfigureSite(ISiteEntry entry) {
- if (entry == null)
- return;
-
- URL url = entry.getURL();
- if (url == null)
- return;
- String key = url.toExternalForm();
-
- sites.remove(key);
- }
-
- /*
- * @see IPlatformConfiguration#getConfiguredSites()
- */
- public ISiteEntry[] getConfiguredSites() {
- if (sites.size() == 0)
- return new ISiteEntry[0];
-
- return (ISiteEntry[]) sites.values().toArray(new ISiteEntry[0]);
- }
-
- /*
- * @see IPlatformConfiguration#findConfiguredSite(URL)
- */
- public ISiteEntry findConfiguredSite(URL url) {
- if (url == null)
- return null;
- String key = url.toExternalForm();
-
- ISiteEntry result = (ISiteEntry) sites.get(key);
- if (result == null) // retry with decoded URL string
- result = (ISiteEntry) sites.get(URLDecoder.decode(key));
- return result;
- }
-
- /*
- * @see IPlatformConfiguration#configureFeatureEntry(IFeatureEntry)
- */
- public synchronized void configureFeatureEntry(IFeatureEntry entry) {
- if (entry == null)
- return;
-
- String key = entry.getFeatureIdentifier();
- if (key == null)
- return;
-
- cfgdFeatures.put(key, entry);
- }
-
- /*
- * @see IPlatformConfiguration#unconfigureFeatureEntry(IFeatureEntry)
- */
- public synchronized void unconfigureFeatureEntry(IFeatureEntry entry) {
- if (entry == null)
- return;
-
- String key = entry.getFeatureIdentifier();
- if (key == null)
- return;
-
- cfgdFeatures.remove(key);
- }
-
- /*
- * @see IPlatformConfiguration#getConfiguredFeatureEntries()
- */
- public IFeatureEntry[] getConfiguredFeatureEntries() {
- if (cfgdFeatures.size() == 0)
- return new IFeatureEntry[0];
-
- return (IFeatureEntry[]) cfgdFeatures.values().toArray(new IFeatureEntry[0]);
- }
-
- /*
- * @see IPlatformConfiguration#findConfiguredFeatureEntry(String)
- */
- public IFeatureEntry findConfiguredFeatureEntry(String id) {
- if (id == null)
- return null;
-
- return (IFeatureEntry) cfgdFeatures.get(id);
- }
-
- /*
- * @see IPlatformConfiguration#getConfigurationLocation()
- */
- public URL getConfigurationLocation() {
- return configLocation;
- }
-
- /*
- * @see IPlatformConfiguration#getChangeStamp()
- */
- public long getChangeStamp() {
- if (!changeStampIsValid)
- computeChangeStamp();
- return changeStamp;
- }
-
- /*
- * @see IPlatformConfiguration#getFeaturesChangeStamp()
- */
- public long getFeaturesChangeStamp() {
- if (!featuresChangeStampIsValid)
- computeFeaturesChangeStamp();
- return featuresChangeStamp;
- }
-
- /*
- * @see IPlatformConfiguration#getPluginsChangeStamp()
- */
- public long getPluginsChangeStamp() {
- if (!pluginsChangeStampIsValid)
- computePluginsChangeStamp();
- return pluginsChangeStamp;
- }
-
- /*
- * @see IPlatformConfiguration#getApplicationIdentifier()
- */
- public String getApplicationIdentifier() {
-
- if (cmdInitialize) {
- // we are running post-install initialization. Force
- // running of the reconciler
- return RECONCILER_APP;
- }
-
- if (featuresChangeStamp != lastFeaturesChangeStamp) {
- // we have detected feature changes ... see if we need to reconcile
- boolean update = !cmdNoUpdate || cmdUpdate;
- if (update)
- return RECONCILER_APP;
- }
-
- // "normal" startup ... run specified application
- return getApplicationIdentifierInternal();
- }
-
- private String getApplicationIdentifierInternal() {
-
- if (cmdApplication != null) // application was specified
- return cmdApplication;
- else {
- // if -feature was not specified use the default feature
- String feature = cmdFeature;
- if (feature == null)
- feature = defaultFeature;
-
- // lookup application for feature (specified or defaulted)
- if (feature != null) {
- IFeatureEntry fe = findConfiguredFeatureEntry(feature);
- if (fe != null) {
- if (fe.getFeatureApplication() != null)
- return fe.getFeatureApplication();
- }
- }
- }
-
- // return hardcoded default if we failed
- return DEFAULT_FEATURE_APPLICATION;
- }
-
- /*
- * @see IPlatformConfiguration#getPrimaryFeatureIdentifier()
- */
- public String getPrimaryFeatureIdentifier() {
-
- if (cmdFeature != null) // -feature was specified on command line
- return cmdFeature;
-
- // feature was not specified on command line
- if (defaultFeature != null)
- return defaultFeature; // return customized default if set
- else
- return DEFAULT_FEATURE_ID; // return hardcoded default
- }
-
- /*
- * @see IPlatformConfiguration#getPluginPath()
- */
- public URL[] getPluginPath() {
- ArrayList path = new ArrayList();
- if (DEBUG)
- debug("computed plug-in path:"); //$NON-NLS-1$
-
- ISiteEntry[] sites = getConfiguredSites();
- URL pathURL;
- for (int i = 0; i < sites.length; i++) {
- String[] plugins = sites[i].getPlugins();
- for (int j = 0; j < plugins.length; j++) {
- try {
- pathURL = new URL(((SiteEntry) sites[i]).getResolvedURL(), plugins[j]);
- path.add(pathURL);
- if (DEBUG)
- debug(" " + pathURL.toString()); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- // skip entry ...
- if (DEBUG)
- debug(" bad URL: " + e); //$NON-NLS-1$
- }
- }
- }
- return (URL[]) path.toArray(new URL[0]);
- }
-
- /*
- * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
- */
- public String[] getBootstrapPluginIdentifiers() {
- return BOOTSTRAP_PLUGINS;
- }
-
- /*
- * @see IPlatformConfiguration#setBootstrapPluginLocation(String, URL)
- */
- public void setBootstrapPluginLocation(String id, URL location) {
- String[] ids = getBootstrapPluginIdentifiers();
- for (int i = 0; i < ids.length; i++) {
- if (ids[i].equals(id)) {
- bootPlugins.put(id, location.toExternalForm());
- break;
- }
- }
- }
-
- /*
- * @see IPlatformConfiguration#isUpdateable()
- */
- public boolean isUpdateable() {
- return true;
- }
-
- /*
- * @see IPlatformConfiguration#isTransient()
- */
- public boolean isTransient() {
- return transientConfig;
- }
-
- /*
- * @see IPlatformConfiguration#isTransient(boolean)
- */
- public void isTransient(boolean value) {
- if (this != BootLoader.getCurrentPlatformConfiguration())
- transientConfig = value;
- }
-
- /*
- * @see IPlatformConfiguration#refresh()
- */
- public synchronized void refresh() {
- // Reset computed values. Will be lazily refreshed
- // on next access
- ISiteEntry[] sites = getConfiguredSites();
- for (int i = 0; i < sites.length; i++) {
- // reset site entry
- ((SiteEntry) sites[i]).refresh();
- }
- // reset configuration entry.
- lastChangeStamp = changeStamp;
- lastFeaturesChangeStamp = featuresChangeStamp;
- lastPluginsChangeStamp = pluginsChangeStamp;
- changeStampIsValid = false;
- featuresChangeStampIsValid = false;
- pluginsChangeStampIsValid = false;
- }
-
- /*
- * @see IPlatformConfiguration#save()
- */
- public void save() throws IOException {
- if (isUpdateable())
- save(configLocation);
- }
-
- /*
- * @see IPlatformConfiguration#save(URL)
- */
- public synchronized void save(URL url) throws IOException {
- if (url == null)
- throw new IOException(Policy.bind("cfig.unableToSave.noURL")); //$NON-NLS-1$
-
- PrintWriter w = null;
- OutputStream os = null;
- if (!url.getProtocol().equals("file")) { //$NON-NLS-1$
- // not a file protocol - attempt to save to the URL
- URLConnection uc = url.openConnection();
- uc.setDoOutput(true);
- os = uc.getOutputStream();
- w = new PrintWriter(os);
- try {
- write(w);
- } finally {
- w.close();
- }
- } else {
- // file protocol - do safe i/o
- File cfigFile = new File(url.getFile().replace('/', File.separatorChar));
- File cfigDir = cfigFile.getParentFile();
- if (cfigDir != null)
- cfigDir.mkdirs();
-
- // first save the file as temp
- File cfigTmp = new File(cfigFile.getAbsolutePath() + CONFIG_FILE_TEMP_SUFFIX);
- os = new FileOutputStream(cfigTmp);
- w = new PrintWriter(os);
- try {
- write(w);
- } finally {
- w.close();
- }
-
- // make sure we actually succeeded saving the whole configuration.
- InputStream is = new FileInputStream(cfigTmp);
- Properties tmpProps = new Properties();
- try {
- tmpProps.load(is);
- if (!EOF.equals(tmpProps.getProperty(EOF))) {
- throw new IOException(Policy.bind("cfig.unableToSave", cfigTmp.getAbsolutePath())); //$NON-NLS-1$
- }
- } finally {
- is.close();
- }
-
- // make the saved config the "active" one
- File cfigBak = new File(cfigFile.getAbsolutePath() + CONFIG_FILE_BAK_SUFFIX);
- cfigBak.delete(); // may have old .bak due to prior failure
-
- if (cfigFile.exists())
- cfigFile.renameTo(cfigBak);
-
- // at this point we have old config (if existed) as "bak" and the
- // new config as "tmp".
- boolean ok = cfigTmp.renameTo(cfigFile);
- if (ok) {
- // at this point we have the new config "activated", and the old
- // config (if it existed) as "bak"
- cfigBak.delete(); // clean up
- } else {
- // this codepath represents a tiny failure window. The load processing
- // on startup will detect missing config and will attempt to start
- // with "tmp" (latest), then "bak" (the previous). We can also end up
- // here if we failed to rename the current config to "bak". In that
- // case we will restart with the previous state.
- throw new IOException(Policy.bind("cfig.unableToSave", cfigTmp.getAbsolutePath())); //$NON-NLS-1$
- }
- }
- }
-
- public BootDescriptor getPluginBootDescriptor(String id) {
- // return the plugin descriptor for the specified plugin. This method
- // is used during boot processing to obtain information about "kernel" plugins
- // whose class loaders must be created prior to the plugin registry being
- // available (ie. loaders needed to create the plugin registry).
-
- if (RUNTIME_PLUGIN_ID.equals(id))
- return runtimeDescriptor;
- else if (XML_PLUGIN_ID.equals(id))
- return xmlDescriptor;
- else
- return null;
- }
-
- static PlatformConfiguration getCurrent() {
- return currentPlatformConfiguration;
- }
-
- /**
- * Create and initialize the current platform configuration
- * @param cmdArgs command line arguments (startup and boot arguments are
- * already consumed)
- * @param r10plugins plugin-path URL as passed on the BootLoader.run(...)
- * or BootLoader.startup(...) method. Supported for R1.0 compatibility
- * @param r10apps application identifies as passed on the BootLoader.run(...)
- * method. Supported for R1.0 compatibility.
- * @param metaPath path to the platform metadata area
- */
- static synchronized String[] startup(String[] cmdArgs, URL r10plugins, String r10app, String metaPath) throws Exception {
-
- // if BootLoader was invoked directly (rather than via Main), it is possible
- // to have the plugin-path and application set in 2 ways: (1) via an explicit
- // argument on the invocation method, or (2) via a command line argument (passed
- // into this method as the argument String[]). If specified, the explicit
- // values are used even if the command line arguments were specified as well.
- cmdPlugins = r10plugins; // R1.0 compatibility
- cmdApplication = r10app; // R1.0 compatibility
-
- // process command line arguments
- String[] passthruArgs = processCommandLine(cmdArgs);
- if (cmdDev)
- cmdNoUpdate = true; // force -noupdate when in dev mode (eg. PDE)
-
- // create current configuration
- if (currentPlatformConfiguration == null)
- currentPlatformConfiguration = new PlatformConfiguration(cmdConfiguration, metaPath, cmdPlugins);
-
- // check if we will be forcing reconciliation
- passthruArgs = checkForFeatureChanges(passthruArgs, currentPlatformConfiguration);
-
- // check if we should indicate new changes
- passthruArgs = checkForNewUpdates(currentPlatformConfiguration, passthruArgs);
-
- return passthruArgs;
- }
-
- static synchronized void shutdown() throws IOException {
-
- // save platform configuration
- PlatformConfiguration config = getCurrent();
- if (config != null) {
- try {
- config.save();
- } catch (IOException e) {
- if (DEBUG)
- debug("Unable to save configuration " + e.toString()); //$NON-NLS-1$
- // will recover on next startup
- }
- config.clearConfigurationLock();
- }
- }
-
- private synchronized void initializeCurrent(URL url, String metaPath, boolean createRootSite) throws IOException {
-
- boolean concurrentUse = false;
-
- if (cmdInitialize) {
- // we are running post-install initialization (-install command
- // line argument). Ignore any configuration URL passed in.
- // Force the configuration to be saved in the install location.
- // Allow an existing configuration to be re-initialized.
- url = new URL(BootLoader.getInstallURL(), CONFIG_FILE); // if we fail here, return exception
- concurrentUse = getConfigurationLock(url);
- resetInitializationConfiguration(url); // [20111]
- if (createRootSite)
- configureSite(getRootSite());
- if (DEBUG)
- debug("Initializing configuration " + url.toString()); //$NON-NLS-1$
- configLocation = url;
- verifyPath(configLocation);
- return;
- }
-
- if (url != null) {
- // configuration URL was specified. Use it (if exists), or create one
- // in specified location
-
- // check concurrent use lock
- concurrentUse = getConfigurationLock(url);
-
- // try loading the configuration
- try {
- load(url);
- if (DEBUG)
- debug("Using configuration " + url.toString()); //$NON-NLS-1$
- } catch (IOException e) {
- cmdFirstUse = true;
- if (createRootSite)
- configureSite(getRootSite());
- if (DEBUG)
- debug("Creating configuration " + url.toString()); //$NON-NLS-1$
- }
- configLocation = url;
- verifyPath(configLocation);
- return;
-
- } else {
- // configuration URL was not specified. Default behavior is to look
- // for configuration in the workspace meta area. If not found, look
- // for pre-initialized configuration in the installation location.
- // If it is found it is used as the initial configuration. Otherwise
- // a new configuration is created. In either case the resulting
- // configuration is written into the platform .metadata area
-
- // first determine configuration location in .metadata
- metaPath = metaPath.replace(File.separatorChar, '/');
- if (!metaPath.endsWith("/")) //$NON-NLS-1$
- metaPath += "/"; //$NON-NLS-1$
- URL cfigURL = new URL("file", null, 0, metaPath + CONFIG_FILE); // if we fail here, return exception //$NON-NLS-1$
-
- // check concurrent use lock
- concurrentUse = getConfigurationLock(cfigURL);
-
- // if we can load it, use it
- try {
- load(cfigURL);
- configLocation = cfigURL;
- verifyPath(configLocation);
- if (DEBUG)
- debug("Using configuration " + configLocation.toString()); //$NON-NLS-1$
- return;
- } catch (IOException e) {
- cmdFirstUse = true; // we are creating new configuration
- }
-
- // failed to load, see if we can find pre-initialized configuration.
- // Don't attempt this initialization when self-hosting (is unpredictable)
- if (createRootSite) {
- try {
- url = new URL(BootLoader.getInstallURL(), CONFIG_FILE);
- load(url);
- // pre-initialized config loaded OK ... copy any remaining update metadata
- copyInitializedState(BootLoader.getInstallURL(), metaPath, CONFIG_DIR);
- configLocation = cfigURL; // config in .metadata is the right URL
- verifyPath(configLocation);
- if (DEBUG) {
- debug("Using configuration " + configLocation.toString()); //$NON-NLS-1$
- debug("Initialized from " + url.toString()); //$NON-NLS-1$
- }
- return;
- } catch (IOException e) {
- // continue ...
- }
- }
-
- // if load failed, initialize with default site info
- if (createRootSite)
- configureSite(getRootSite());
- configLocation = cfigURL;
- verifyPath(configLocation);
- if (DEBUG)
- debug("Creating configuration " + configLocation.toString()); //$NON-NLS-1$
- return;
- }
- }
-
- private synchronized void initialize(URL url) throws IOException {
- if (url == null) {
- if (DEBUG)
- debug("Creating empty configuration object"); //$NON-NLS-1$
- return;
- }
-
- load(url);
- configLocation = url;
- if (DEBUG)
- debug("Using configuration " + configLocation.toString()); //$NON-NLS-1$
- }
-
- private ISiteEntry getRootSite() {
- // create default site entry for the root
- ISitePolicy defaultPolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
- URL siteURL = null;
- try {
- siteURL = new URL(PlatformURLBaseConnection.PLATFORM_URL_STRING); // try using platform-relative URL
- } catch (MalformedURLException e) {
- siteURL = BootLoader.getInstallURL(); // ensure we come up ... use absolute file URL
- }
- ISiteEntry defaultSite = createSiteEntry(siteURL, defaultPolicy);
- return defaultSite;
- }
-
- private void resetInitializationConfiguration(URL url) throws IOException {
- // [20111]
- if (!supportsDetection(url))
- return; // can't do ...
-
- URL resolved = resolvePlatformURL(url);
- File initCfg = new File(resolved.getFile().replace('/', File.separatorChar));
- File initDir = initCfg.getParentFile();
- resetInitializationLocation(initDir);
- }
-
- private void resetInitializationLocation(File dir) {
- // [20111]
- if (dir == null || !dir.exists() || !dir.isDirectory())
- return;
- File[] list = dir.listFiles();
- for (int i = 0; i < list.length; i++) {
- if (list[i].isDirectory())
- resetInitializationLocation(list[i]);
- list[i].delete();
- }
- }
-
- private boolean getConfigurationLock(URL url) {
- if (configurationInWorkspace(url))
- return false;
-
- if (!url.getProtocol().equals("file")) //$NON-NLS-1$
- return false;
-
- verifyPath(url);
- String cfgName = url.getFile().replace('/', File.separatorChar);
- String lockName = cfgName + CONFIG_FILE_LOCK_SUFFIX;
- cfgLockFile = new File(lockName);
-
- //if the lock file already exists, try to delete,
- //assume failure means another eclipse has it open
- if (cfgLockFile.exists())
- cfgLockFile.delete();
- if (cfgLockFile.exists()) {
- throw new RuntimeException(Policy.bind("cfig.inUse", cfgName, lockName)); //$NON-NLS-1$
- }
-
- // OK so far ... open the lock file so other instances will fail
- try {
- cfgLockFileRAF = new RandomAccessFile(cfgLockFile, "rw"); //$NON-NLS-1$
- cfgLockFileRAF.writeByte(0);
- } catch (IOException e) {
- throw new RuntimeException(Policy.bind("cfig.failCreateLock", cfgName)); //$NON-NLS-1$
- }
-
- return false;
- }
-
- private void clearConfigurationLock() {
- try {
- if (cfgLockFileRAF != null) {
- cfgLockFileRAF.close();
- cfgLockFileRAF = null;
- }
- } catch (IOException e) {
- // ignore ...
- }
- if (cfgLockFile != null) {
- cfgLockFile.delete();
- cfgLockFile = null;
- }
- }
-
- private boolean configurationInWorkspace(URL url) {
- // the configuration file is now in the workspace, so return true
- return true;
- }
-
- private void computeChangeStamp() {
- computeFeaturesChangeStamp();
- computePluginsChangeStamp();
- changeStamp = featuresChangeStamp ^ pluginsChangeStamp;
- changeStampIsValid = true;
- }
-
- private void computeFeaturesChangeStamp() {
- if (featuresChangeStampIsValid)
- return;
-
- long result = 0;
- ISiteEntry[] sites = getConfiguredSites();
- for (int i = 0; i < sites.length; i++) {
- result ^= sites[i].getFeaturesChangeStamp();
- }
- featuresChangeStamp = result;
- featuresChangeStampIsValid = true;
- }
-
- private void computePluginsChangeStamp() {
- if (pluginsChangeStampIsValid)
- return;
-
- long result = 0;
- ISiteEntry[] sites = getConfiguredSites();
- for (int i = 0; i < sites.length; i++) {
- result ^= sites[i].getPluginsChangeStamp();
- }
- pluginsChangeStamp = result;
- pluginsChangeStampIsValid = true;
- }
-
- private void configureExternalLinks() {
- URL linkURL = BootLoader.getInstallURL();
- if (!supportsDetection(linkURL))
- return;
-
- try {
- linkURL = new URL(linkURL, LINKS + "/"); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- // skip bad links ...
- if (DEBUG)
- debug("Unable to obtain link URL"); //$NON-NLS-1$
- return;
- }
-
- File linkDir = new File(linkURL.getFile());
- File[] links = linkDir.listFiles();
- if (links == null || links.length == 0) {
- if (DEBUG)
- debug("No links detected in " + linkURL.toExternalForm()); //$NON-NLS-1$
- return;
- }
-
- for (int i = 0; i < links.length; i++) {
- if (links[i].isDirectory())
- continue;
- if (DEBUG)
- debug("Link file " + links[i].getAbsolutePath()); //$NON-NLS-1$
- Properties props = new Properties();
- FileInputStream is = null;
- try {
- is = new FileInputStream(links[i]);
- props.load(is);
- configureExternalLinkSites(links[i], props);
- } catch (IOException e) {
- // skip bad links ...
- if (DEBUG)
- debug(" unable to load link file " + e); //$NON-NLS-1$
- continue;
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException e) {
- // ignore ...
- }
- }
- }
- }
- }
-
- private void configureExternalLinkSites(File linkFile, Properties props) {
- String path = props.getProperty(LINK_PATH);
- if (path == null) {
- if (DEBUG)
- debug(" no path definition"); //$NON-NLS-1$
- return;
- }
-
- String link;
- boolean updateable = true;
- URL siteURL;
- SiteEntry linkSite;
- ISitePolicy linkSitePolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-
- // parse out link information
- if (path.startsWith(LINK_READ + " ")) { //$NON-NLS-1$
- updateable = false;
- link = path.substring(2).trim();
- } else if (path.startsWith(LINK_READ_WRITE + " ")) { //$NON-NLS-1$
- link = path.substring(3).trim();
- } else {
- link = path;
- }
-
- // make sure we have a valid link specification
- try {
- if (!link.endsWith(File.separator))
- link += File.separator;
- File target = new File(link + ECLIPSE);
- link = "file:" + target.getAbsolutePath().replace(File.separatorChar, '/'); //$NON-NLS-1$
- if (!link.endsWith("/")) //$NON-NLS-1$
- link += "/"; // sites must be directories //$NON-NLS-1$
- siteURL = new URL(link);
- } catch (MalformedURLException e) {
- // ignore bad links ...
- if (DEBUG)
- debug(" bad URL " + e); //$NON-NLS-1$
- return;
- }
-
- // process the link
- linkSite = (SiteEntry) externalLinkSites.get(siteURL);
- if (linkSite != null) {
- // we already have a site for this link target, update it if needed
- linkSite.updateable = updateable;
- linkSite.linkFileName = linkFile.getAbsolutePath();
- } else {
- // this is a link to a new target so create site for it
- linkSite = (SiteEntry) createSiteEntry(siteURL, linkSitePolicy);
- linkSite.updateable = updateable;
- linkSite.linkFileName = linkFile.getAbsolutePath();
- }
-
- // configure the new site
- // NOTE: duplicates are not replaced (first one in wins)
- configureSite(linkSite);
- if (DEBUG)
- debug(" " + (updateable ? "R/W -> " : "R/O -> ") + siteURL.toString()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
-
- /*
- * compute site(s) from plugin-path and merge into specified configuration
- */
- private void updateConfigurationFromPlugins(URL file) throws IOException {
-
- // get the actual plugin path
- URL[] pluginPath = BootLoader.getPluginPath(file);
- if (pluginPath == null || pluginPath.length == 0)
- return;
-
- // create a temp configuration and populate it based on plugin path
- PlatformConfiguration tempConfig = new PlatformConfiguration((URL) null);
- for (int i = 0; i < pluginPath.length; i++) {
- String entry = pluginPath[i].toExternalForm();
- String sitePortion;
- String pluginPortion;
- int ix;
- if (entry.endsWith("/")) { //$NON-NLS-1$
- // assume directory path in the form <site>/plugins/
- // look for -------------------------------^
- ix = findEntrySeparator(entry, 2); // second from end
- sitePortion = entry.substring(0, ix + 1);
- pluginPortion = entry.substring(ix + 1);
- if (!pluginPortion.equals("plugins/")) //$NON-NLS-1$
- continue; // unsupported entry ... skip it ("fragments/" are handled)
- pluginPortion = null;
- } else {
- // assume full path in the form <site>/<pluginsDir>/<some.plugin>/plugin.xml
- // look for --------------------------^
- ix = findEntrySeparator(entry, 3); // third from end
- sitePortion = entry.substring(0, ix + 1);
- pluginPortion = entry.substring(ix + 1);
- }
- if (ix == -1)
- continue; // bad entry ... skip it
-
- URL siteURL = null;
- try {
- siteURL = new URL(sitePortion);
- if (siteURL.getProtocol().equals("file")) { //$NON-NLS-1$
- File sf = new File(siteURL.getFile());
- String sfn = sf.getAbsolutePath().replace(File.separatorChar, '/');
- if (!sfn.endsWith("/")) //$NON-NLS-1$
- sfn += "/"; //$NON-NLS-1$
- siteURL = new URL("file:" + sfn); //$NON-NLS-1$
- }
- } catch (MalformedURLException e) {
- continue; // bad entry ... skip it
- }
-
- // configure existing site or create a new one for the entry
- ISiteEntry site = tempConfig.findConfiguredSite(siteURL);
- ISitePolicy policy;
- if (site == null) {
- // new site
- if (pluginPortion == null)
- policy = tempConfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, null);
- else
- policy = tempConfig.createSitePolicy(ISitePolicy.USER_INCLUDE, new String[] { pluginPortion });
- site = tempConfig.createSiteEntry(siteURL, policy);
- tempConfig.configureSite(site);
- } else {
- // existing site
- policy = site.getSitePolicy();
- if (policy.getType() == ISitePolicy.USER_EXCLUDE)
- continue; // redundant entry ... skip it
- if (pluginPortion == null) {
- // directory entry ... change policy to exclusion (with empty list)
- policy = tempConfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, null);
- } else {
- // explicit entry ... add it to the inclusion list
- ArrayList list = new ArrayList(Arrays.asList(policy.getList()));
- list.add(pluginPortion);
- policy = tempConfig.createSitePolicy(ISitePolicy.USER_INCLUDE, (String[]) list.toArray(new String[0]));
- }
- site.setSitePolicy(policy);
- }
- }
-
- // merge resulting site(s) into the specified configuration
- ISiteEntry[] tempSites = tempConfig.getConfiguredSites();
- for (int i = 0; i < tempSites.length; i++) {
- configureSite(tempSites[i], true /*replace*/
- );
- }
- }
-
- private void validateSites() {
-
- // check to see if all sites are valid. Remove any sites that do not exist.
- SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);
- for (int i = 0; i < list.length; i++) {
- URL siteURL = list[i].getResolvedURL();
- if (!supportsDetection(siteURL))
- continue;
-
- File siteRoot = new File(siteURL.getFile().replace('/', File.separatorChar));
- if (!siteRoot.exists()) {
- unconfigureSite(list[i]);
- if (DEBUG)
- debug("Site " + siteURL + " does not exist ... removing from configuration"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
- }
-
- private void copyInitializedState(URL source, String target, String dir) {
- try {
- if (!source.getProtocol().equals("file")) //$NON-NLS-1$
- return; // need to be able to do "dir"
-
- copy(new File(source.getFile()), new File(target), dir);
-
- } catch (IOException e) {
- // this is an optimistic copy. If we fail, the state will be reconciled
- // when the update manager is triggered.
- }
- }
-
- private void copy(File srcDir, File tgtDir, String extraPath) throws IOException {
- File src = new File(srcDir, extraPath);
- File tgt = new File(tgtDir, extraPath);
-
- if (src.isDirectory()) {
- // copy content of directories
- tgt.mkdir();
- String[] list = src.list();
- if (list == null)
- return;
- for (int i = 0; i < list.length; i++) {
- copy(srcDir, tgtDir, extraPath + File.separator + list[i]);
- }
- } else {
- // copy individual files
- FileInputStream is = null;
- FileOutputStream os = null;
- try {
- is = new FileInputStream(src);
- os = new FileOutputStream(tgt);
- byte[] buff = new byte[1024];
- int count = is.read(buff);
- while (count != -1) {
- os.write(buff, 0, count);
- count = is.read(buff);
- }
- } catch (IOException e) {
- // continue ... update reconciler will have to reconstruct state
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- // ignore ...
- }
- if (os != null)
- try {
- os.close();
- } catch (IOException e) {
- // ignore ...
- }
- }
- }
- }
-
- private void load(URL url) throws IOException {
-
- if (url == null)
- throw new IOException(Policy.bind("cfig.unableToLoad.noURL")); //$NON-NLS-1$
-
- // try to load saved configuration file (watch for failed prior save())
- Properties props = null;
- IOException originalException = null;
- try {
- props = loadProperties(url, null); // try to load config file
- } catch (IOException e1) {
- originalException = e1;
- try {
- props = loadProperties(url, CONFIG_FILE_TEMP_SUFFIX); // check for failures on save
- } catch (IOException e2) {
- try {
- props = loadProperties(url, CONFIG_FILE_BAK_SUFFIX); // check for failures on save
- } catch (IOException e3) {
- throw originalException; // we tried, but no config here ...
- }
- }
- }
-
- // check version
- String v = props.getProperty(CFG_VERSION);
- if (!VERSION.equals(v)) {
- throw new IOException(Policy.bind("cfig.badVersion", v)); //$NON-NLS-1$
- }
-
- // load simple properties
- defaultFeature = loadAttribute(props, CFG_FEATURE_ENTRY_DEFAULT, null);
-
- String flag = loadAttribute(props, CFG_TRANSIENT, null);
- if (flag != null) {
- if (flag.equals("true")) //$NON-NLS-1$
- transientConfig = true;
- else
- transientConfig = false;
- }
-
- String stamp = loadAttribute(props, CFG_STAMP, null);
- if (stamp != null) {
- try {
- lastChangeStamp = Long.parseLong(stamp);
- } catch (NumberFormatException e) {
- // ignore bad attribute ...
- }
- }
-
- stamp = loadAttribute(props, CFG_FEATURE_STAMP, null);
- if (stamp != null) {
- try {
- lastFeaturesChangeStamp = Long.parseLong(stamp);
- } catch (NumberFormatException e) {
- // ignore bad attribute ...
- }
- }
-
- stamp = loadAttribute(props, CFG_PLUGIN_STAMP, null);
- if (stamp != null) {
- try {
- lastPluginsChangeStamp = Long.parseLong(stamp);
- } catch (NumberFormatException e) {
- // ignore bad attribute ...
- }
- }
-
- // load bootstrap entries
- String[] ids = getBootstrapPluginIdentifiers();
- for (int i = 0; i < ids.length; i++) {
- bootPlugins.put(ids[i], loadAttribute(props, CFG_BOOT_PLUGIN + "." + ids[i], null)); //$NON-NLS-1$
- }
-
- // load feature entries
- IFeatureEntry fe = loadFeatureEntry(props, CFG_FEATURE_ENTRY + ".0", null); //$NON-NLS-1$
- for (int i = 1; fe != null; i++) {
- configureFeatureEntry(fe);
- fe = loadFeatureEntry(props, CFG_FEATURE_ENTRY + "." + i, null); //$NON-NLS-1$
- }
-
- // load site properties
- SiteEntry root = (SiteEntry) getRootSite();
- String rootUrlString = root.getURL().toExternalForm();
- SiteEntry se = (SiteEntry) loadSite(props, CFG_SITE + ".0", null); //$NON-NLS-1$
- for (int i = 1; se != null; i++) {
-
- // check if we are forcing "first use" processing with an existing
- // platform.cfg. In this case ignore site entry that represents
- // the platform install, and use a root site entry in its place.
- // This ensures we do not get messed up by an exclusion list that
- // is read from the prior state.
- if (cmdFirstUse && rootUrlString.equals(se.getURL().toExternalForm()))
- se = root;
-
- if (!se.isExternallyLinkedSite())
- configureSite(se);
- else
- // remember external link site state, but do not configure at this point
- externalLinkSites.put(se.getURL(), se);
- se = (SiteEntry) loadSite(props, CFG_SITE + "." + i, null); //$NON-NLS-1$
- }
- }
-
- private Properties loadProperties(URL url, String suffix) throws IOException {
-
- // figure out what we will be loading
- if (suffix != null && !suffix.equals("")) //$NON-NLS-1$
- url = new URL(url.getProtocol(), url.getHost(), url.getPort(), url.getFile() + suffix);
-
- // try to load saved configuration file
- Properties props = new Properties();
- InputStream is = null;
- try {
- is = url.openStream();
- props.load(is);
- // check to see if we have complete config file
- if (!EOF.equals(props.getProperty(EOF))) {
- throw new IOException(Policy.bind("cfig.unableToLoad.incomplete", url.toString())); //$NON-NLS-1$
- }
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException e) {
- // ignore ...
- }
- }
- }
- return props;
- }
-
- private ISiteEntry loadSite(Properties props, String name, ISiteEntry dflt) {
-
- String urlString = loadAttribute(props, name + "." + CFG_URL, null); //$NON-NLS-1$
- if (urlString == null)
- return dflt;
-
- URL url = null;
- try {
- url = new URL(urlString);
- } catch (MalformedURLException e) {
- return dflt;
- }
-
- int policyType;
- String[] policyList;
- String typeString = loadAttribute(props, name + "." + CFG_POLICY, null); //$NON-NLS-1$
- if (typeString == null) {
- policyType = DEFAULT_POLICY_TYPE;
- policyList = DEFAULT_POLICY_LIST;
- } else {
- int i;
- for (i = 0; i < CFG_POLICY_TYPE.length; i++) {
- if (typeString.equals(CFG_POLICY_TYPE[i])) {
- break;
- }
- }
- if (i >= CFG_POLICY_TYPE.length) {
- policyType = DEFAULT_POLICY_TYPE;
- policyList = DEFAULT_POLICY_LIST;
- } else {
- policyType = i;
- policyList = loadListAttribute(props, name + "." + CFG_LIST, new String[0]); //$NON-NLS-1$
- }
- }
-
- ISitePolicy sp = createSitePolicy(policyType, policyList);
- SiteEntry site = (SiteEntry) createSiteEntry(url, sp);
-
- String stamp = loadAttribute(props, name + "." + CFG_STAMP, null); //$NON-NLS-1$
- if (stamp != null) {
- try {
- site.lastChangeStamp = Long.parseLong(stamp);
- } catch (NumberFormatException e) {
- // ignore bad attribute ...
- }
- }
-
- stamp = loadAttribute(props, name + "." + CFG_FEATURE_STAMP, null); //$NON-NLS-1$
- if (stamp != null) {
- try {
- site.lastFeaturesChangeStamp = Long.parseLong(stamp);
- } catch (NumberFormatException e) {
- // ignore bad attribute ...
- }
- }
-
- stamp = loadAttribute(props, name + "." + CFG_PLUGIN_STAMP, null); //$NON-NLS-1$
- if (stamp != null) {
- try {
- site.lastPluginsChangeStamp = Long.parseLong(stamp);
- } catch (NumberFormatException e) {
- // ignore bad attribute ...
- }
- }
-
- String flag = loadAttribute(props, name + "." + CFG_UPDATEABLE, null); //$NON-NLS-1$
- if (flag != null) {
- if (flag.equals("true")) //$NON-NLS-1$
- site.updateable = true;
- else
- site.updateable = false;
- }
-
- String linkname = loadAttribute(props, name + "." + CFG_LINK_FILE, null); //$NON-NLS-1$
- if (linkname != null && !linkname.equals("")) { //$NON-NLS-1$
- site.linkFileName = linkname.replace('/', File.separatorChar);
- }
-
- return site;
- }
-
- private IFeatureEntry loadFeatureEntry(Properties props, String name, IFeatureEntry dflt) {
- String id = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_ID, null); //$NON-NLS-1$
- if (id == null)
- return dflt;
- String version = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_VERSION, null); //$NON-NLS-1$
- String pluginVersion = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_PLUGIN_VERSION, null); //$NON-NLS-1$
- if (pluginVersion == null)
- pluginVersion = version;
- String pluginIdentifier = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER, null); //$NON-NLS-1$
- if (pluginIdentifier == null)
- pluginIdentifier = id;
- String application = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_APPLICATION, null); //$NON-NLS-1$
- ArrayList rootList = new ArrayList();
-
- // get install locations
- String rootString = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_ROOT + ".0", null); //$NON-NLS-1$ //$NON-NLS-2$
- for (int i = 1; rootString != null; i++) {
- try {
- URL rootEntry = new URL(rootString);
- rootList.add(rootEntry);
- } catch (MalformedURLException e) {
- // skip bad entries ...
- }
- rootString = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_ROOT + "." + i, null); //$NON-NLS-1$ //$NON-NLS-2$
- }
- URL[] roots = (URL[]) rootList.toArray(new URL[0]);
-
- // get primary flag
- boolean primary = false;
- String flag = loadAttribute(props, name + "." + CFG_FEATURE_ENTRY_PRIMARY, null); //$NON-NLS-1$
- if (flag != null) {
- if (flag.equals("true")) //$NON-NLS-1$
- primary = true;
- }
- return createFeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, roots);
- }
-
- private String[] loadListAttribute(Properties props, String name, String[] dflt) {
- ArrayList list = new ArrayList();
- String value = loadAttribute(props, name + ".0", null); //$NON-NLS-1$
- if (value == null)
- return dflt;
-
- for (int i = 1; value != null; i++) {
- loadListAttributeSegment(list, value);
- value = loadAttribute(props, name + "." + i, null); //$NON-NLS-1$
- }
- return (String[]) list.toArray(new String[0]);
- }
-
- private void loadListAttributeSegment(ArrayList list, String value) {
-
- if (value == null)
- return;
-
- StringTokenizer tokens = new StringTokenizer(value, ","); //$NON-NLS-1$
- String token;
- while (tokens.hasMoreTokens()) {
- token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- list.add(token);
- }
- return;
- }
-
- private String loadAttribute(Properties props, String name, String dflt) {
- String prop = props.getProperty(name);
- if (prop == null)
- return dflt;
- else
- return prop.trim();
- }
-
- private void loadInitializationAttributes() {
-
- // look for the product initialization file relative to the install location
- URL url = BootLoader.getInstallURL();
-
- // load any initialization attributes. These are the default settings for
- // key attributes (eg. default primary feature) supplied by the packaging team.
- // They are always reloaded on startup to pick up any changes due to
- // "native" updates.
- Properties initProps = new Properties();
- InputStream is = null;
- try {
- URL initURL = new URL(url, CONFIG_FILE_INIT);
- is = initURL.openStream();
- initProps.load(is);
- if (DEBUG)
- debug("Defaults from " + initURL.toExternalForm()); //$NON-NLS-1$
- } catch (IOException e) {
- return; // could not load default settings
- } finally {
- if (is != null) {
- try {
- is.close();
- } catch (IOException e) {
- // ignore ...
- }
- }
- }
-
- // use default settings if supplied
- String initId = loadAttribute(initProps, INIT_DEFAULT_FEATURE_ID, null);
- if (initId != null) {
- String application = loadAttribute(initProps, INIT_DEFAULT_FEATURE_APPLICATION, null);
- String initPluginId = loadAttribute(initProps, INIT_DEFAULT_PLUGIN_ID, null);
- if (initPluginId==null)
- initPluginId = initId;
- IFeatureEntry fe = findConfiguredFeatureEntry(initId);
-
- if (fe == null) {
- // bug 26896 : setup optimistic reconciliation if the primary feature has changed or is new
- cmdFirstUse = true;
- // create entry if not exists
- fe = createFeatureEntry(initId, null, initPluginId, null, true, application, null);
- } else
- // update existing entry with new info
- fe = createFeatureEntry(initId, fe.getFeatureVersion(), fe.getFeaturePluginIdentifier(), fe.getFeaturePluginVersion(), fe.canBePrimary(), application, fe.getFeatureRootURLs());
- configureFeatureEntry(fe);
- defaultFeature = initId;
- if (DEBUG) {
- debug(" Default primary feature: " + defaultFeature); //$NON-NLS-1$
- if (application != null)
- debug(" Default application : " + application); //$NON-NLS-1$
- }
- }
- }
-
- private void locateDefaultPlugins() {
-
- // determine the runtime for the currently executing boot loader
- HashMap runtimeImport = getRuntimeImport();
-
- // locate runtime plugin matching the import from boot
- URL runtimePluginPath = getPluginPath(runtimeImport);
- if (runtimePluginPath == null)
- throw new RuntimeException(Policy.bind("error.runtime")); //$NON-NLS-1$
-
- // get boot descriptor for runtime plugin
- runtimeDescriptor = createPluginBootDescriptor(runtimePluginPath);
-
- // determine the xml plugin for the selected runtime
- HashMap xmlImport = getImport(runtimePluginPath, XML_PLUGIN_ID);
-
- // locate xml plugin matching the import from runtime plugin
- URL xmlPluginPath = getPluginPath(xmlImport);
- if (xmlPluginPath == null)
- throw new RuntimeException(Policy.bind("error.xerces")); //$NON-NLS-1$
-
- // get boot descriptor for xml plugin
- xmlDescriptor = createPluginBootDescriptor(xmlPluginPath);
- }
-
- private HashMap getRuntimeImport() {
- // determine the load directory location of the boot loader
- URL url = InternalBootLoader.class.getProtectionDomain().getCodeSource().getLocation();
- String path = InternalBootLoader.decode(url.getFile());
- File base = new File(path);
- if (!base.isDirectory())
- base = base.getParentFile(); // was loaded from jar
-
- // find the plugin.xml (need to search because in dev mode
- // we can have some extra directory entries)
- File xml = null;
- while (base != null) {
- xml = new File(base, BOOT_XML);
- if (xml.exists())
- break;
- base = base.getParentFile();
- }
- if (xml == null)
- throw new RuntimeException(Policy.bind("error.boot")); //$NON-NLS-1$
-
- try {
- return getImport(xml.toURL(), RUNTIME_PLUGIN_ID);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- private HashMap getImport(URL entry, String id) {
- if (id == null)
- return null;
- final String fId = id;
-
- // parse out the import element attributes
- Selector importSel = new Selector() {
- // parse out import attributes
- public boolean select(String element) {
- if (element.startsWith("import")) //$NON-NLS-1$
- return true;
- else
- return false;
- }
- public boolean select(String element, HashMap attributes) {
- if (attributes == null)
- return false;
- String plugin = (String) attributes.get("plugin"); //$NON-NLS-1$
- return fId.equals(plugin);
- }
- };
- Parser p = new Parser(entry);
- return p.getElement(importSel);
- }
-
- private BootDescriptor createPluginBootDescriptor(URL entry) {
- if (entry == null)
- return null;
-
- // selector for plugin element
- Selector pluginSel = new Selector() {
- public boolean select(String element) {
- if (element.startsWith("plugin")) //$NON-NLS-1$
- return true;
- else
- return false;
- }
- public boolean select(String element, HashMap attributes) {
- return true;
- }
- };
-
- // selector for library elements
- final ArrayList libs = new ArrayList();
- Selector librarySel = new Selector() {
- public boolean select(String element) {
- if (element.startsWith("library")) //$NON-NLS-1$
- return true;
- else
- return false;
- }
- public boolean select(String element, HashMap attributes) {
- if (attributes == null)
- return false;
- String lib = (String) attributes.get("name"); //$NON-NLS-1$
- if (lib != null)
- libs.add(lib);
- return false; // accumulate all library elements
- }
- };
-
- // parse out descriptor information
- Parser p = new Parser(entry);
- String id = null;
- String version = null;
- HashMap attributes = p.getElement(pluginSel);
- if (attributes != null) {
- id = (String) attributes.get("id"); //$NON-NLS-1$
- version = (String) attributes.get("version"); //$NON-NLS-1$
- }
- if (id == null)
- id = ""; //$NON-NLS-1$
- if (version == null)
- version = "0.0.0"; //$NON-NLS-1$
-
- p.getElement(librarySel);
- String[] libraries = (String[]) libs.toArray(new String[0]);
-
- String dir = entry.getFile();
- int ix = dir.lastIndexOf("/"); //$NON-NLS-1$
- dir = dir.substring(0, ix + 1);
- URL dirURL = null;
- try {
- dirURL = new URL(entry.getProtocol(), entry.getHost(), entry.getPort(), dir);
- } catch (MalformedURLException e) {
- // continue ...
- }
-
- // return boot descriptor for the plugin
- return new BootDescriptor(id, version, libraries, dirURL);
- }
-
- private URL getPluginPath(HashMap importElement) {
- // return the plugin path element for the specified import element
-
- if (importElement == null)
- return null;
-
- // determine which plugin we are looking for
- VersionedIdentifier id;
- String pid = (String) importElement.get("plugin"); //$NON-NLS-1$
- String version = (String) importElement.get("version"); //$NON-NLS-1$
- String match = (String) importElement.get("match"); //$NON-NLS-1$
- if (pid == null)
- return null; // bad <import> element
- if (version == null)
- id = new VersionedIdentifier(pid);
- else {
- id = new VersionedIdentifier(pid + "_" + version); //$NON-NLS-1$
- if (match == null)
- match = "compatible"; //$NON-NLS-1$
- }
-
- // search plugins on all configured sites
- ISiteEntry[] sites = getConfiguredSites();
- if (sites == null || sites.length == 0)
- return null;
-
- VersionedIdentifier savedVid = id; // initialize with baseline we are looking for
- String savedEntry = null;
- URL savedURL = null;
- for (int j = 0; j < sites.length; j++) {
- String[] plugins = sites[j].getPlugins();
- for (int i = 0; plugins != null && i < plugins.length; i++) {
- // look for best match.
- // The entries are in the form <path>/<pluginDir>/plugin.xml
- // look for -------------------------^
- int ix = findEntrySeparator(plugins[i], 2); // second from end
- if (ix == -1)
- continue; // bad entry ... skip
- String pluginDir = plugins[i].substring(ix + 1);
- ix = pluginDir.indexOf("/"); //$NON-NLS-1$
- if (ix != -1)
- pluginDir = pluginDir.substring(0, ix);
- if (pluginDir.equals("")) //$NON-NLS-1$
- continue; // bad entry ... skip
-
- // compare the candidate plugin using the matching rule
- VersionedIdentifier vid = new VersionedIdentifier(pluginDir);
- if (vid.equalIdentifiers(id)) {
-
- // check if we have suffixed directory. If not (eg. self-hosting)
- // we need to actually parse the plugin.xml to get its version
- if (pluginDir.indexOf("_") == -1) { //$NON-NLS-1$
- URL xmlURL = null;
- try {
- xmlURL = new URL(((SiteEntry) sites[j]).getResolvedURL(), plugins[i]);
- } catch (MalformedURLException e) {
- continue; // bad URL ... skip
- }
-
- // parse out the plugin element attributes
- final String fpid = pid;
- Selector versionSel = new Selector() {
- // parse out plugin attributes
- public boolean select(String element) {
- if (element.startsWith("plugin")) //$NON-NLS-1$
- return true;
- else
- return false;
- }
- public boolean select(String element, HashMap attributes) {
- if (attributes == null)
- return false;
- String plugin = (String) attributes.get("id"); //$NON-NLS-1$
- return fpid.equals(plugin);
- }
- };
- Parser p = new Parser(xmlURL);
- HashMap attributes = p.getElement(versionSel);
- if (attributes == null)
- continue; // bad xml ... skip
- String pluginVersion;
- if ((pluginVersion = (String) attributes.get("version")) == null) //$NON-NLS-1$
- continue; // bad xml ... skip
- pluginDir += "_" + pluginVersion; //$NON-NLS-1$
- vid = new VersionedIdentifier(pluginDir);
- }
-
- // do the comparison
- int result;
- if ((result = vid.compareVersion(savedVid)) >= 0) {
- if ("greaterOrEqual".equals(match)) { //$NON-NLS-1$
- if (result > VersionedIdentifier.GREATER_THAN)
- continue;
- } else if ("compatible".equals(match)) { //$NON-NLS-1$
- if (result > VersionedIdentifier.COMPATIBLE)
- continue;
- } else if ("equivalent".equals(match)) { //$NON-NLS-1$
- if (result > VersionedIdentifier.EQUIVALENT)
- continue;
- } else if ("perfect".equals(match)) { //$NON-NLS-1$
- if (result > VersionedIdentifier.EQUAL)
- continue;
- } else if (result > VersionedIdentifier.GREATER_THAN)
- continue; // use the latest
- savedVid = vid;
- savedEntry = plugins[i];
- savedURL = ((SiteEntry) sites[j]).getResolvedURL();
- }
- }
- }
- }
-
- if (savedEntry == null)
- return null;
-
- try {
- return new URL(savedURL, savedEntry);
- } catch (MalformedURLException e) {
- return null;
- }
- }
-
- private void write(PrintWriter w) {
- // write header
- w.println("# " + (new Date()).toString()); //$NON-NLS-1$
- writeAttribute(w, CFG_VERSION, VERSION);
- if (transientConfig)
- writeAttribute(w, CFG_TRANSIENT, "true"); //$NON-NLS-1$
- w.println(""); //$NON-NLS-1$
-
- // write global attributes
- writeAttribute(w, CFG_STAMP, Long.toString(getChangeStamp()));
- writeAttribute(w, CFG_FEATURE_STAMP, Long.toString(getFeaturesChangeStamp()));
- writeAttribute(w, CFG_PLUGIN_STAMP, Long.toString(getPluginsChangeStamp()));
-
- // write out bootstrap entries
- String[] ids = getBootstrapPluginIdentifiers();
- for (int i = 0; i < ids.length; i++) {
- String location = (String) bootPlugins.get(ids[i]);
- if (location != null)
- writeAttribute(w, CFG_BOOT_PLUGIN + "." + ids[i], location); //$NON-NLS-1$
- }
-
- // write out feature entries
- w.println(""); //$NON-NLS-1$
- writeAttribute(w, CFG_FEATURE_ENTRY_DEFAULT, defaultFeature);
- IFeatureEntry[] feats = getConfiguredFeatureEntries();
- for (int i = 0; i < feats.length; i++) {
- writeFeatureEntry(w, CFG_FEATURE_ENTRY + "." + Integer.toString(i), feats[i]); //$NON-NLS-1$
- }
-
- // write out site entries
- SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);
- for (int i = 0; i < list.length; i++) {
- writeSite(w, CFG_SITE + "." + Integer.toString(i), list[i]); //$NON-NLS-1$
- }
-
- // write end-of-file marker
- writeAttribute(w, EOF, EOF);
- }
-
- private void writeSite(PrintWriter w, String id, SiteEntry entry) {
-
- // write site separator
- w.println(""); //$NON-NLS-1$
-
- // write out site settings
- writeAttribute(w, id + "." + CFG_URL, entry.getURL().toString()); //$NON-NLS-1$
- writeAttribute(w, id + "." + CFG_STAMP, Long.toString(entry.getChangeStamp())); //$NON-NLS-1$
- writeAttribute(w, id + "." + CFG_FEATURE_STAMP, Long.toString(entry.getFeaturesChangeStamp())); //$NON-NLS-1$
- writeAttribute(w, id + "." + CFG_PLUGIN_STAMP, Long.toString(entry.getPluginsChangeStamp())); //$NON-NLS-1$
- writeAttribute(w, id + "." + CFG_UPDATEABLE, entry.updateable ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (entry.linkFileName != null && !entry.linkFileName.trim().equals("")) //$NON-NLS-1$
- writeAttribute(w, id + "." + CFG_LINK_FILE, entry.linkFileName.trim().replace(File.separatorChar, '/')); //$NON-NLS-1$
-
- // write out site policy
- int type = entry.getSitePolicy().getType();
- String typeString = CFG_POLICY_TYPE_UNKNOWN;
- try {
- typeString = CFG_POLICY_TYPE[type];
- } catch (IndexOutOfBoundsException e) {
- // ignore bad attribute ...
- }
- writeAttribute(w, id + "." + CFG_POLICY, typeString); //$NON-NLS-1$
- writeListAttribute(w, id + "." + CFG_LIST, entry.getSitePolicy().getList()); //$NON-NLS-1$
- }
-
- private void writeFeatureEntry(PrintWriter w, String id, IFeatureEntry entry) {
-
- // write feature entry separator
- w.println(""); //$NON-NLS-1$
-
- // write out feature entry settings
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_ID, entry.getFeatureIdentifier()); //$NON-NLS-1$
- if (entry.canBePrimary())
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_PRIMARY, "true"); //$NON-NLS-1$ //$NON-NLS-2$
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_VERSION, entry.getFeatureVersion()); //$NON-NLS-1$
- if (entry.getFeatureVersion() != null && !entry.getFeatureVersion().equals(entry.getFeaturePluginVersion()))
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_PLUGIN_VERSION, entry.getFeaturePluginVersion()); //$NON-NLS-1$
- if (entry.getFeatureIdentifier() != null && !entry.getFeatureIdentifier().equals(entry.getFeaturePluginIdentifier()))
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER, entry.getFeaturePluginIdentifier()); //$NON-NLS-1$
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_APPLICATION, entry.getFeatureApplication()); //$NON-NLS-1$
- URL[] roots = entry.getFeatureRootURLs();
- for (int i = 0; i < roots.length; i++) {
- // write our as individual attributes (is easier for Main.java to read)
- writeAttribute(w, id + "." + CFG_FEATURE_ENTRY_ROOT + "." + i, roots[i].toExternalForm()); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-
- private void writeListAttribute(PrintWriter w, String id, String[] list) {
- if (list == null || list.length == 0)
- return;
-
- String value = ""; //$NON-NLS-1$
- int listLen = 0;
- int listIndex = 0;
- for (int i = 0; i < list.length; i++) {
- if (listLen != 0)
- value += ","; //$NON-NLS-1$
- else
- value = ""; //$NON-NLS-1$
- value += list[i];
-
- if (++listLen >= CFG_LIST_LENGTH) {
- writeAttribute(w, id + "." + Integer.toString(listIndex++), value); //$NON-NLS-1$
- listLen = 0;
- }
- }
- if (listLen != 0)
- writeAttribute(w, id + "." + Integer.toString(listIndex), value); //$NON-NLS-1$
- }
-
- private void writeAttribute(PrintWriter w, String id, String value) {
- if (value == null || value.trim().equals("")) //$NON-NLS-1$
- return;
- w.println(id + "=" + escapedValue(value)); //$NON-NLS-1$
- }
-
- private String escapedValue(String value) {
- // if required, escape property values as \\uXXXX
- StringBuffer buf = new StringBuffer(value.length() * 2); // assume expansion by less than factor of 2
- for (int i = 0; i < value.length(); i++) {
- char character = value.charAt(i);
- if (character == '\\' || character == '\t' || character == '\r' || character == '\n' || character == '\f') {
- // handle characters requiring leading \
- buf.append('\\');
- buf.append(character);
- } else if ((character < 0x0020) || (character > 0x007e)) {
- // handle characters outside base range (encoded)
- buf.append('\\');
- buf.append('u');
- buf.append(HEX[(character >> 12) & 0xF]); // first nibble
- buf.append(HEX[(character >> 8) & 0xF]); // second nibble
- buf.append(HEX[(character >> 4) & 0xF]); // third nibble
- buf.append(HEX[character & 0xF]); // fourth nibble
- } else {
- // handle base characters
- buf.append(character);
- }
- }
- return buf.toString();
- }
-
- private static String[] checkForFeatureChanges(String[] args, PlatformConfiguration cfg) {
- String original = cfg.getApplicationIdentifierInternal();
- String actual = cfg.getApplicationIdentifier();
-
- if (original.equals(actual))
- // base startup of specified application
- return args;
- else {
- // Will run reconciler.
- // Re-insert -application argument with original app and optionally
- // force "first use" processing
- int newArgCnt = cmdFirstUse ? 3 : 2;
- String[] newArgs = new String[args.length + newArgCnt];
- newArgs[0] = CMD_APPLICATION;
- newArgs[1] = original;
- if (cmdFirstUse)
- newArgs[2] = CMD_FIRSTUSE;
- System.arraycopy(args, 0, newArgs, newArgCnt, args.length);
- if (DEBUG)
- debug("triggering reconciliation ..."); //$NON-NLS-1$
- return newArgs;
- }
- }
-
- private static String[] checkForNewUpdates(IPlatformConfiguration cfg, String[] args) {
- try {
- URL markerURL = new URL(cfg.getConfigurationLocation(), CHANGES_MARKER);
- File marker = new File(markerURL.getFile());
- if (!marker.exists())
- return args;
-
- // indicate -newUpdates
- marker.delete();
- String[] newArgs = new String[args.length + 1];
- newArgs[0] = CMD_NEW_UPDATES;
- System.arraycopy(args, 0, newArgs, 1, args.length);
- return newArgs;
- } catch (MalformedURLException e) {
- return args;
- }
- }
-
- private static String[] processCommandLine(String[] args) throws Exception {
- int[] configArgs = new int[100];
- configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
- int configArgIndex = 0;
- for (int i = 0; i < args.length; i++) {
- boolean found = false;
-
- // check for args without parameters (i.e., a flag arg)
-
- // look for forced "first use" processing (triggered by stale
- // bootstrap information)
- if (args[i].equalsIgnoreCase(CMD_FIRSTUSE)) {
- cmdFirstUse = true;
- found = true;
- }
-
- // look for the update flag
- if (args[i].equalsIgnoreCase(CMD_UPDATE)) {
- cmdUpdate = true;
- found = true;
- }
-
- // look for the no-update flag
- if (args[i].equalsIgnoreCase(CMD_NO_UPDATE)) {
- cmdNoUpdate = true;
- found = true;
- }
-
- // look for the initialization flag
- if (args[i].equalsIgnoreCase(CMD_INITIALIZE)) {
- cmdInitialize = true;
- continue; // do not remove from command line
- }
-
- // look for the development mode flag ... triggers no-update
- if (args[i].equalsIgnoreCase(CMD_DEV)) {
- cmdDev = true;
- continue; // do not remove from command line
- }
-
- if (found) {
- configArgs[configArgIndex++] = i;
- continue;
- }
-
- // check for args with parameters. If we are at the last argument or if the next one
- // has a '-' as the first character, then we can't have an arg with a parm so continue.
-
- if (i == args.length - 1 || args[i + 1].startsWith("-")) { //$NON-NLS-1$
- continue;
- }
-
- String arg = args[++i];
-
- // look for the platform configuration to use.
- if (args[i - 1].equalsIgnoreCase(CMD_CONFIGURATION)) {
- found = true;
- cmdConfiguration = arg;
- }
-
- // look for the feature to use for customization.
- if (args[i - 1].equalsIgnoreCase(CMD_FEATURE)) {
- found = true;
- cmdFeature = arg;
- }
-
- // look for the application to run. Only use the value from the
- // command line if the application identifier was not explicitly
- // passed on BootLoader.run(...) invocation.
- if (args[i - 1].equalsIgnoreCase(CMD_APPLICATION)) {
- found = true;
- if (cmdApplication == null)
- cmdApplication = arg;
- }
-
- // R1.0 compatibility
- // look for the plugins location to use. Only use the value from the
- // command line if the plugins location was not explicitly passed on
- // BootLoader.run(...) or BootLoader.startup(...) invocation.
- if (args[i - 1].equalsIgnoreCase(CMD_PLUGINS)) {
- found = true;
- // if the arg can be made into a URL use it. Otherwise assume that
- // it is a file path so make a file URL.
- try {
- if (cmdPlugins == null)
- cmdPlugins = new URL(arg);
- } catch (MalformedURLException e) {
- try {
- cmdPlugins = new URL("file:" + arg.replace(File.separatorChar, '/')); //$NON-NLS-1$
- } catch (MalformedURLException e2) {
- throw e; // rethrow original exception
- }
- }
- }
-
- // done checking for args. Remember where an arg was found
- if (found) {
- configArgs[configArgIndex++] = i - 1;
- configArgs[configArgIndex++] = i;
- }
- }
-
- // remove all the arguments consumed by this argument parsing
- if (configArgIndex == 0)
- return args;
- String[] passThruArgs = new String[args.length - configArgIndex];
- configArgIndex = 0;
- int j = 0;
- for (int i = 0; i < args.length; i++) {
- if (i == configArgs[configArgIndex])
- configArgIndex++;
- else
- passThruArgs[j++] = args[i];
- }
- return passThruArgs;
- }
-
- private static int findEntrySeparator(String pathEntry, int cnt) {
- for (int i = pathEntry.length() - 1; i >= 0; i--) {
- if (pathEntry.charAt(i) == '/') {
- if (--cnt == 0)
- return i;
- }
- }
- return -1;
- }
-
- private static String[] stringListToArray(String prop, String separator) {
- if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
- return new String[0];
- ArrayList list = new ArrayList();
- StringTokenizer tokens = new StringTokenizer(prop, separator);
- while (tokens.hasMoreTokens()) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- list.add(token);
- }
- return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[0]);
- }
-
- private static boolean supportsDetection(URL url) {
- String protocol = url.getProtocol();
- if (protocol.equals("file")) //$NON-NLS-1$
- return true;
- else if (protocol.equals(PlatformURLHandler.PROTOCOL)) {
- URL resolved = null;
- try {
- resolved = resolvePlatformURL(url); // 19536
- } catch (IOException e) {
- return false; // we tried but failed to resolve the platform URL
- }
- return resolved.getProtocol().equals("file"); //$NON-NLS-1$
- } else
- return false;
- }
-
- private static void verifyPath(URL url) {
- String protocol = url.getProtocol();
- String path = null;
- if (protocol.equals("file")) //$NON-NLS-1$
- path = url.getFile();
- else if (protocol.equals(PlatformURLHandler.PROTOCOL)) {
- URL resolved = null;
- try {
- resolved = resolvePlatformURL(url); // 19536
- if (resolved.getProtocol().equals("file")) //$NON-NLS-1$
- path = resolved.getFile();
- } catch (IOException e) {
- // continue ...
- }
- }
-
- if (path != null) {
- File dir = new File(path).getParentFile();
- if (dir != null)
- dir.mkdirs();
- }
- }
-
- private static URL resolvePlatformURL(URL url) throws IOException {
- // 19536
- if (url.getProtocol().equals(PlatformURLHandler.PROTOCOL)) {
- URLConnection connection = url.openConnection();
- if (connection instanceof PlatformURLConnection) {
- url = ((PlatformURLConnection) connection).getResolvedURL();
- } else {
- // connection = new PlatformURLBaseConnection(url);
- // url = ((PlatformURLConnection)connection).getResolvedURL();
- url = InternalBootLoader.getInstallURL();
- }
- }
- return url;
- }
-
- private static void debug(String s) {
- System.out.println("PlatformConfig: " + s); //$NON-NLS-1$
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
deleted file mode 100644
index 5d9813a..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLBaseConnection.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-/**
- * Platform URL support
- * platform:/base/ maps to platform installation location
- */
-
-import java.io.IOException;
-import java.net.URL;
-
-public class PlatformURLBaseConnection extends PlatformURLConnection {
-
- // platform/ protocol
- public static final String PLATFORM = "base"; //$NON-NLS-1$
- public static final String PLATFORM_URL_STRING = PlatformURLHandler.PROTOCOL+PlatformURLHandler.PROTOCOL_SEPARATOR+"/"+PLATFORM+"/"; //$NON-NLS-1$ //$NON-NLS-2$
-
- private static URL installURL;
-public PlatformURLBaseConnection(URL url) {
- super(url);
-}
-protected boolean allowCaching() {
- return true;
-}
-protected URL resolve() throws IOException {
- String spec = url.getFile().trim();
- if (spec.startsWith("/")) //$NON-NLS-1$
- spec = spec.substring(1);
- if (!spec.startsWith(PLATFORM+"/")) { //$NON-NLS-1$
- String message = Policy.bind("url.badVariant", url.toString()); //$NON-NLS-1$
- throw new IOException(message);
- }
- return spec.length()==PLATFORM.length()+1 ? installURL : new URL(installURL,spec.substring(PLATFORM.length()+1));
-}
-public static void startup(URL url) {
-
- // register connection type for platform:/base/ handling
- if (installURL!=null) return;
- installURL = url;
- PlatformURLHandler.register(PLATFORM, PlatformURLBaseConnection.class);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
deleted file mode 100644
index 5686ce9..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLConnection.java
+++ /dev/null
@@ -1,459 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-/**
- * Platform URL support
- */
-
-import java.net.*;
-import java.io.*;
-import java.util.*;
-
-public abstract class PlatformURLConnection extends URLConnection {
-
- // URL access
- private boolean isInCache = false;
- private boolean isJar = false;
-
-// protected URL url; // declared in super (platform: URL)
- private URL resolvedURL = null; // resolved file URL (eg. http: URL)
- private URL cachedURL = null; // file URL in cache (file: URL)
-
- private URLConnection connection = null; // actual connection
-
- // local cache
- private static Properties cacheIndex = new Properties();
- private static String cacheLocation;
- private static String indexName;
- private static String filePrefix;
-
- // constants
- private static final int BUF_SIZE = 32768;
- private static final Object NOT_FOUND = new Object(); // marker
- private static final String CACHE_PROP = ".cache.properties"; //$NON-NLS-1$
- private static final String CACHE_LOCATION_PROP = "location"; //$NON-NLS-1$
- private static final String CACHE_INDEX_PROP = "index"; //$NON-NLS-1$
- private static final String CACHE_PREFIX_PROP = "prefix"; //$NON-NLS-1$
- private static final String CACHE_INDEX = ".index.properties"; //$NON-NLS-1$
- private static final String CACHE_DIR = PlatformURLHandler.PROTOCOL + File.separator;
-
- // debug tracing
- public static boolean DEBUG = false;
- public static boolean DEBUG_CONNECT = true;
- public static boolean DEBUG_CACHE_LOOKUP = true;
- public static boolean DEBUG_CACHE_COPY = true;
-protected PlatformURLConnection(URL url) {
- super(url);
-}
-protected boolean allowCaching() {
- return false;
-}
-public void connect() throws IOException {
- connect(false);
-}
-private synchronized void connect(boolean asLocal) throws IOException {
- if (!connected) {
- if (shouldCache(asLocal)) {
- try {
- URL inCache = getURLInCache();
- if (inCache!=null) connection = inCache.openConnection();
- } catch(IOException e) {
- // failed to cache ... will use resolved URL instead
- }
- }
-
- // use resolved URL
- if (connection==null) connection = resolvedURL.openConnection();
- connected = true;
- if (DEBUG && DEBUG_CONNECT)
- debug("Connected as "+connection.getURL()); //$NON-NLS-1$
- }
-}
-private void copyToCache() throws IOException {
-
- if (isInCache | cachedURL==null) return;
- String tmp;
- int ix;
-
- // cache entry key
- String key;
- if (isJar) {
- tmp = url.getFile();
- ix = tmp.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
- if (ix!=-1) tmp = tmp.substring(0,ix);
- key = tmp;
- }
- else key = url.getFile();
-
- // source url
- URL src;
- if (isJar) {
- tmp = resolvedURL.getFile();
- ix = tmp.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
- if (ix!=-1) tmp = tmp.substring(0,ix);
- src = new URL(tmp);
- }
- else src = resolvedURL;
- InputStream srcis = null;
-
- // cache target
- String tgt;
- if (isJar) {
- tmp = cachedURL.getFile();
- ix = tmp.indexOf(PlatformURLHandler.PROTOCOL_SEPARATOR);
- if (ix!=-1) tmp = tmp.substring(ix+1);
- ix = tmp.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
- if (ix!=-1) tmp = tmp.substring(0,ix);
- tgt = tmp;
- }
- else tgt = cachedURL.getFile();
- File tgtFile = null;
- FileOutputStream tgtos = null;
-
- boolean error = false;
- long total = 0;
-
- try {
- if (DEBUG && DEBUG_CACHE_COPY) {
- if (isJar) debug ("Caching jar as "+tgt); //$NON-NLS-1$
- else debug("Caching as "+tgt); //$NON-NLS-1$
- }
-
- srcis = src.openStream();
- byte[] buf = new byte[BUF_SIZE];
- int count = srcis.read(buf);
-
- tgtFile = new File(tgt);
- tgtos = new FileOutputStream(tgtFile);
-
- while(count!=-1) {
- total += count;
- tgtos.write(buf,0,count);
- count = srcis.read(buf);
- }
-
- srcis.close();
- srcis=null;
- tgtos.close();
- tgtos=null;
-
- // add cache entry
- cacheIndex.put(key,tgt);
- isInCache = true;
- }
- catch(IOException e) {
- error = true;
- cacheIndex.put(key,NOT_FOUND); // mark cache entry for this execution
- if (DEBUG && DEBUG_CACHE_COPY)
- debug("Failed to cache due to "+e); //$NON-NLS-1$
- throw e;
- }
- finally {
- if (!error && DEBUG && DEBUG_CACHE_COPY)
- debug(total + " bytes copied"); //$NON-NLS-1$
- if (srcis!=null) srcis.close();
- if (tgtos!=null) tgtos.close();
- }
-}
-protected void debug(String s) {
- System.out.println("URL "+getURL().toString()+"^"+Integer.toHexString(Thread.currentThread().hashCode())+" "+s); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-}
-private static void debugStartup(String s) {
- System.out.println("URL "+s); //$NON-NLS-1$
-}
-public URL[] getAuxillaryURLs () throws IOException {
- return null;
-}
-public synchronized InputStream getInputStream() throws IOException {
- if (!connected) connect();
- return connection.getInputStream();
-}
-public URL getResolvedURL() {
- return resolvedURL;
-}
-public URL getURLAsLocal() throws IOException {
- connect(true); // connect and force caching if necessary
- URL u = connection.getURL();
- String up = u.getProtocol();
- if (!up.equals(PlatformURLHandler.FILE) && !up.equals(PlatformURLHandler.JAR)) {
- throw new IOException(Policy.bind("url.noaccess", url.toString())); //$NON-NLS-1$
- }
- return u;
-}
-private URL getURLInCache() throws IOException {
-
- if (!allowCaching()) return null; // target should not be cached
-
- if (isInCache) return cachedURL;
-
- if (cacheLocation==null | cacheIndex==null) return null; // not caching
-
- // check if we are dealing with a .jar/ .zip
- String file = ""; //$NON-NLS-1$
- String jarEntry = null;
- if (isJar) {
- file = url.getFile();
- int ix = file.lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
- if (ix!=-1) {
- jarEntry = file.substring(ix+PlatformURLHandler.JAR_SEPARATOR.length());
- file = file.substring(0,ix);
- }
- }
- else {
- file = url.getFile();
- jarEntry = null;
- }
-
- // check for cached entry
- String tmp = (String)cacheIndex.get(file);
-
- // check for "not found" marker
- if (tmp!=null && tmp==NOT_FOUND) throw new IOException();
-
- // validate cache entry
- if (tmp!=null && !(new File(tmp)).exists()) {
- tmp = null;
- cacheIndex.remove(url.getFile());
- }
-
- // found in cache
- if (tmp!=null) {
- if (isJar) {
- if (DEBUG && DEBUG_CACHE_LOOKUP)
- debug("Jar located in cache as "+tmp); //$NON-NLS-1$
- tmp = PlatformURLHandler.FILE + PlatformURLHandler.PROTOCOL_SEPARATOR + tmp + PlatformURLHandler.JAR_SEPARATOR + jarEntry;
- cachedURL = new URL(PlatformURLHandler.JAR,null,-1,tmp);
- }
- else {
- if (DEBUG && DEBUG_CACHE_LOOKUP)
- debug("Located in cache as "+tmp); //$NON-NLS-1$
- cachedURL = new URL(PlatformURLHandler.FILE,null,-1,tmp);
- }
- isInCache = true;
- }
- else {
- // attemp to cache
- int ix = file.lastIndexOf("/"); //$NON-NLS-1$
- tmp = file.substring(ix+1);
- tmp = cacheLocation + filePrefix + Long.toString((new java.util.Date()).getTime()) + "_" + tmp; //$NON-NLS-1$
- tmp = tmp.replace(File.separatorChar,'/');
- if (isJar) {
- tmp = PlatformURLHandler.FILE + PlatformURLHandler.PROTOCOL_SEPARATOR + tmp + PlatformURLHandler.JAR_SEPARATOR + jarEntry;
- cachedURL = new URL(PlatformURLHandler.JAR,null,-1,tmp);
- }
- else cachedURL = new URL(PlatformURLHandler.FILE,null,-1,tmp);
- copyToCache();
- }
-
- return cachedURL;
-}
-/*
- * to be implemented by subclass
- * @return URL resolved URL
- */
-
-protected URL resolve() throws IOException {
- throw new IOException();
-}
-
-private String resolvePath(String spec) {
- if (spec.length() == 0 || spec.charAt(0) != '$')
- return spec;
- int i = spec.indexOf('/', 1);
- String first = ""; //$NON-NLS-1$
- String rest = ""; //$NON-NLS-1$
- if (i == -1)
- first = spec;
- else {
- first = spec.substring(0, i);
- rest = spec.substring(i);
- }
- if (first.equalsIgnoreCase("$ws$")) //$NON-NLS-1$
- return "ws/" + InternalBootLoader.getWS() + rest; //$NON-NLS-1$
- if (first.equalsIgnoreCase("$os$")) //$NON-NLS-1$
- return "os/" + InternalBootLoader.getOS() + rest; //$NON-NLS-1$
- if (first.equalsIgnoreCase("$nl$")) { //$NON-NLS-1$
- String nl = InternalBootLoader.getNL();
- nl = nl.replace('_', '/');
- return "nl/" + nl + rest; //$NON-NLS-1$
- }
- return spec;
-}
-
-protected String getId(String spec) {
- int i = spec.lastIndexOf('_');
- return i >= 0 ? spec.substring(0, i) : spec;
-}
-
-protected String getVersion(String spec) {
- int i = spec.lastIndexOf('_');
- return i >= 0 ? spec.substring(i + 1, spec.length()) : ""; //$NON-NLS-1$
-}
-
-void setResolvedURL(URL url) throws IOException {
- if (resolvedURL==null) {
- int ix = url.getFile().lastIndexOf(PlatformURLHandler.JAR_SEPARATOR);
- isJar = -1 != ix;
- // Resolved URLs containing !/ separator are assumed to be jar URLs.
- // If the resolved protocol is not jar, new jar URL is created.
- if (isJar && !url.getProtocol().equals(PlatformURLHandler.JAR))
- url = new URL(PlatformURLHandler.JAR,"",-1,url.toExternalForm()); //$NON-NLS-1$
- resolvedURL=url;
- }
-}
-private boolean shouldCache(boolean asLocal) {
-
- // don't cache files that are known to be local
- String rp = resolvedURL.getProtocol();
- String rf = resolvedURL.getFile();
- if (rp.equals(PlatformURLHandler.FILE)) return false;
- if (rp.equals(PlatformURLHandler.JAR) && (rf.startsWith(PlatformURLHandler.FILE))) return false;
-
- // for other files force caching if local connection was requested
- if (asLocal) return true;
-
- // for now cache all files
- // XXX: add cache policy support
- return true;
-}
-static void shutdown() {
- if (indexName!=null && cacheLocation!=null) {
- // weed out "not found" entries
- Enumeration keys = cacheIndex.keys();
- String key;
- Object value;
- while (keys.hasMoreElements()) {
- key = (String) keys.nextElement();
- value = cacheIndex.get(key);
- if (value==NOT_FOUND) cacheIndex.remove(key);
- }
- //if the cache index is empty we don't need to save it
- if (cacheIndex.size() == 0)
- return;
- try {
- // try to save cache index
- FileOutputStream fos = null;
- fos = new FileOutputStream(cacheLocation+indexName);
- try {
- cacheIndex.store(fos,null);
- } finally {
- fos.close();
- }
- }
- catch(IOException e) {
- // failed to store cache index ... ignore
- }
- }
-}
-static void startup(String location) {
-
-
- verifyLocation(location); // check for platform location, ignore errors
- String cacheProps = location.trim();
- if (!cacheProps.endsWith(File.separator)) cacheProps += File.separator;
- cacheProps += CACHE_PROP;
- File cachePropFile = new File(cacheProps);
- Properties props = null;
- FileInputStream fis;
-
- if (cachePropFile.exists()) {
- // load existing properties
- try {
- props = new Properties();
- fis = new FileInputStream(cachePropFile);
- try {
- props.load(fis);
- }
- finally {
- fis.close();
- }
- }
- catch(IOException e) {
- props = null;
- }
- }
-
- if (props==null) {
- // first time up, or failed to load previous settings
- props = new Properties();
- String tmp = System.getProperty("java.io.tmpdir"); //$NON-NLS-1$
- if (!tmp.endsWith(File.separator)) tmp += File.separator;
- tmp += CACHE_DIR;
- props.put(CACHE_LOCATION_PROP,tmp);
-
- tmp = Long.toString((new java.util.Date()).getTime());
- props.put(CACHE_PREFIX_PROP,tmp);
-
- tmp += CACHE_INDEX;
- props.put(CACHE_INDEX_PROP,tmp);
-
- // save for next time around
- FileOutputStream fos = null;
- try {
- fos = new FileOutputStream(cachePropFile);
- try {
- props.store(fos,null);
- }
- finally {
- fos.close();
- }
- }
- catch(IOException e) {
- // failed to store cache location metadata ... ignore
- }
- }
-
- // remember settings for shutdown processing
- filePrefix = (String)props.get(CACHE_PREFIX_PROP);
- indexName = (String)props.get(CACHE_INDEX_PROP);
- cacheLocation = (String)props.get(CACHE_LOCATION_PROP);
-
- if (DEBUG) {
- debugStartup("Cache location: " + cacheLocation); //$NON-NLS-1$
- debugStartup("Cache index: " + indexName); //$NON-NLS-1$
- debugStartup("Cache file prefix: " + filePrefix); //$NON-NLS-1$
- }
-
- // create cache directory structure if needed
- if (!verifyLocation(cacheLocation)) {
- indexName = null;
- cacheLocation = null;
- if (DEBUG)
- debugStartup("Failed to create cache directory structure. Caching suspended"); //$NON-NLS-1$
- return;
- }
-
- // attempt to initialize cache index
- if (cacheLocation!=null && indexName!=null) {
- try {
- fis = new FileInputStream(cacheLocation+indexName);
- try {
- cacheIndex.load(fis);
- }
- finally {
- fis.close();
- }
- }
- catch(IOException e) {
- if (DEBUG)
- debugStartup("Failed to initialize cache"); //$NON-NLS-1$
- }
- }
-}
-private static boolean verifyLocation(String location) {
- // verify cache directory exists. Create if needed
- File cacheDir = new File(location);
- if (cacheDir.exists())
- return true;
- return cacheDir.mkdirs();
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
deleted file mode 100644
index 7a2c62b..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandler.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.*;
-import java.io.IOException;
-import java.util.Hashtable;
-import java.lang.reflect.Constructor;
-
- /**
- * URL handler for the "platform" protocol
- */
-public class PlatformURLHandler extends URLStreamHandler {
-
- private static Hashtable connectionType = new Hashtable();
-
- // URL protocol designations
- public static final String PROTOCOL = "platform"; //$NON-NLS-1$
- public static final String FILE = "file"; //$NON-NLS-1$
- public static final String JAR = "jar"; //$NON-NLS-1$
- public static final String JAR_SEPARATOR = "!/"; //$NON-NLS-1$
- public static final String PROTOCOL_SEPARATOR = ":"; //$NON-NLS-1$
-protected PlatformURLHandler() {
- super();
-}
-public URLConnection openConnection(URL url) throws IOException {
- // Note: openConnection() method is made public (rather than protected)
- // to enable request delegation from proxy handlers
-
- String spec = url.getFile().trim();
- if (spec.startsWith("/")) spec = spec.substring(1); //$NON-NLS-1$
- int ix = spec.indexOf("/"); //$NON-NLS-1$
- if (ix==-1) {
- String message = Policy.bind("url.invalidURL", url.toString()); //$NON-NLS-1$
- throw new MalformedURLException(message);
- }
-
- String type = spec.substring(0,ix);
- Constructor construct = (Constructor) connectionType.get(type);
- if (construct==null) {
- String message = Policy.bind("url.badVariant", url.toString()); //$NON-NLS-1$
- throw new MalformedURLException(message);
- }
-
- PlatformURLConnection c = null;
- try {
- c = (PlatformURLConnection) construct.newInstance(new Object[] { url });
- }
- catch(Exception e) {
- String message = Policy.bind("url.createConnection", url.toString()); //$NON-NLS-1$
- throw new IOException(message);
- }
- c.setResolvedURL(c.resolve());
- return c;
-}
-public static void register(String type, Class connectionClass) {
- try {
- Constructor c = connectionClass.getConstructor(new Class[] { URL.class });
- connectionType.put(type, c);
- }
- catch(NoSuchMethodException e) {
- //don't register connection classes that don't conform to the spec
- }
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
deleted file mode 100644
index fd84b4e..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactory.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.URL;
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-import java.util.Hashtable;
-import java.util.Properties;
-
-import org.eclipse.core.boot.BootLoader;
-
-public class PlatformURLHandlerFactory implements URLStreamHandlerFactory {
-
- private static Hashtable handlers = new Hashtable();
-
- private static final String ECLIPSE_HANDLER_FACTORY = "org.eclipse.protocol.handler.factory"; //$NON-NLS-1$
-
-public PlatformURLHandlerFactory() {
- super();
-
- // register eclipse handler
- handlers.put(PlatformURLHandler.PROTOCOL, new PlatformURLHandler());
-}
-public URLStreamHandler createURLStreamHandler(String protocol) {
-
- URLStreamHandler handler = null;
-
- // check for cached handler
- Object element = handlers.get(protocol);
- if (element==null) return null;
- if (element instanceof URLStreamHandler) handler = (URLStreamHandler)element;
- else {
- // convert registered factory to a handler
- URLStreamHandlerFactory f = (URLStreamHandlerFactory) element;
- handler = f.createURLStreamHandler(protocol);
- if (handler!=null) handlers.put(protocol, handler);
- else handlers.remove(protocol); // bad entry
- }
- return handler;
-}
-public static void register(String protocol, URLStreamHandlerFactory factory) {
- if (protocol.equals(PlatformURLHandler.PROTOCOL)) return; // just in case ...
- handlers.put(protocol,factory);
-}
-public static void shutdown() {
-
- PlatformURLHandlerFactoryProxy p = PlatformURLHandlerFactoryProxy.getFactoryProxy();
- if (p!=null) p.setFactory(null);
- PlatformURLConnection.shutdown();
-}
-public static void startup(String location) {
-
- PlatformURLHandlerFactoryProxy p = PlatformURLHandlerFactoryProxy.getFactoryProxy();
- if (p==null) {
- p = new PlatformURLHandlerFactoryProxy();
- try {
- URL.setURLStreamHandlerFactory(p);
- } catch(Error e) {
- // Application has already set the factory. This is, for example,
- // the case when Eclipse is running as part of a servlet on
- // some web application servers. In this case we come up in
- // "toleration" mode where Eclipse URL protocols are handled
- // via explicitly supplied protocol proxy handlers using the base
- // Java convention. Eclipse "registers" its stream factory
- // using a system property. The explicit proxy handlers
- // then delegate to the Eclipse handlers via the factory looked
- // up as a Java property.
- Properties props = System.getProperties();
- props.put(ECLIPSE_HANDLER_FACTORY, p);
- System.setProperties(props);
- if (BootLoader.inDebugMode()){
- System.out.println("WARNING: Unable to set URLStreamHandlerFactory."); //$NON-NLS-1$
- System.out.println("WARNING: Starting in toleration mode."); //$NON-NLS-1$
- }
- }
- }
- p.setFactory(new PlatformURLHandlerFactory());
- PlatformURLConnection.startup(location);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
deleted file mode 100644
index bbd03b8..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/PlatformURLHandlerFactoryProxy.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.*;
-
-public class PlatformURLHandlerFactoryProxy implements URLStreamHandlerFactory {
-
- private static PlatformURLHandlerFactoryProxy p = null; // singleton - set into URL as factory
- private PlatformURLHandlerFactory f = null; // current actual factory
-PlatformURLHandlerFactoryProxy() {
- super();
- if (p==null) p = this;
-}
-public URLStreamHandler createURLStreamHandler(String protocol) {
-
- if (f==null) return null;
- else return f.createURLStreamHandler(protocol);
-}
-PlatformURLHandlerFactory getFactory() {
- return f;
-}
-static PlatformURLHandlerFactoryProxy getFactoryProxy() {
- return p;
-}
-void setFactory(PlatformURLHandlerFactory factory) {
- f = factory;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
deleted file mode 100644
index 48dde27..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/Policy.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.text.MessageFormat;
-import java.util.*;
-
-public class Policy {
- private static String bundleName = "org.eclipse.core.internal.boot.messages";//$NON-NLS-1$
- private static ResourceBundle bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
-
-/**
- * Lookup the message with the given ID in this catalog
- */
-public static String bind(String id) {
- return bind(id, (String[])null);
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string.
- */
-public static String bind(String id, String binding) {
- return bind(id, new String[] {binding});
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given strings.
- */
-public static String bind(String id, String binding1, String binding2) {
- return bind(id, new String[] {binding1, binding2});
-}
-
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string values.
- */
-public static String bind(String id, String[] bindings) {
- if (id == null)
- return "No message available";//$NON-NLS-1$
- String message = null;
- try {
- message = bundle.getString(id);
- } catch (MissingResourceException e) {
- // If we got an exception looking for the message, fail gracefully by just returning
- // the id we were looking for. In most cases this is semi-informative so is not too bad.
- return "Missing message: " + id + " in: " + bundleName;//$NON-NLS-1$ //$NON-NLS-2$
- }
- if (bindings == null)
- return message;
- return MessageFormat.format(message, bindings);
-}
-/**
- * Print a debug message to the console. If the given boolean is <code>true</code> then
- * pre-pend the message with the current date.
- */
-public static void debug(boolean includeDate, String message) {
- if (includeDate)
- message = new Date(System.currentTimeMillis()).toString() + " - "+ message; //$NON-NLS-1$
- System.out.println(message);
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
deleted file mode 100644
index d47ca9a..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceEnumeration.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.util.*;
-import java.net.URL;
-
-/**
- * Compound enumeration with visibility filtering.
- * Used in implementation of ClassLoader.getResources()
- */
-
-class ResourceEnumeration implements Enumeration {
- private Vector enums = new Vector();
- private String name;
- private int ix = 0;
- private Object nextElement = null;
- private DelegatingURLClassLoader current;
- private DelegatingURLClassLoader requestor;
-public ResourceEnumeration(String name, Enumeration e, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
- this.name = name;
- if (e == null)
- e = new Enumeration() {
- public boolean hasMoreElements() {
- return false;
- }
- public Object nextElement() {
- return null;
- }
- };
- enums.add(e);
- this.current = current;
- this.requestor = requestor;
-}
-public void add(Enumeration e) {
- if (e == null)
- return;
- enums.add(e);
-}
-public boolean hasMoreElements() {
- if (nextElement != null)
- return true;
- nextElement = nextVisibleElement();
- return nextElement != null;
-}
-public Object nextElement() {
- if (nextElement != null) {
- Object result = nextElement;
- nextElement = null;
- return result;
- } else
- return nextVisibleElement();
-}
-private Object nextVisibleElement() {
- Enumeration e;
- Object element = null;
- while (element == null && ix < enums.size()) {
- e = (Enumeration) enums.elementAt(ix);
- while (element == null && e.hasMoreElements()) {
- element = e.nextElement();
- if (ix == 0) {
- if (!current.isResourceVisible(name, (URL) element, requestor))
- element = null;
- }
- }
- if (element == null)
- ix++;
- }
- return element;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
deleted file mode 100644
index 15488e0..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/ResourceLoader.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.net.*;
-
-public class ResourceLoader extends URLClassLoader {
-public ResourceLoader(URL[] resourcePath) {
- super(resourcePath, null);
-}
-/**
- * Looks for a given class. Resource loaders can never find classes and
- * so always throw <code>ClassNotFoundException</code>.
- */
-protected Class findClass(final String name) throws ClassNotFoundException {
- throw new ClassNotFoundException(name);
-}
-/**
- * Looks for a given class. Resource loaders can never find classes and
- * so always throw <code>ClassNotFoundException</code>.
- */
-protected Class loadClass(String name, boolean resolve) throws ClassNotFoundException {
- throw new ClassNotFoundException();
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
deleted file mode 100644
index a5f384d..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/URLContentFilter.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.boot;
-
-import java.util.*;
-
-/**
- * Represents class name filter for a given classpath entry. The filter
- * elements use the mask convention used by Java import statements.
- * Mask element "*" implies the full content is public.
- */
-public class URLContentFilter {
- private Hashtable filterTable = null;
- private boolean isPublic = false;
- private boolean isExported = false;
-public URLContentFilter(String[] filter) {
- if (filter==null || filter.length==0) return;
-
- String entry;
- for(int i=0; i<filter.length; i++) {
- entry = filter[i].trim();
- if (!entry.equals("")) { //$NON-NLS-1$
- isExported = true;
- if (entry.equals("*")) isPublic = true; //$NON-NLS-1$
- else addMask(entry);
- }
- }
-}
-public URLContentFilter(boolean isPublic) {
- if (isPublic) {
- this.isExported = true;
- this.isPublic = true;
- }
-}
-private void addMask(String name) {
-
- if (filterTable==null) filterTable = new Hashtable();
- filterTable.put(name,this);
-}
-private boolean classMatchesFilter(String name) {
-
- int i = name.lastIndexOf("."); //$NON-NLS-1$
- if (i!=-1 && filterTable.get(name.substring(0,i)+".*")!=null) return true; //$NON-NLS-1$
- else if(filterTable.get(name)!=null) return true;
- else return false;
-}
-boolean isClassVisible(Class clazz, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
- return isClassVisible(clazz.getName(), current, requestor);
-}
-boolean isClassVisible(String className, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
- if (requestor==current) return true; // request from own loader ... full access
- if (isPublic) return true; // public library ... full access from other loaders
- if (!isExported) return false; // private library ... no access from other loaders
- else return classMatchesFilter(className); // exported library ... match against filters
-}
-boolean isResourceVisible(String resName, DelegatingURLClassLoader current, DelegatingURLClassLoader requestor) {
- if (requestor==current) return true; // request from own loader ... full access
- if (isPublic) return true; // public library ... full access from other loaders
- if (!isExported) return false; // private library ... no access from other loaders
- else return resourceMatchesFilter(resName); // exported library ... match against filters
-}
-private boolean resourceMatchesFilter(String name) {
-
- int i = name.lastIndexOf("/"); //$NON-NLS-1$
- String tmp = name.replace('/','.');
- if (i!=-1 && filterTable.get(tmp.substring(0,i)+".*")!=null) return true; //$NON-NLS-1$
- else if(filterTable.get(tmp)!=null) return true;
- else return false;
-}
-public String toString() {
- if (isPublic) return "*"; //$NON-NLS-1$
- if (!isExported) return "<private>"; //$NON-NLS-1$
- Enumeration keys = filterTable.keys();
- String mask = ""; //$NON-NLS-1$
- String sep = ""; //$NON-NLS-1$
- while(keys.hasMoreElements()) {
- mask += sep+(String)keys.nextElement();
- sep = " + "; //$NON-NLS-1$
- }
- return mask;
-}
-}
diff --git a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties b/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties
deleted file mode 100644
index 97fe2bd..0000000
--- a/bundles/org.eclipse.core.boot/src/org/eclipse/core/internal/boot/messages.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-### Boot plugin message catalog
-
-ok = OK
-
-### URL
-url.badVariant=Unsupported \"platform:\" protocol variation {0}
-url.invalidURL=Invalid "platform:" URL {0}
-url.createConnection=Unable to create connection {0}
-url.noaccess=Unable to access URL as local {0}.
-
-### Platform Configuration
-cfig.inUse=\nConfiguration file \"{0}\" is in use by another instance of the platform, \n\
- or there was a failure in deleting the old lock file. If no other platform instances are running, \n\
- delete file \"{1}\" and try starting the platform again.
-cfig.failCreateLock=Failed to create lock for configuration file \"{0}\"
-cfig.badUrlArg=Bad -configuration argument \"{0}\"
-cfig.unableToLoad.incomplete=Unable to load {0}
-cfig.unableToLoad.noURL=Configuration file location not specified
-cfig.unableToSave.noURL=Configuration file save location not specified
-cfig.unableToSave=Unable to save configuration file \"{0}\"
-cfig.badVersion=Unsupported configuration version \"{0}\"
-
-platform.running=The Platform is already running.
-platform.mustNotBeRunning=The Platform must not be running.
-platform.notRunning=The Platform is not running.
-
-ignore.plugin=Ignoring invalid plug-in location: {0}.
-application.notFound=Application not found: {0}.
-error.fatal=Fatal Error: Unable to determine platform installation URL {0}.
-error.boot=Fatal Error: Unable to locate boot.xml file for executing org.eclipse.core.boot.
-error.runtime=Fatal Error: Unable to locate matching org.eclipse.core.runtime plugin.
-error.xerces=Fatal Error: Unable to locate matching org.apache.xerces plugin.
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/.classpath b/bundles/org.eclipse.core.runtime/.classpath
deleted file mode 100644
index 885b188..0000000
--- a/bundles/org.eclipse.core.runtime/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src/"/>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.core.runtime/.cvsignore b/bundles/org.eclipse.core.runtime/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/bundles/org.eclipse.core.runtime/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/.options b/bundles/org.eclipse.core.runtime/.options
deleted file mode 100644
index 5b3bb43..0000000
--- a/bundles/org.eclipse.core.runtime/.options
+++ /dev/null
@@ -1,55 +0,0 @@
-# Debugging options for the org.eclipse.core.runtime plugin
-
-# Turn on general debugging for the org.eclipse.core.runtime plugin.
-# Also displays overall startup time.
-org.eclipse.core.runtime/debug=false
-
-# Prints out values of OS, WS, NL, and ARCH
-org.eclipse.core.runtime/debug/context=false
-
-# Prints time taken by Plugin constructors and startup() methods.
-org.eclipse.core.runtime/timing/startup=false
-
-# Prints time taken by Plugin.shutdown() methods.
-org.eclipse.core.runtime/timing/shutdown=false
-
-# Turn on debugging for the registry.
-org.eclipse.core.runtime/registry/debug=false
-# Specify a filename for a user-readable form of the plugin registry to be written to.
-org.eclipse.core.runtime/registry/debug/dump=
-org.eclipse.core.runtime/registry/debug/resolve=false
-
-# Turn on debugging for the class loader.
-org.eclipse.core.runtime/loader/debug=false
-# Display when class loaders are created.
-org.eclipse.core.runtime/loader/debug/create=false
-# Display when plugins are activated
-org.eclipse.core.runtime/loader/debug/activateplugin=false
-# Debug all class loader actions (finding resource, classes, libraries)
-org.eclipse.core.runtime/loader/debug/actions=false
-# Debug success case only
-org.eclipse.core.runtime/loader/debug/success=false
-# Debug failure case only
-org.eclipse.core.runtime/loader/debug/failure=false
-# Set filters for types of resources to debug. (e.g. org.eclipse.core.*)
-org.eclipse.core.runtime/loader/debug/filter/loader=*
-org.eclipse.core.runtime/loader/debug/filter/class=*
-org.eclipse.core.runtime/loader/debug/filter/resource=*
-org.eclipse.core.runtime/loader/debug/filter/native=*
-# Debug use of the classloader package prefix enhancement
-org.eclipse.core.runtime/loader/debug/prefixes=false
-org.eclipse.core.runtime/loader/debug/prefixes/success=false
-org.eclipse.core.runtime/loader/debug/prefixes/failure=false
-org.eclipse.core.runtime/loader/debug/properties=false
-
-# Turn on debugging in the support for non-local plugins.
-org.eclipse.core.runtime/url/debug=false
-org.eclipse.core.runtime/url/debug/connect=false
-org.eclipse.core.runtime/url/debug/cachelookup=false
-org.eclipse.core.runtime/url/debug/cachecopy=false
-
-# Turn on debugging for install/update.
-org.eclipse.core.runtime/config/debug=false
-
-# Turn on debugging for customization of default preference settings
-org.eclipse.core.runtime/preferences/debug=false
diff --git a/bundles/org.eclipse.core.runtime/.project b/bundles/org.eclipse.core.runtime/.project
deleted file mode 100644
index b826ed6..0000000
--- a/bundles/org.eclipse.core.runtime/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.core.runtime</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.core.runtime/about.html b/bundles/org.eclipse.core.runtime/about.html
deleted file mode 100644
index 2c4381a..0000000
--- a/bundles/org.eclipse.core.runtime/about.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>18th July, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or
-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-<h3>Cryptography</h3>
-
-<p><b>Export Control</b></p>
-<p>The plug-in contains encryption software. The country in which you are currently may have restrictions on the import, possession,
-and use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check the country's
-laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this
-is permitted.</p>
-
-<p><b>Encryption Items</b></p>
-
-<p>Details of the encryption software in this plug-in are provided to assist in obtaining relevant export control classification and approval.
-Cryptography in this plug-in has been classified as Export Commodity Control Number (ECCN) 5D002.c.1 by the U.S. Government Department of Commerce,
-Bureau of Export Administration and deemed eligible for export under License Exception Technology Software Unrestricted (TSU) for object code
-and (cryptographic) source code, and License Exception ENC Retail for object code and no (cryptographic) source code.</p>
-
-<p>The plug-in contains a proprietary routine that encrypts and decrypts information used to login to Version Control Management (VCM) repositories.
-This routine uses the SHA-1 message digest algorithm implemented in a Java (TM) Runtime Environment (JRE), to generate a cryptographically secure sequence of bytes based on a
-user-supplied password combined with bytes supplied by a random number generator. The secure random numbers generated by this sequence are then added to each byte in the data
-to be encrypted. When the data is to be decrypted, the same password will generate the same sequence of random numbers, which is then subtracted from each byte in the encrypted data.
-Note that a JRE and therefore the aforementioned SHA-1 message digest code is not included with the plug-in.</p>
-
-<p>The following Java classes contain encryption items (the plug-in may contain both binary and source code):</p>
-
-<ul>
- <li>org.eclipse.core.internal.runtime.Cipher</li>
-</ul>
-
-<small>Java and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.</small>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/build.properties b/bundles/org.eclipse.core.runtime/build.properties
deleted file mode 100644
index 1ed483d..0000000
--- a/bundles/org.eclipse.core.runtime/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-source.runtime.jar=src/
-src.includes=about.html,schema/
-bin.includes=.options,plugin.xml,*.jar,plugin.properties,about.html
-javadoc.packages=org.eclipse.core.runtime.*
diff --git a/bundles/org.eclipse.core.runtime/doc/hglegal.htm b/bundles/org.eclipse.core.runtime/doc/hglegal.htm
deleted file mode 100644
index b071dbd..0000000
--- a/bundles/org.eclipse.core.runtime/doc/hglegal.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.73 [en] (Win98; U) [Netscape]">
- <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright IBM Corp. 2000, 2001. All Rights Reserved.
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/hglegal2002.htm b/bundles/org.eclipse.core.runtime/doc/hglegal2002.htm
deleted file mode 100644
index b8c411f..0000000
--- a/bundles/org.eclipse.core.runtime/doc/hglegal2002.htm
+++ /dev/null
@@ -1,14 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <LINK REL="STYLESHEET" HREF="book.css" CHARSET="ISO-8859-1" TYPE="text/css">
- <title>Legal Notices</title>
-</head>
-<body>
-
-<h3>
-<a NAME="Notices"></a>Notices</h3>
-(c) Copyright IBM Corp. and others 2000, 2002. All Rights Reserved.
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif b/bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif
deleted file mode 100644
index 360f8e9..0000000
--- a/bundles/org.eclipse.core.runtime/doc/ngibmcpy.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif b/bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif
deleted file mode 100644
index 61cef48..0000000
--- a/bundles/org.eclipse.core.runtime/doc/ngibmcpy2002.gif
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html b/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html
deleted file mode 100644
index e38277e..0000000
--- a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>Core Runtime Plug-in</h1></center>
-This document lists all of the extension points that the core runtime makes available to tool developers.
-<p>
-<hr WIDTH="100%">
-<h1>
-General Extension Points</h1>
-The following extension points can be used to extend the fundamental capabilities
-of the runtime plug-in:
-<ul>
-<li>
-<a href="org_eclipse_core_runtime_applications.html">org.eclipse.core.runtime.applications</a></li>
-
-<li>
-<a href="org_eclipse_core_runtime_urlHandlers.html">org.eclipse.core.runtime.urlHandlers</a></li>
-</ul>
-<a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001. All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html b/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html
deleted file mode 100644
index 77982c7..0000000
--- a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_applications.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-Applications</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.core.runtime.applications<p><b><i>Description:
-</i></b>Platform runtime supports plug-ins which would like to declare main
-entry points. That is, programs which would like to run using the platform
-runtime but yet control all aspects of execution can declare themselves as an <i>application</i>.
-Declared applications can be run directly from the main platform launcher by
-specifying the <i>-application</i> argument where the parameter is the id of an
-extension supplied to the applications extension point described here.
-This application is instantiated and run by the platform. Platform clients
-can also use the platform to lookup and run multiple applications.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt> <!ELEMENT application run?></tt>
-<p>
-<tt> <!ELEMENT run parameter*></tt>
-<br><tt> <!ATTLIST run</tt>
-<br><tt> class
-CDATA #REQUIRED</tt>
-<br><tt> ></tt>
-<ul>
-<li>
-<b>class -</b> the fully-qualified name of a class which implements <tt>org.eclipse.core.boot.IPlatformRunnable</tt>.</li>
-</ul>
-<tt> <!ELEMENT parameter EMPTY></tt>
-<br><tt> <!ATTLIST parameter</tt>
-<br><tt> name
-CDATA #REQUIRED</tt>
-<br><tt> value
-CDATA #REQUIRED</tt>
-<br><tt> ></tt>
-<ul>
-<li>
-<b>name</b> - the name of this parameter made available to instances of
-the specified application class</li>
-
-<li>
-<b>value</b> - an arbitrary value associated with the given name and made
-available to instances of the specified application class</li>
-</ul>
-<b><i>Examples:</i></b>
-<p>Following is an example of a builder configuration:
-<p><tt> <extension id="coolApplication" point="org.eclipse.core.runtime.applications"></tt>
-<br><tt> <application></tt>
-<br><tt> <run class="com.xyz.applications.Cool"></tt>
-<br><tt>
-<parameter name="optimize" value="true"/></tt>
-<br><tt> </run></tt>
-<br><tt> </application></tt>
-<br><tt> </extension></tt>
-<p><b><i>API Information</i>: </b>The value of the <tt>class</tt> attribute
-must represent an implementor of <tt>org.eclipse.core.boot.IPlatformRunnable</tt>.
-<p><b><i>Supplied Implementation:</i></b> The platform itself supplies a number
-of applications including the platform workbench itself.
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001. All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html b/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html
deleted file mode 100644
index 7ea1e96..0000000
--- a/bundles/org.eclipse.core.runtime/doc/org_eclipse_core_runtime_urlHandlers.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR" content="Mozilla/4.5 [en] (WinNT; U) [Netscape]">
- <title>Workbench Extension Points</title>
-</head>
-<body link="#0000FF" vlink="#800080">
-
-<center>
-<h1>
-URL Stream Handlers</h1></center>
-<b><i>Identifier: </i></b>org.eclipse.core.runtime.urlHandlers
-<p><b><i>Description:
-</i></b>This extension point is used to register
-additional URL handlers to the platform search path. Note, that because
-of the platform class loader structure, URL handlers registered by a plug-in
-using the standard Java mechanisms will not be found.
-<p><b><i>Configuration Markup:</i></b>
-<p><tt> <!ELEMENT handler EMPTY></tt>
-<p><tt> <!ATTLIST handler</tt>
-<br><tt> protocol
-CDATA #REQUIRED</tt>
-<br><tt> class
-CDATA #REQUIRED</tt>
-<br><tt> ></tt>
-<ul>
-<li>
-<b>protocol -</b> URL protocol</li>
-
-<li>
-<b>class</b> - URL stream handler contributed by plug-in</li>
-</ul>
-<b><i>Examples:</i></b>
-<p>Following is an example of a handler configuration:
-<p><tt> <extension point="org.eclipse.core.runtime.urlHandlers"></tt>
-<br><tt> <handler protocol="foo" class="org.eclipse.handlers.FooHandler"/></tt>
-<br><tt> </extension></tt>
-<p><b><i>API Information</i>: </b>The value of the <tt>class</tt> attribute
-must represent an implementor of implementation of <tt>java.net.URLStreamHandler</tt>
-<p><b><i>Supplied Implementation:</i></b> The platform itself does not
-supply any URL handlers registered through this extension point..
-<p><a href="hglegal.htm"><img SRC="ngibmcpy.gif" ALT="Copyright IBM Corp. 2000, 2001. All Rights Reserved." BORDER=0 height=12 width=195></a>
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/plugin_dtd.html b/bundles/org.eclipse.core.runtime/doc/plugin_dtd.html
deleted file mode 100644
index 1d2826a..0000000
--- a/bundles/org.eclipse.core.runtime/doc/plugin_dtd.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-
-<title>Plug-in manifest dtd</title>
-</head>
-
-<body lang="EN-US" style='tab-interval:.5in'>
-
-<div class=Section1><pre><?xml encoding="US-ASCII"?></pre>
-<pre><p>
-<!ELEMENT plugin (requires?, runtime?, extension-point*, extension*)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- id CDATA #REQUIRED
- version CDATA #REQUIRED
- provider-name CDATA #IMPLIED
- class CDATA #IMPLIED
-></p></pre>
-<pre><p>
-<!ELEMENT fragment (requires?, runtime?, extension-point*, extension*)>
-<!ATTLIST fragment
- name CDATA #REQUIRED
- id CDATA #REQUIRED
- version CDATA #REQUIRED
- provider-name CDATA #IMPLIED
- plugin-id CDATA #REQUIRED
- plugin-version CDATA #REQUIRED
- match (perfect | equivalent | compatible | greaterOrEqual) "compatible"
->
-</p></pre><pre><p>
-<!ELEMENT requires (import+)>
-<!ELEMENT import EMPTY>
-<!ATTLIST import
- plugin CDATA #REQUIRED
- version CDATA #IMPLIED
- match (perfect | equivalent | compatible | greaterOrEqual) "compatible"
- export (true | false) "false"
- optional (true | false) "false"
->
-</p></pre><pre><p>
-<!ELEMENT runtime library+)></p></pre>
-<pre><p>
-<!ELEMENT library (export*)>
-<!ELEMENT export EMPTY>
-<!ATTLIST library
- name CDATA #REQUIRED
- type (code | resource) "code"
->
-</p></pre><pre><p>
-<!ELEMENT export EMPTY>
-<!ATTLIST export
- name CDATA #REQUIRED
->
-</p></pre><pre><p>
-<!ELEMENT extension-point EMPTY>
-<!ATTLIST extension-point
- name CDATA #REQUIRED
- id CDATA #REQUIRED
- schema CDATA #IMPLIED
->
-</p></pre><pre><p>
-<!ELEMENT extension ANY>
-<!ATTLIST extension
- point CDATA #REQUIRED
- name CDATA #IMPLIED
- id CDATA #IMPLIED
-></p></pre>
-
-<p> <br>
-<a href="hglegal2002.htm"><img src = "ngibmcpy2002.gif" alt="Copyright IBM Corporation and others 2000, 2002" border="0"></a>
-</p></div>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.core.runtime/doc/plugin_manifest.html b/bundles/org.eclipse.core.runtime/doc/plugin_manifest.html
deleted file mode 100644
index 59d7787..0000000
--- a/bundles/org.eclipse.core.runtime/doc/plugin_manifest.html
+++ /dev/null
@@ -1,402 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<html>
-
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<link REL="STYLESHEET" HREF="../../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
-<title>Plug-in manifest</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=blue style='tab-interval:.5in'>
-
-<div class=Section1>
-
-<h1> Eclipse Platform<br>
-Plug-in Manifest</h1>
-
-<p class=MsoNormal><span style='font-size:10.0pt'>Version 2.0 - Last revised July
-11, 2002</span></p>
-
-<p>The manifest markup definitions below make use of various naming tokens and
-identifiers. To eliminate ambiguity, here are some production rules for these [are
-referenced in text below]. In general, all identifiers are case-sensitive. </p>
-
-<pre>SimpleToken := sequence of characters from ('a-z','A-Z','0-9')
-ComposedToken := SimpleToken | (SimpleToken '.' ComposedToken)
-JavaClassName := ComposedToken
-PlugInId := ComposedToken
-PlugInPrereq := PlugInId | 'export' PlugInId
-ExtensionId := SimpleToken
-ExtensionPointId := SimpleToken
-ExtensionPointReference := ExtensionPointID | (PlugInId '.' ExtensionPointId)</pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-remainder of this section describes the plugin.xml file structure as a series
-of DTD fragments. File <a href="plugin_dtd.html">plugin.dtd</a> presents the DTD
-definition in its entirety. </p>
-
-<pre><?xml encoding="US-ASCII"?>
-<!ELEMENT plugin (requires?, runtime?, extension-point*, extension*)>
-<!ATTLIST plugin
- name CDATA #REQUIRED
- id CDATA #REQUIRED
- version CDATA #REQUIRED
- provider-name CDATA #IMPLIED
- class CDATA #IMPLIED
-></pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-<plugin> element defines the body of the manifest. It optionally contains
-definitions for the plug-in runtime, definitions of other plug-ins required by
-this one, declarations of any new extension points being introduced by the
-plug-in, as well as configuration of functional extensions (configured into
-extension points defined by other plug-ins, or introduced by this plug-in).
-<plugin> attributes are as follows: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>name</b> - user
- displayable (translatable) name for the plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>id</b> - unique identifier
- for the plug-in.</li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>To minimize potential
- for naming collisions, the identifier should be derived from the internet
- domain id of the supplying provider (reversing the domain name tokens and
- appending additional name tokens separated by dot [.]). For example,
- provider ibm.com could define plug-in identifier com.ibm.db2</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>[production rule:
- PlugInId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>version </b>- plug-in
- version number. See org.eclipse.core.runtime.PluginVersionIdentifier for
- details. Plug-in version format is <b>major.minor.service.qualifier</b>.
- Change in the major component is interpreted as an incompatible version
- change. Change in the minor component is interpreted as a compatible
- version change. Change in the service component is interpreted as <i>cumulative</i>
- service applied to the minor version.<span style="mso-spacerun:
- yes"> </span>Change in the qualifier component is interpreted as
- different source code control version of the same component.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>provider-name</b> <b>-</b>
- user-displayable name of the provider supplying the plug-in.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>class - </b>name of the
- plug-in class for this plug-in. The class must be a subclass of
- org.eclipse.core.runtime.Plugin.</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-XML DTD construction rule <tt><i><span style='font-size:10.0pt;font-family:
-"Courier New"'>element</span></i></tt><tt><span style='font-size:10.0pt;
-font-family:"Courier New"'>*</span></tt> means zero or more occurrences of the
-element; <tt><i><span style='font-size:10.0pt;font-family:"Courier New"'>element</span></i></tt><tt><span
-style='font-size:10.0pt;font-family:"Courier New"'>?</span></tt> means zero or
-one occurrence of the element; and <tt><i><span style='font-size:10.0pt;
-font-family:"Courier New"'>element</span></i></tt><tt><span style='font-size:
-10.0pt;font-family:"Courier New"'>+</span></tt> (used below) means one or more
-occurrences of the element. Based on the <plugin> definition above, this
-means, for example, that a plug-in containing only a run-time definition and no
-extension point declarations or extension configurations is valid (for example,
-common libraries that other plug-ins depend on). Similarly, a plug-in
-containing only extension configurations and no runtime or extension points of
-its own is also valid (for example, configuring classes delivered in other
-plug-ins into extension points declared in other plug-ins). </p>
-
-<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-<requires> section of the manifest declares any dependencies on other
-plug-ins. </p>
-
-<pre><!ELEMENT requires (import+)>
-<!ELEMENT import EMPTY>
-<!ATTLIST import
- plugin CDATA #REQUIRED
- version CDATA #IMPLIED
- match<span style="mso-spacerun: yes"> </span>(perfect | equivalent | compatible | greaterOrEqual) "compatible"
- export (true | false) "false"
- optional (true | false) "false"
-></pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Each
-dependency is specified using an <import> element. It contains the
-following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>plugin</b> - identifier of
- the required plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>version</b> - optional
- version specification</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>match</b> - version
- matching rule. Ignored if version attribute is not specified. Determines
- whether the dependency is satisfied only with a plug-in<span
- style="mso-spacerun: yes"> </span>that has this exact<span
- style="mso-spacerun: yes"> </span>specified version, with a plug-in
- that has a service or qualifier more recent than this one, with any
- compatible version (including a more recent minor version of the plug-in)
- or with any more recent version of this plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>export</b> - specifies
- whether the dependent plug-in classes are made visible (are (re)exported)
- to users of this plug-in. By default, dependent classes are not exported
- (are not made visible)</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l0 level1 lfo6;tab-stops:list .5in'><b>optional</b> - specifies
- whether or not this dependency will be strictly enforced.<span
- style="mso-spacerun: yes"> </span>If set to <true> and this
- dependency cannot be satisfied, the dependency will be ignored</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><a
-name=runtime></a>The <runtime> section of the manifest contains a
-definition of one or more libraries that make up the plug-in runtime. The
-referenced libraries are used by the platform execution mechanisms (the plug-in
-class loader) to load and execute the correct code required by the plug-in. </p>
-
-<pre><!ELEMENT runtime (library+)>
-<!ELEMENT library (export*)>
-<!ATTLIST library
- name CDATA #REQUIRED
-<span style="mso-spacerun: yes"> </span>type<span style="mso-spacerun: yes"> </span>(code | resource) "code"
->
-<!ELEMENT export EMPTY>
-<!ATTLIST export
- name CDATA #REQUIRED
-></pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-<runtime> element has no attributes. </p>
-
-<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-<library> elements collectively define the plug-in runtime. At least one
-<library> must be specified. Each <library> element has the
-following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l1 level1 lfo9;tab-stops:list .5in'><b>name - </b>string
- reference to a library file or directory containing classes (relative to
- the plug-in install directory). Directory references must contain trailing
- file separator.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l1 level1 lfo9;tab-stops:list .5in'><b>type</b> - specifies
- whether this library contains executable code (<code>) or just
- resources.<span style="mso-spacerun: yes"> </span>If the library is
- of type <code> accessing anything in this library will cause activation of
- the plug-in.<span style="mso-spacerun: yes"> </span>Accessing a
- <resource> will not cause plug-in activation (a potential for significant
- performance improvement).<span style="mso-spacerun: yes"> </span>It
- should be noted that specifying a library of type <code> allows it to
- contain both code and resources.<span style="mso-spacerun: yes">
- </span>But specifying a library of type <resource> assumes it will only be
- used for resources.</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Each
-<library> element can specify which portion of the library should be
-exported. The export rules are specified as a set of export masks. By default
-(no export rules specified), the library is considered to be private. The
-<export> elements have the following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l5 level1 lfo12;tab-stops:list .5in'><b>name - s</b>pecifies the
- export mask. Valid values are:</li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l5 level2 lfo12;tab-stops:list 1.0in'><b>*</b> - indicates
- all contents of library are exported (public)</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l5 level1 lfo12;tab-stops:list .5in'><b>package-name</b></li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l5 level2 lfo12;tab-stops:list 1.0in'><b>* - </b>indicates
- all classes in the specified package are exported. The matching rules are
- the same as in the Java import statement.</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l5 level1 lfo12;tab-stops:list .5in'><b>class-name - </b>fully
- qualified java class name</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-platform's architecture is based on the notion of configurable extension
-points. The platform itself predefines a set of extension points that cover the
-task of extending the platform and desktop (for example, adding menu actions,
-contributing embedded editor). In addition to the predefined extension points,
-each supplied plug-in can declare additional extension points. By declaring an
-extension point the plug-in is essentially advertising the ability to configure
-the plug-in function with externally supplied extensions. For example, the Page
-Builder plug-in may declare an extension point for adding new Design Time
-Controls (DTCs) into its builder palette. This means that the Page Builder has
-defined an architecture for what it means to be a DTC and has implemented the
-code that looks for DTC extensions that have been configured into the extension
-points. </p>
-
-<pre><!ELEMENT extension-point EMPTY>
-<!ATTLIST extension-point
- name CDATA #REQUIRED
- id CDATA #REQUIRED
- schema CDATA #IMPLIED
-></pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-<extension-point> element has the following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l3 level1 lfo15;tab-stops:list .5in'><b>name - </b>user-displayable
- (translatable) name for the extension point</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l3 level1 lfo15;tab-stops:list .5in'><b>id - </b>simple id token,
- unique within this plug-in. The token cannot contain dot (.) or
- whitespace.</li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l3 level2 lfo15;tab-stops:list 1.0in'>[production rule:
- ExtensionPointId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l3 level1 lfo15;tab-stops:list .5in'><b>schema</b> - schema
- specification for this extension point. The exact details are being
- defined as part of the Plug-In Development Environment (PDE). The schema
- is currently not used at runtime. The reference is a file name relative to
- the plug-in installation location.</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Actual
-extensions are configured into extension points (predefined, or newly declared
-in this plug-in) in the <extension> section. The configuration
-information is specified as well-formed XML contained between the <extension>
-and </extension> tags. The platform does not specify the actual form of
-the configuration markup (other than requiring it to be well-formed XML). The
-markup is defined by the supplier of the plug-in that declared the extension
-point. The platform does not actually interpret the configuration markup. It
-simply passes the configuration information to the plug-in as part of the
-extension point processing (at the time the extension point logic queries all
-of its configured extensions). </p>
-
-<pre><!ELEMENT extension ANY>
-<!ATTLIST extension
- point CDATA #REQUIRED
- id CDATA #IMPLIED
- name CDATA #IMPLIED
-></pre>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>The
-<extension> element has the following attributes: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l4 level1 lfo18;tab-stops:list .5in'><b>point - </b>reference to
- an extension point being configured. The extension point can be one
- defined in this plug-in or another plug-in</li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l4 level2 lfo18;tab-stops:list 1.0in'>[production rule:
- ExtensionPointReference]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l4 level1 lfo18;tab-stops:list .5in'><b>id - </b>optional
- identifier for this extension point configuration instance. This is used
- by extension points that need to uniquely identify (rather than just
- enumerate) the specific configured extensions. The identifier is specified
- as a simple token unique within the definition of the declaring plug-in.
- When used globally, the extension identifier is qualified by the plug-in
- identifier</li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l4 level2 lfo18;tab-stops:list 1.0in'>[production rule:
- ExtensionId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l4 level1 lfo18;tab-stops:list .5in'><b>name - </b>user-displayable
- (translatable) name for the extension</li>
-</ul>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><b>Important:</b>
-The content of the <extension> element is declared using the <tt><span
-style='font-size:10.0pt;font-family:"Courier New"'>ANY</span></tt> rule. This
-means that any well-formed XML can be specified within the extension
-configuration section (between <extension> and </extension> tags). </p>
-
-<pre><p></p></pre><pre><span
-style='font-size:12.0pt;mso-bidi-font-size:10.0pt;font-family:"Times New Roman";
-mso-bidi-font-family:"Courier New"'>Fragments are used to increase the scope of a plug-in.<span style="mso-spacerun: yes"> </span>An example would be to incorporate data such as messages or labels in another language.<p></p></span></pre><pre><p></p></pre><pre><?xml encoding="US-ASCII"?>
-<!ELEMENT fragment (requires?, runtime?, extension-point*, extension*)>
-<!ATTLIST fragment
- name CDATA #REQUIRED
- id CDATA #REQUIRED
- version CDATA #REQUIRED
- provider-name CDATA #IMPLIED
-<span style="mso-spacerun: yes"> </span>plugin-id<span style="mso-spacerun: yes"> </span>CDATA #REQUIRED
-<span style="mso-spacerun: yes"> </span>plugin-version<span style="mso-spacerun: yes"> </span>CDATA #REQUIRED
-<span style="mso-spacerun: yes"> </span>match<span style="mso-spacerun: yes"> </span>(perfect | equivalent | compatible | greaterOrEqual) "compatible"
-></pre>
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'>Each fragment must be associated with a specific plug-in.
-The associated plug-in is identified with <plugin-id>, <plugin-version> and optionally, <match>.
-Note that if this specification matches more than one plug-in, the matching plug-in with the highest version number will be used.<p></p>
-The <requires>, <runtime>, <extension-point>, and <extension> components of a fragment will be logically added to the matching plug-in.<p></p>
-
-<p class=MsoNormal style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><fragment>
-attributes are as follows: </p>
-
-<ul type=disc>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>name</b> - user
- displayable (translatable) name for the fragment</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>id</b> - unique identifier
- for the fragment.</li>
- <ul type=circle>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>To minimize potential
- for naming collisions, the identifier should be derived from the id of
- the associated plug-in in addition to something which identifies the
- scope of this fragment.<span style="mso-spacerun: yes"> </span>For
- example, org.eclipse.core.runtime.nl1 could define a natural language fragment
- for the org.eclipse.core.runtime plug-in</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:
- auto;mso-list:l2 level2 lfo3;tab-stops:list 1.0in'>[production rule:
- PlugInId]</li>
- </ul>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>version </b>- fragment
- version number. See org.eclipse.core.runtime.PluginVersionIdentifier for
- details. Fragment version format is the same as plug-in version format.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>provider-name</b> <b>-</b>
- user-displayable name of the provider supplying the fragment.</li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>plugin-</b><b
- style='mso-bidi-font-weight:normal'>id</b> - matches the id of the
- associated plug-in<b style='mso-bidi-font-weight:normal'><p></p></b></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>plugin-</b><b
- style='mso-bidi-font-weight:normal'>version</b> - matches the version of
- the associated plug-in<b style='mso-bidi-font-weight:normal'><p></p></b></li>
- <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;
- mso-list:l2 level1 lfo3;tab-stops:list .5in'><b>match</b><span
- style='mso-bidi-font-weight:bold'> - the matching rule used to find an
- associated plug-in using <plugin-id> and
- <plugin-version>.<span style="mso-spacerun: yes"> </span>See
- the definition of <match> in the <requires> clause for
- complete details.</span><b style='mso-bidi-font-weight:normal'><p></p></b></li>
-</ul>
-
-<p> <br>
-<a href="hglegal2002.htm"><img src = "ngibmcpy2002.gif" alt="Copyright IBM Corporation and others 2000, 2002" border="0"></a>
-</p>
-
-</div>
-
-</body>
-
-</html>
diff --git a/bundles/org.eclipse.core.runtime/plugin.properties b/bundles/org.eclipse.core.runtime/plugin.properties
deleted file mode 100644
index 0ecbe9a..0000000
--- a/bundles/org.eclipse.core.runtime/plugin.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-pluginName = Core Runtime
-providerName = Eclipse.org
-applicationsName = Applications
-handlersName = URL Stream Handlers
diff --git a/bundles/org.eclipse.core.runtime/plugin.xml b/bundles/org.eclipse.core.runtime/plugin.xml
deleted file mode 100644
index 9c747f9..0000000
--- a/bundles/org.eclipse.core.runtime/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="%pluginName"
- id="org.eclipse.core.runtime"
- version="2.1.0"
- provider-name="%providerName">
-
- <runtime>
- <library name="runtime.jar">
- <export name="*"/>
- <packages prefixes="org.eclipse.core"/>
- </library>
- </runtime>
-
- <requires>
- <import plugin="org.apache.xerces" version="4.0.7" match="equivalent"/>
- </requires>
-
- <extension-point name="%applicationsName" id="applications" schema="schema/applications.mxsd"/>
- <extension-point name="%handlersName" id="urlHandlers" schema="schema/urlHandlers.mxsd"/>
-
-</plugin>
diff --git a/bundles/org.eclipse.core.runtime/schema/applications.mxsd b/bundles/org.eclipse.core.runtime/schema/applications.mxsd
deleted file mode 100644
index 4761aaf..0000000
--- a/bundles/org.eclipse.core.runtime/schema/applications.mxsd
+++ /dev/null
@@ -1,155 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.runtime">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.runtime" id="applications" name="Applications"/>
- </appInfo>
- <documentation>
- Platform runtime supports plug-ins which would like to
-declare main entry points. That is, programs which
-would like to run using the platform runtime but yet
-control all aspects of execution can declare themselves
-as an application. Declared applications can be run
-directly from the main platform launcher by specifying
-the <i>-application</i> argument where the parameter
-is the id of an extension supplied to the
-applications extension point described here.
-This application is instantiated and run by the platform.
-Platform clients can also use the platform to lookup and
-run multiple applications.
- </documentation>
-</annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="application"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="application">
- <complexType>
- <sequence>
- <element ref="run" minOccurs="0" maxOccurs="1"/>
- </sequence>
- </complexType>
- </element>
-
- <element name="run">
- <complexType>
- <sequence>
- <element ref="parameter" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
- the fully-qualified name of a class which implements
-<samp>org.eclipse.core.runtime.IPlatformRunnable</samp>.
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="org.eclipse.core.boot.IPlatformRunnable"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="parameter">
- <annotation>
- <appInfo>
- <meta.element labelAttribute="name"/>
- </appInfo>
- </annotation>
- <complexType>
- <attribute name="name" type="string" use="required">
- <annotation>
- <documentation>
- the name of this parameter made available to instances of the specified application class
- </documentation>
- </annotation>
- </attribute>
- <attribute name="value" type="string" use="required">
- <annotation>
- <documentation>
- the name of this parameter made available to instances of the specified application class
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- Following is an example of a builder configuration:
-<p>
-<pre>
- <extension id="coolApplication" point="org.eclipse.core.runtime.applications">
- <application>
- <run class="com.xyz.applications.Cool">
- <parameter name="optimize" value="true"/>
- </run>
- </application>
- </extension>
-</pre>
-</p>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The value of the class attribute must represent an
-implementor of
-<samp>org.eclipse.core.runtime.IPlatformRunnable</samp>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- The platform itself supplies a number of applications including the platform workbench itself.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- <p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd b/bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd
deleted file mode 100644
index 70f9551..0000000
--- a/bundles/org.eclipse.core.runtime/schema/urlHandlers.mxsd
+++ /dev/null
@@ -1,116 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!-- Schema file written by PDE -->
-<schema targetNamespace="org.eclipse.core.runtime">
-<annotation>
- <appInfo>
- <meta.schema plugin="org.eclipse.core.runtime" id="urlHandlers" name="URL Stream Handlers"/>
- </appInfo>
- <documentation>
- This extension point is used to register additional
-URL handlers to the platform search path.
-Note, that because of the platform class loader
-structure, URL handlers registered by a plug-in using
-the standard Java mechanisms will not be found.
- </documentation>
-</annotation>
-
- <element name="extension">
- <complexType>
- <sequence>
- <element ref="handler" minOccurs="0" maxOccurs="unbounded"/>
- </sequence>
- <attribute name="point" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="id" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="name" type="string">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <element name="handler">
- <complexType>
- <attribute name="protocol" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- </annotation>
- </attribute>
- <attribute name="class" type="string" use="required">
- <annotation>
- <documentation>
-
- </documentation>
- <appInfo>
- <meta.attribute kind="java" basedOn="java.net.URLStreamHandler"/>
- </appInfo>
- </annotation>
- </attribute>
- </complexType>
- </element>
-
- <annotation>
- <appInfo>
- <meta.section type="examples"/>
- </appInfo>
- <documentation>
- Following is an example of a handler configuration:
-<p>
-<pre>
- <extension point="org.eclipse.core.runtime.urlHandlers">
- <handler protocol="foo" class="org.eclipse.handlers.FooHandler"/>
- </extension>
-</pre>
-</p>
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="apiInfo"/>
- </appInfo>
- <documentation>
- The value of the class attribute must represent an
-implementor of implementation of
-<samp>java.net.URLStreamHandler</samp>.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="implementation"/>
- </appInfo>
- <documentation>
- The platform itself does not supply any URL handlers
-registered through this extension point.
- </documentation>
- </annotation>
-
- <annotation>
- <appInfo>
- <meta.section type="copyright"/>
- </appInfo>
- <documentation>
- <p>
-Copyright (c) 2002 IBM Corporation and others.
-All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>
- </documentation>
- </annotation>
-
-</schema>
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java
deleted file mode 100644
index 8a57568..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationElement.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import java.util.*;
-
-public class ConfigurationElement extends ConfigurationElementModel implements IConfigurationElement {
- public ConfigurationElement()
- {
- super();
- }
-public Object createExecutableExtension(String attributeName) throws CoreException {
- String prop = null;
- String executable;
- String pluginName = null;
- String className = null;
- Object initData = null;
- int i;
-
- if (attributeName != null)
- prop = getAttribute(attributeName);
- else {
- // property not specified, try as element value
- prop = getValue();
- if (prop != null) {
- prop = prop.trim();
- if (prop.equals("")) //$NON-NLS-1$
- prop = null;
- }
- }
-
- if (prop == null) {
- // property not defined, try as a child element
- IConfigurationElement[] exec;
- IConfigurationElement[] parms;
- IConfigurationElement element;
- Hashtable initParms;
- String pname;
-
- exec = getChildren(attributeName);
- if (exec.length != 0) {
- element = exec[0]; // assumes single definition
- pluginName = (String) element.getAttribute("plugin"); //$NON-NLS-1$
- className = (String) element.getAttribute("class"); //$NON-NLS-1$
- parms = element.getChildren("parameter"); //$NON-NLS-1$
- if (parms != null) {
- initParms = new Hashtable(parms.length + 1);
- for (i = 0; i < parms.length; i++) {
- pname = (String) parms[i].getAttribute("name"); //$NON-NLS-1$
- if (pname != null)
- initParms.put(pname, parms[i].getAttribute("value")); //$NON-NLS-1$
- }
- if (!initParms.isEmpty())
- initData = initParms;
- }
- }
-
- // specified name is not a simple attribute nor child element
- else {
- String message = Policy.bind("plugin.extDefNotFound", attributeName); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
- logError(status);
- throw new CoreException(status);
- }
- } else {
- // simple property or element value, parse it into its components
- i = prop.indexOf(':');
- if (i != -1) {
- executable = prop.substring(0, i).trim();
- initData = prop.substring(i + 1).trim();
- } else
- executable = prop;
-
- i = executable.indexOf('/');
- if (i != -1) {
- pluginName = executable.substring(0, i).trim();
- className = executable.substring(i + 1).trim();
- } else
- className = executable;
- }
-
- if (className == null || className.equals("")) { //$NON-NLS-1$
- String message = Policy.bind("plugin.extDefNoClass", attributeName ); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
- logError(status);
- throw new CoreException(status);
- }
-
- IPluginDescriptor plugin = getDeclaringExtension().getDeclaringPluginDescriptor();
- return ((PluginDescriptor) plugin).createExecutableExtension(pluginName, className, initData, this, attributeName);
-}
-public String getAttribute(String name) {
-
- String s = getAttributeAsIs(name);
- return s==null ? null : getDeclaringExtension().getDeclaringPluginDescriptor().getResourceString(s);
-}
-public String getAttributeAsIs(String name) {
- ConfigurationPropertyModel[] list = (ConfigurationPropertyModel[]) getProperties();
- if (list == null)
- return null;
- for (int i = 0; i < list.length; i++)
- if (name.equals(list[i].getName()))
- return list[i].getValue();
- return null;
-}
-public String[] getAttributeNames() {
- ConfigurationPropertyModel[] list = getProperties();
- if (list == null)
- return new String[0];
- String[] result = new String[list.length];
- for (int i = 0; i < list.length; i++)
- result[i] = list[i].getName();
- return result;
-}
-public IConfigurationElement[] getChildren() {
- ConfigurationElementModel[] list = getSubElements();
- if (list == null)
- return new IConfigurationElement[0];
- IConfigurationElement[] newValues = new IConfigurationElement[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-public IConfigurationElement[] getChildren(String name) {
- ConfigurationElementModel[] list = getSubElements();
- if (list == null)
- return new IConfigurationElement[0];
- ArrayList children = new ArrayList();
- for (int i = 0; i < list.length; i++) {
- ConfigurationElementModel element = list[i];
- if (name.equals(element.getName()))
- children.add(list[i]);
- }
- return (IConfigurationElement[]) children.toArray(new IConfigurationElement[children.size()]);
-}
-public IExtension getDeclaringExtension() {
- return (IExtension) getParentExtension();
-}
-public String getValue() {
- String s = getValueAsIs();
- return s == null ? null : getDeclaringExtension().getDeclaringPluginDescriptor().getResourceString(s);
-}
-private void logError(IStatus status) {
- InternalPlatform.getRuntimePlugin().getLog().log(status);
- if (InternalPlatform.DEBUG)
- System.out.println(status.getMessage());
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java
deleted file mode 100644
index b697452..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ConfigurationProperty.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.model.ConfigurationPropertyModel;
-
-public class ConfigurationProperty extends ConfigurationPropertyModel {
-public ConfigurationProperty() {
- super();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java
deleted file mode 100644
index 94eac7b..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/DefaultPlugin.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-/**
- * Dummy plugin runtime class implementation
- */
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-public class DefaultPlugin extends Plugin {
-
-public DefaultPlugin(IPluginDescriptor descriptor) {
- super(descriptor);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java
deleted file mode 100644
index c6f0ad9..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Extension.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.ConfigurationElementModel;
-import org.eclipse.core.runtime.model.ExtensionModel;
-
-public class Extension extends ExtensionModel implements IExtension {
- // this extension's elements data offset in the registry cache
- private int subElementsCacheOffset;
- // is this extension already fully loaded?
- private boolean fullyLoaded = true;
-
-public IConfigurationElement[] getConfigurationElements() {
- ConfigurationElementModel[] list = getSubElements();
- if (list == null)
- return new IConfigurationElement[0];
- IConfigurationElement[] newValues = new IConfigurationElement[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-public IPluginDescriptor getDeclaringPluginDescriptor() {
- return (IPluginDescriptor) getParentPluginDescriptor();
-}
-public String getExtensionPointUniqueIdentifier() {
- return getExtensionPoint();
-}
-public String getLabel() {
- String s = getName();
- return s == null ? "" : ((PluginDescriptor) getDeclaringPluginDescriptor()).getResourceString(s); //$NON-NLS-1$
-}
-public String getSimpleIdentifier() {
- return getId();
-}
-public String getUniqueIdentifier() {
- String simple = getSimpleIdentifier();
- if (simple == null)
- return null;
- return getParentPluginDescriptor().getId() + "." + simple; //$NON-NLS-1$
-}
-public String toString() {
- return getParent().getPluginId() + "." + getSimpleIdentifier(); //$NON-NLS-1$
-}
-int getSubElementsCacheOffset() {
- return subElementsCacheOffset;
-}
-void setSubElementsCacheOffset(int subElementsCacheOffset) {
- this.subElementsCacheOffset = subElementsCacheOffset;
-}
-public boolean isFullyLoaded() {
- return fullyLoaded;
-}
-public void setFullyLoaded(boolean fullyLoaded) {
- this.fullyLoaded = fullyLoaded;
-}
-public ConfigurationElementModel[] getSubElements() {
- // maybe it was lazily loaded
- if (!fullyLoaded)
- ((PluginRegistry)this.getParent().getRegistry()).loadConfigurationElements(this);
- return super.getSubElements();
-}
-/**
- * Overridden to relax read-only contraints and allow lazy loading of read-only
- * extensions.
- * @see org.eclipse.core.runtime.model.PluginModelObject#assertIsWriteable
- */
-protected void assertIsWriteable() {
- if (fullyLoaded)
- super.assertIsWriteable();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java
deleted file mode 100644
index 1f6c806..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/ExtensionPoint.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class ExtensionPoint extends ExtensionPointModel implements IExtensionPoint {
- public ExtensionPoint()
- {
- super();
- }
-public IConfigurationElement[] getConfigurationElements() {
- ExtensionModel[] list = getDeclaredExtensions();
- if (list == null)
- return new IConfigurationElement[0];
- ArrayList result = new ArrayList();
- for (int i = 0; i < list.length; i++) {
- ConfigurationElementModel[] configs = list[i].getSubElements();
- if (configs != null)
- for (int j = 0; j < configs.length; j++)
- result.add(configs[j]);
- }
- return (IConfigurationElement[]) result.toArray(new IConfigurationElement[result.size()]);
-}
-public IPluginDescriptor getDeclaringPluginDescriptor() {
- return (IPluginDescriptor) getParentPluginDescriptor();
-}
-public IExtension getExtension(String id) {
- if (id == null)
- return null;
- ExtensionModel[] list = getDeclaredExtensions();
- if (list == null)
- return null;
- for (int i = 0; i < list.length; i++) {
- if (id.equals(((Extension) list[i]).getUniqueIdentifier()))
- return (IExtension) list[i];
- }
- return null;
-}
-public IExtension[] getExtensions() {
- ExtensionModel[] list = getDeclaredExtensions();
- if (list == null)
- return new IExtension[0];
- IExtension[] newValues = new IExtension[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-public String getLabel() {
- String s = getName();
- return s == null ? "" : ((PluginDescriptor) getDeclaringPluginDescriptor()).getResourceString(s); //$NON-NLS-1$
-}
-public java.lang.String getSchemaReference() {
- String s = getSchema();
- return s == null ? "" : s.replace(File.separatorChar, '/'); //$NON-NLS-1$
-}
-public String getSimpleIdentifier() {
- return getId();
-}
-public String getUniqueIdentifier() {
- return getParentPluginDescriptor().getId() + "." + getSimpleIdentifier(); //$NON-NLS-1$
-}
-public String toString() {
- return getParent().getPluginId() + "." + getSimpleIdentifier(); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java
deleted file mode 100644
index a62aaa1..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/FragmentDescriptor.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java
deleted file mode 100644
index 08fd92f..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IModel.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-public interface IModel {
-
- public static final int INDENT = 2;
- public static final int RADIX = 36;
-
- public static final String TRUE = "true"; //$NON-NLS-1$
- public static final String FALSE = "false"; //$NON-NLS-1$
-
- public static final String REGISTRY = "plugin-registry"; //$NON-NLS-1$
- public static final String REGISTRY_PATH = "path"; //$NON-NLS-1$
-
- public static final String FRAGMENT = "fragment"; //$NON-NLS-1$
- public static final String FRAGMENT_ID = "id"; //$NON-NLS-1$
- public static final String FRAGMENT_NAME = "name"; //$NON-NLS-1$
- public static final String FRAGMENT_PROVIDER = "provider-name"; //$NON-NLS-1$
- public static final String FRAGMENT_VERSION = "version"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_ID = "plugin-id"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_MATCH = "match"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_MATCH_PERFECT = "perfect"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_MATCH_EQUIVALENT = "equivalent"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_MATCH_COMPATIBLE = "compatible"; //$NON-NLS-1$
- public static final String FRAGMENT_PLUGIN_MATCH_GREATER_OR_EQUAL = "greaterOrEqual"; //$NON-NLS-1$
-
- public static final String PLUGIN = "plugin"; //$NON-NLS-1$
- public static final String PLUGIN_ID = "id"; //$NON-NLS-1$
- public static final String PLUGIN_NAME = "name"; //$NON-NLS-1$
- public static final String PLUGIN_VENDOR = "vendor-name"; //$NON-NLS-1$
- public static final String PLUGIN_PROVIDER = "provider-name"; //$NON-NLS-1$
- public static final String PLUGIN_VERSION = "version"; //$NON-NLS-1$
- public static final String PLUGIN_CLASS = "class"; //$NON-NLS-1$
-
- public static final String PLUGIN_REQUIRES = "requires"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_PLATFORM = "platform-version"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_PLUGIN = "plugin"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_PLUGIN_VERSION = "version"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_OPTIONAL = "optional"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_IMPORT = "import"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_EXPORT = "export"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_MATCH = "match"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_MATCH_EXACT = "exact"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_MATCH_PERFECT = "perfect"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_MATCH_EQUIVALENT = "equivalent"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_MATCH_COMPATIBLE = "compatible"; //$NON-NLS-1$
- public static final String PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL = "greaterOrEqual"; //$NON-NLS-1$
-
- public static final String PLUGIN_KEY_VERSION_SEPARATOR = "_"; //$NON-NLS-1$
-
- public static final String RUNTIME = "runtime"; //$NON-NLS-1$
-
- public static final String LIBRARY = "library"; //$NON-NLS-1$
- public static final String LIBRARY_NAME = "name"; //$NON-NLS-1$
- public static final String LIBRARY_SOURCE = "source"; //$NON-NLS-1$
- public static final String LIBRARY_TYPE = "type"; //$NON-NLS-1$
- public static final String LIBRARY_EXPORT = "export"; //$NON-NLS-1$
- public static final String LIBRARY_EXPORT_MASK = "name"; //$NON-NLS-1$
- public static final String LIBRARY_PACKAGES = "packages"; //$NON-NLS-1$
- public static final String LIBRARY_PACKAGES_PREFIXES = "prefixes"; //$NON-NLS-1$
-
- public static final String EXTENSION_POINT = "extension-point"; //$NON-NLS-1$
- public static final String EXTENSION_POINT_NAME = "name"; //$NON-NLS-1$
- public static final String EXTENSION_POINT_ID = "id"; //$NON-NLS-1$
- public static final String EXTENSION_POINT_SCHEMA = "schema"; //$NON-NLS-1$
-
- public static final String EXTENSION = "extension"; //$NON-NLS-1$
- public static final String EXTENSION_NAME = "name"; //$NON-NLS-1$
- public static final String EXTENSION_ID = "id"; //$NON-NLS-1$
- public static final String EXTENSION_TARGET = "point"; //$NON-NLS-1$
-
- public static final String ELEMENT = "element"; //$NON-NLS-1$
- public static final String ELEMENT_NAME = "name"; //$NON-NLS-1$
- public static final String ELEMENT_VALUE = "value"; //$NON-NLS-1$
-
- public static final String PROPERTY = "property"; //$NON-NLS-1$
- public static final String PROPERTY_NAME = "name"; //$NON-NLS-1$
- public static final String PROPERTY_VALUE = "value"; //$NON-NLS-1$
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java
deleted file mode 100644
index a28da13..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/IPluginVisitor.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-
-public interface IPluginVisitor {
-public void visit(IPluginDescriptor descriptor);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java
deleted file mode 100644
index d2f992f..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/InternalFactory.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.model.*;
-
-public class InternalFactory extends Factory {
-public InternalFactory(MultiStatus status) {
- super(status);
-}
-public ConfigurationElementModel createConfigurationElement() {
- return new ConfigurationElement();
-}
-public ConfigurationPropertyModel createConfigurationProperty() {
- return new ConfigurationProperty();
-}
-public ExtensionModel createExtension() {
- return new Extension();
-}
-public ExtensionPointModel createExtensionPoint() {
- return new ExtensionPoint();
-}
-
-
-
-public LibraryModel createLibrary() {
- return new Library();
-}
-public PluginDescriptorModel createPluginDescriptor() {
- return new PluginDescriptor();
-}
-
-public PluginFragmentModel createPluginFragment() {
- return new FragmentDescriptor();
-}
-
-public PluginPrerequisiteModel createPluginPrerequisite() {
- return new PluginPrerequisite();
-}
-public PluginRegistryModel createPluginRegistry() {
- return new PluginRegistry();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java
deleted file mode 100644
index a99366a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/Library.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.LibraryModel;
-
-public class Library extends LibraryModel implements ILibrary {
- public Library()
- {
- super();
- }
-public String[] getContentFilters() {
- if (!isExported() || isFullyExported())
- return null;
- return getExports();
-}
-public IPath getPath() {
- return new Path(getName());
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java
deleted file mode 100644
index 755e834..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginClassLoader.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.plugins;
-
-import java.net.URL;
-import java.util.HashSet;
-import java.util.Set;
-import org.eclipse.core.internal.boot.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-
-/**
- * Plugin class loader.
- *
- * Handle loading of classes from a plugin. Configures load path based
- * on the plugin <runtime> specification. Configures delegate loaders
- * based on the <requires> specification. Configures
- * the parent loader to be the default instance of
- * PlatformClassLoader (assumes to be initialized by this point).
- *
- */
-
-public final class PluginClassLoader extends DelegatingURLClassLoader {
- private PluginDescriptor descriptor;
- private boolean pluginActivationInProgress = false;
- private boolean loadInProgress = false;
- public static boolean usePackagePrefixes = true;
-
-public PluginClassLoader(URL[] codePath, URLContentFilter[] codeFilters, URL[] resourcePath, URLContentFilter[] resourceFilters, ClassLoader parent, PluginDescriptor descriptor) {
- // create a class loader with the given classpath and filters. Also, the parent
- // should be the parent of the platform class loader. This allows us to decouple standard
- // parent loading from platform loading.
- super(codePath, codeFilters, resourcePath, resourceFilters, parent);
- this.descriptor = descriptor;
- this.base = descriptor.getInstallURL();
- this.prefixes = initializePrefixes(descriptor, getPrefixId());
- debugConstruction(); // must have initialized loader
-
- // Note: initializeImportedLoaders() is called by PluginDescriptor.getPluginClassLoader().
- // The split between construction and initialization is needed
- // to correctly handle the case where the user defined loops in
- // the prerequisite definitions.
-}
-public static String[] initializePrefixes(IPluginDescriptor descriptor, String prefixId) {
- // use the classloader.properties file as an over-ride to what
- // appears in the plugin.xml
- if (InternalBootLoader.useClassLoaderProperties()) {
- String list = (String) prefixTable.get(prefixId);
- if (list == null)
- return null;
- // if there is an entry in the file but no value then treat that as
- // a "don't use any package prefixes"
- if (list.trim().length() == 0) {
- if (DEBUG_PROPERTIES)
- System.out.println("Clearing prefixes for: " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
- return null;
- }
- if (DEBUG_PROPERTIES)
- System.out.println("Using prefixes for " + descriptor.getUniqueIdentifier() + " from classloader.properties: " + list); //$NON-NLS-1$ //$NON-NLS-2$
- return getArrayFromList(list);
- }
-
- // setup the package prefixes to use
- if (usePackagePrefixes) {
- if (DEBUG_PACKAGE_PREFIXES)
- System.out.println("Reading package prefixes for plug-in: " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
- // collect all of the package prefixes for all of the runtime entries in the plugin.xml
- Set set = new HashSet(5);
- ILibrary[] libraries = descriptor.getRuntimeLibraries();
- for (int i = 0; libraries != null && i < libraries.length; i++) {
- String[] entries = libraries[i].getPackagePrefixes();
- for (int j=0; entries != null && j < entries.length; j++)
- set.add(entries[j]);
- }
- String[] prefixes = null;
- if (set.size() != 0)
- prefixes = (String[]) set.toArray(new String[set.size()]);
- if (DEBUG_PACKAGE_PREFIXES) {
- String list = arrayToString(prefixes);
- System.out.println("Using the following prefixes: " + list); //$NON-NLS-1$
- }
- return prefixes;
- }
- return null;
-}
-static String arrayToString(String[] array) {
- if (array == null)
- return null;
- StringBuffer buffer = new StringBuffer();
- for (int i=0; i<array.length; i++) {
- buffer.append(array[i]);
- if (i != array.length - 1)
- buffer.append(',');
- }
- return buffer.toString();
-}
-protected void activatePlugin(String name) {
- try {
- // pluginActivationInProgress = true;
- // the in-progress flag is set when we detect that activation will be required.
- // be sure to unset it here.
- if (DEBUG && DEBUG_SHOW_ACTIVATE && debugLoader())
- debug("Attempting to activate " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
- descriptor.doPluginActivation();
- } catch (CoreException e) {
- if (DEBUG && DEBUG_SHOW_ACTIVATE && debugLoader())
- debug("Activation failed for " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
- throw new DelegatingLoaderException(Policy.bind("plugin.delegatingLoaderTrouble", descriptor.getUniqueIdentifier(), name), e); //$NON-NLS-1$
- } finally {
- if (DEBUG && DEBUG_SHOW_ACTIVATE && debugLoader())
- debug("Exit activation for " + descriptor.getUniqueIdentifier()); //$NON-NLS-1$
- pluginActivationInProgress = false;
- }
-}
-public String debugId() {
- return descriptor.toString();
-}
-/**
- * Finds and loads the class with the specified name from the URL search
- * path. Any URLs referring to JAR files are loaded and opened as needed
- * until the class is found. Search on the parent chain and then self.
- *
- * Subclasses should implement this method.
- *
- * @param name the name of the class
- * @param resolve whether or not to resolve the class if found
- * @param requestor class loader originating the request
- * @param checkParents whether the parent of this loader should be consulted
- * @return the resulting class
- */
-protected Class internalFindClassParentsSelf(final String name, boolean resolve, DelegatingURLClassLoader requestor, boolean checkParents) {
- Class result = null;
- synchronized (this) {
- // check the cache. If we find something, check to see if its visible.
- // If it is, return it. If not, return null if we are not checking parents. There is
- // no point in looking in self as the class was already in the cache.
- result = findLoadedClass(name);
- if (result != null) {
- result = checkClassVisibility(result, requestor, true);
- if (result != null || !checkParents)
- return result;
- }
-
- // if it wasn't in the cache or was not visible, check the parents (if requested)
- if (checkParents) {
- result = findClassParents(name, resolve);
- if (result != null)
- return result;
- }
-
- // if activation is not going to be required, try the load here. This is
- // a short circuit so we don't fall through to the other sync block and do
- // more work. Note that the order of the tests is important, since
- //descriptor.isPluginActivated() blocks while activation in progress,
- //thus creating a potential deadlock situation.
- if (pluginActivationInProgress || descriptor.isPluginActivated()) {
- try {
- result = super.findClass(name);
- } catch (ClassNotFoundException e) {
- return null;
- }
- return checkClassVisibility(result, requestor, false);
- }
- // Check to see if we would find the class if we looked. If so,
- // activation is required. If not, don't bother, just return null
- if (shouldLookForClass(name))
- // leave a dropping to discourage others from trying to do activation.
- // This flag will be cleared once activation is complete.
- pluginActivationInProgress = true;
- else
- return null;
- }
-
- // If we will find the class and the plugin is not yet activated, go ahead and do it now.
- // Note that this MUST be done outside the sync block to avoid deadlock if
- // plugin activation forks threads etc.
- activatePlugin(name);
-
- // By now the plugin is activated and we need to sycn and retry the
- // class load.
- synchronized (this) {
- result = findLoadedClass(name);
- if (result != null)
- return checkClassVisibility(result, requestor, true);
-
- // do search/load in this class loader
- try {
- result = super.findClass(name);
- // If the class is loaded in this classloader register it with
- // the hot swap support. Need to do this regardless of visibility
- // because the class was actually loaded.
- if (result == null)
- return null;
- return checkClassVisibility(result, requestor, false);
- } catch (ClassNotFoundException e) {
- return null;
- }
- }
-}
-public PluginDescriptor getPluginDescriptor() {
- return descriptor;
-}
-/**
- * Returns the id to use to lookup class prefixes for this loader
- */
-public String getPrefixId() {
- return descriptor.getUniqueIdentifier();
- }
- /**
- * Initializes imported classloaders with the classloaders of all resolved pre-
- * requisites.
- */
-public void initializeImportedLoaders() {
- PluginDescriptor desc = getPluginDescriptor();
- // prereqs will contain all *resolved* pre-requisites (except boot and runtime)
- IPluginPrerequisite[] prereqs = desc.getPluginResolvedPrerequisites();
- if (prereqs.length == 0)
- return;
- PluginRegistry registry = desc.getPluginRegistry();
- DelegateLoader[] importedLoaders = new DelegateLoader[prereqs.length];
- for (int i = 0; i < prereqs.length; i++) {
- String prereqId = prereqs[i].getUniqueIdentifier();
- desc = (PluginDescriptor) registry.getPluginDescriptor(prereqId, prereqs[i].getResolvedVersionIdentifier());
- importedLoaders[i] = new DelegateLoader((DelegatingURLClassLoader) desc.getPluginClassLoader(true), prereqs[i].isExported());
- }
- setImportedLoaders(importedLoaders);
-}
-public void setPluginDescriptor(PluginDescriptor value) {
- descriptor = value;
-}
-protected boolean shouldLookForClass(String name) {
- // check if requested class is in loader search path
- // Note: this check is suboptimal. It results in additional
- // loader overhead until the plugin is activated. The reason
- // the check is performed here is because
- // (1) plug-in activation needs to be performed prior to
- // the requested class load (done in findClass(String))
- // (2) the check cannot be added to the "right" spot inside private
- // implementation of URLClassLoader
- String resource = name.replace('.', '/');
- if (findClassResource(resource + ".class") == null) //$NON-NLS-1$
- return false;
-
- // check if plugin is permanently deactivated
- if (descriptor.isPluginDeactivated()) {
- String message = Policy.bind("plugin.deactivatedLoad", name, descriptor.getUniqueIdentifier()); //$NON-NLS-1$
- throw new DelegatingLoaderException(message);
- }
- return true;
-}
-protected String getClassloaderId() {
- return descriptor.getId();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java
deleted file mode 100644
index 57f75c0..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginDescriptor.java
+++ /dev/null
@@ -1,1023 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.boot.BundleStats;
-import org.eclipse.core.internal.boot.ClassloaderStats;
-import org.eclipse.core.internal.boot.DelegatingURLClassLoader;
-import org.eclipse.core.internal.boot.PlatformClassLoader;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.internal.boot.URLContentFilter;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class PluginDescriptor extends PluginDescriptorModel implements IPluginDescriptor {
-
- private DelegatingURLClassLoader loader = null; // plugin loader
- private boolean active = false; // plugin is active
- private boolean activePending = false; // being activated
- private boolean deactivated = false; // plugin deactivated due to startup errors
- protected Plugin pluginObject = null; // plugin object
- private boolean usePlatformURLs = true;
- private ResourceBundle bundle = null; // plugin.properties
- private Locale locale = null; // bundle locale
- private boolean bundleNotFound = false; // marker to prevent unnecessary lookups
- private Object[] cachedClasspath = null; // cached value of class loader's classpath
-
- // constants
- static final String PLUGIN_URL = PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR + "/" + PlatformURLPluginConnection.PLUGIN + "/"; //$NON-NLS-1$ //$NON-NLS-2$
- static final String VERSION_SEPARATOR = "_"; //$NON-NLS-1$
-
- private static final String DEFAULT_BUNDLE_NAME = "plugin"; //$NON-NLS-1$
- private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
- private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-
- private static final String URL_PROTOCOL_FILE = "file"; //$NON-NLS-1$
-
- // Places to look for library files
- private static String[] WS_JAR_VARIANTS = buildWSVariants();
- private static String[] OS_JAR_VARIANTS = buildOSVariants();
- private static String[] NL_JAR_VARIANTS = buildNLVariants(BootLoader.getNL());
- private static String[] JAR_VARIANTS = buildVanillaVariants();
-
-public PluginDescriptor() {
- super();
-}
-private static String[] buildWSVariants() {
- ArrayList result = new ArrayList();
- result.add("ws/" + BootLoader.getWS()); //$NON-NLS-1$
- result.add(""); //$NON-NLS-1$
- return (String[])result.toArray(new String[result.size()]);
-}
-private static String[] buildOSVariants() {
- ArrayList result = new ArrayList();
- result.add("os/" + BootLoader.getOS() + "/" + BootLoader.getOSArch()); //$NON-NLS-1$ //$NON-NLS-2$
- result.add("os/" + BootLoader.getOS()); //$NON-NLS-1$
- result.add(""); //$NON-NLS-1$
- return (String[])result.toArray(new String[result.size()]);
-}
-private static String[] buildNLVariants(String nl) {
- ArrayList result = new ArrayList();
- IPath base = new Path("nl"); //$NON-NLS-1$
-
- IPath path = new Path(nl.replace('_', '/'));
- while (path.segmentCount() > 0) {
- result.add(base.append(path).toString());
- // for backwards compatibility only, don't replace the slashes
- if (path.segmentCount() > 1)
- result.add(base.append(path.toString().replace('/', '_')).toString());
- path = path.removeLastSegments(1);
- }
-
- return (String[]) result.toArray(new String[result.size()]);
-}
-private static String[] buildVanillaVariants() {
- return new String[] {""}; //$NON-NLS-1$
-}
-private String[] buildBasePaths(String pluginBase) {
- // Now build a list of all the bases to use
- ArrayList result = new ArrayList();
- result.add(pluginBase);
- PluginFragmentModel[] fragments = getFragments();
- int fragmentLength = (fragments == null) ? 0 : fragments.length;
- for (int i = 0; i < fragmentLength; i++) {
- FragmentDescriptor fragment = (FragmentDescriptor)fragments[i];
- result.add(fragment.getInstallURL().toString());
- }
- return (String[])result.toArray(new String[result.size()]);
-}
-/**
- * concatenates start and end. If end has a '.' construct at the beginning
- * trim off any leading '.' constructs. Since the libSpec was a path, we
- * know that it was canonicalized and will only have at most one set
- * of '.' constructs at the beginning. Returns <code>null</code> if the
- * end is null or starts with '..'.
- */
-private String concat(String start, String end) {
- if (end == null)
- return null;
- if (end.startsWith("..")) //$NON-NLS-1$
- // ISSUE: should log an error here
- // error case. Can't '..' out of the scope of a plugin. Signal that this
- // should be ignored (return null).
- return null;
- if (end.startsWith("./")) //$NON-NLS-1$
- return start + (end.substring(2));
- if (end.startsWith(".")) //$NON-NLS-1$
- return start + end.substring(1);
- return start + end;
-}
-public Object createExecutableExtension(String className, Object initData, IConfigurationElement cfig, String propertyName) throws CoreException {
- // load the requested class from this plugin
- Class classInstance = null;
- try {
- classInstance = getPluginClassLoader(true).loadClass(className);
- } catch (Exception e1) {
- throwException(Policy.bind("plugin.loadClassError", getId(), className), e1); //$NON-NLS-1$
- }
-
- // create a new instance
- Object result = null;
- try {
- result = classInstance.newInstance();
- } catch (Exception e) {
- throwException(Policy.bind("plugin.instantiateClassError", getId(), className), e); //$NON-NLS-1$
- }
-
- // check if we have extension adapter and initialize
- if (result instanceof IExecutableExtension) {
- try {
- // make the call even if the initialization string is null
- ((IExecutableExtension) result).setInitializationData(cfig, propertyName, initData);
- } catch (CoreException ce) {
- // user code threw exception
- logError(ce.getStatus());
- throw new CoreException(ce.getStatus());
- } catch (Exception te) {
- // user code caused exception
- throwException(Policy.bind("policy.initObjectError", getId(), className), te); //$NON-NLS-1$
- }
- }
- return result;
-}
-Object createExecutableExtension(String pluginName, String className, Object initData, IConfigurationElement cfig, String propertyName) throws CoreException {
- String id = getUniqueIdentifier(); // this plugin id
- // check if we need to delegate to some other plugin
- if (pluginName != null && !pluginName.equals("") && !pluginName.equals(id)) { //$NON-NLS-1$
- PluginDescriptor plugin = null;
- plugin = (PluginDescriptor) getPluginRegistry().getPluginDescriptor(pluginName);
- return plugin.createExecutableExtension(className, initData, cfig, propertyName);
- }
- return createExecutableExtension(className, initData, cfig, propertyName);
-}
-synchronized void doPluginActivation() throws CoreException {
- // this method is called by the class loader just prior
- // to getting a class. It needs to handle the
- // case where it is called multiple times during the activation
- // processing itself (as a result of other classes from this
- // plugin being directly referenced by the plugin class)
-
- // NOTE: there is a remote scenario where the plugin class can
- // deadlock, if it starts separate thread(s) within its
- // constructor or startup() method, and waits on those
- // threads before returning (ie. calls join()).
-
- boolean errorExit = true;
-
- // check if already activated or pending
- if (pluginActivationEnter()) {
- try {
- if (DelegatingURLClassLoader.MONITOR_PLUGINS)
- PluginStats.startActivation(this.getUniqueIdentifier());
- internalDoPluginActivation();
- errorExit = false;
- } finally {
- pluginActivationExit(errorExit);
- if (DelegatingURLClassLoader.MONITOR_PLUGINS)
- PluginStats.endActivation(this.getUniqueIdentifier());
- }
- }
-}
-synchronized void doPluginDeactivation() {
- loader = null;
- pluginObject = null;
- active = false;
- activePending = false;
- deactivated = false;
-}
-/**
- * convert a list of comma-separated tokens into an array
- */
-private static String[] getArrayFromList(String prop) {
- if (prop == null || prop.trim().equals("")) //$NON-NLS-1$
- return new String[0];
- Vector list = new Vector();
- StringTokenizer tokens = new StringTokenizer(prop, ","); //$NON-NLS-1$
- while (tokens.hasMoreTokens()) {
- String token = tokens.nextToken().trim();
- if (!token.equals("")) //$NON-NLS-1$
- list.addElement(token);
- }
- return list.isEmpty() ? new String[0] : (String[]) list.toArray(new String[0]);
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtension getExtension(String id) {
- if (id == null)
- return null;
- ExtensionModel[] list = getDeclaredExtensions();
- if (list == null)
- return null;
- for (int i = 0; i < list.length; i++) {
- if (id.equals(list[i].getId()))
- return (IExtension) list[i];
- }
- return null;
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtensionPoint getExtensionPoint(String extensionPointId) {
- if (extensionPointId == null)
- return null;
- ExtensionPointModel[] list = getDeclaredExtensionPoints();
- if (list == null)
- return null;
- for (int i = 0; i < list.length; i++) {
- if (extensionPointId.equals(list[i].getId()))
- return (IExtensionPoint) list[i];
- }
- return null;
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtensionPoint[] getExtensionPoints() {
- ExtensionPointModel[] list = getDeclaredExtensionPoints();
- if (list == null)
- return new IExtensionPoint[0];
- IExtensionPoint[] newValues = new IExtensionPoint[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-/**
- * @see IPluginDescriptor
- */
-public IExtension[] getExtensions() {
- ExtensionModel[] list = getDeclaredExtensions();
- if (list == null)
- return new IExtension[0];
- IExtension[] newValues = new IExtension[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-/**
- * @see IPluginDescriptor
- */
-public URL getInstallURL() {
- try {
- return new URL(PLUGIN_URL + toString() + "/"); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- throw new IllegalStateException(); // unchecked
- }
-}
-public URL getInstallURLInternal() {
- String url = getLocation();
- try {
- return new URL(url);
- } catch (MalformedURLException e) {
- throw new IllegalStateException(); // unchecked
- }
-}
-/**
- * @see IPluginDescriptor
- */
-public String getLabel() {
- String s = getName();
- return s == null ? "" : getResourceString(s); //$NON-NLS-1$
-}
-/**
- * @see IPluginDescriptor
- */
-public Plugin getPlugin() throws CoreException {
- if (pluginObject == null)
- doPluginActivation();
- return pluginObject;
-}
-/**
- * @see IPluginDescriptor
- */
-public ClassLoader getPluginClassLoader() {
- return getPluginClassLoader(true);
-}
-public ClassLoader getPluginClassLoader(boolean eclipseURLs) {
- if (loader != null)
- return loader;
-
- Object[] path = getPluginClassLoaderPath(eclipseURLs);
- URL[] codePath = (URL[]) path[0];
- URLContentFilter[] codeFilters = (URLContentFilter[]) path[1];
- URL[] resourcePath = (URL[]) path[2];
- URLContentFilter[] resourceFilters = (URLContentFilter[]) path[3];
- // Create the classloader. The parent should be the parent of the platform class loader.
- // This allows us to decouple standard parent loading from platform loading.
- loader = new PluginClassLoader(codePath, codeFilters, resourcePath, resourceFilters, PlatformClassLoader.getDefault().getParent(), this);
- loader.initializeImportedLoaders();
- // Note: need to be able to give out a loader reference before
- // its prereqs are initialized. Otherwise loops in prereq
- // definition will cause endless loop in initializePrereqs()
- return loader;
-}
-private Object[] getPluginClassLoaderPath(boolean platformURLFlag) {
- if (cachedClasspath != null)
- return cachedClasspath;
-
- // Any library access filters specified in the plugin.xml are
- // applied to the corresponding loader search path entries
-
- // compute the base of the classpath urls. If <code>platformURLFlag</code> is
- // true, we should use platform: URLs. Otherwise the native URLs are used.
- usePlatformURLs = platformURLFlag;
- // If we are using platform URLs, install will look like
- // platform:/plugin/<pluginId>_<pluginVersion>/
- // If we aren't using platform URLs install will be the URL
- // corresponding to the root directory of this plugin
- URL install = usePlatformURLs ? getInstallURL() : getInstallURLInternal();
- String execBase = install.toExternalForm();
-
- String[] basePaths = buildBasePaths(execBase);
-
- String[] exportAll = new String[] { "*" }; //$NON-NLS-1$
- ArrayList[] result = new ArrayList[4];
- result[0] = new ArrayList();
- result[1] = new ArrayList();
- result[2] = new ArrayList();
- result[3] = new ArrayList();
-
- // add in any development mode class paths and the export all filter
- // For example, if you specified "-dev bin" on the command line to
- // launch Eclipse, you want to add the bin directory of each plugin
- // to the classpath.
- if (DelegatingURLClassLoader.devClassPath != null) {
- String[] specs = getArrayFromList(DelegatingURLClassLoader.devClassPath);
- Vector baseSpecs = new Vector(specs.length);
- // convert dev class path into url strings
- for (int j = 0; j < specs.length; j++) {
- String spec = specs[j];
- char lastChar = spec.charAt(spec.length() - 1);
- // if the spec is not a jar and does not have a trailing slash, add one
- if (!(spec.endsWith(".jar") || (lastChar == '/' || lastChar == '\\'))) //$NON-NLS-1$
- spec = spec + "/"; //$NON-NLS-1$
- if (!spec.endsWith(".jar")) //$NON-NLS-1$
- baseSpecs.add(spec);
- // add the dev path for the plugin itself
- addLibraryWithFragments(basePaths, JAR_VARIANTS, spec, exportAll, ILibrary.CODE, true, result);
- }
- // Now add all the spec directories to the basePaths so we
- // will look in these directories for jar files, etc.
- String[] baseSuffix = (String[])baseSpecs.toArray(new String[baseSpecs.size()]);
- String[] newBasePaths = new String[basePaths.length + (basePaths.length * baseSpecs.size())];
- int newIdx = 0;
- for (int j = 0; j < baseSuffix.length; j++) {
- for (int i = 0; i < basePaths.length; i++) {
- newBasePaths[newIdx++] = basePaths[i] + baseSuffix[j];
- }
- }
- for (int i = 0; i < basePaths.length; i++) {
- newBasePaths[newIdx++] = basePaths[i];
- }
- basePaths = newBasePaths;
- }
-
- // add in the class path entries spec'd in the plugin.xml.
- ILibrary[] list = getRuntimeLibraries();
- for (int i = 0; i < list.length; i++) {
- ILibrary library = list[i];
- // if the library path is empty, skip it.
- if (library.getPath().isEmpty())
- continue;
- String[] filters = library.isFullyExported() ? exportAll : library.getContentFilters();
- String libSpec = library.getPath().toString();
- resolveAndAddLibrary(libSpec, filters, basePaths, library.getType(), result);
- }
-
- Object[] array = new Object[4];
- array[0] = result[0].toArray(new URL[result[0].size()]);
- array[1] = result[1].toArray(new URLContentFilter[result[1].size()]);
- array[2] = result[2].toArray(new URL[result[2].size()]);
- array[3] = result[3].toArray(new URLContentFilter[result[3].size()]);
- // cache the value
- cachedClasspath = array;
- return array;
-}
-
-private boolean resolveAndAddLibrary(String spec, String[] filters, String[] basePaths, String type, ArrayList[] result) {
- if (spec.charAt(0) == '$') {
- IPath path = new Path(spec);
- String first = path.segment(0);
- String remainder = path.removeFirstSegments(1).toString();
- if (first.equalsIgnoreCase("$ws$")) //$NON-NLS-1$
- return addLibraryWithFragments(basePaths, WS_JAR_VARIANTS, "/" + remainder, filters, type, false, result); //$NON-NLS-1$
- if (first.equalsIgnoreCase("$os$")) //$NON-NLS-1$
- return addLibraryWithFragments(basePaths, OS_JAR_VARIANTS, "/" + remainder, filters, type, false, result); //$NON-NLS-1$
- if (first.equalsIgnoreCase("$nl$")) //$NON-NLS-1$
- return addLibraryWithFragments(basePaths, NL_JAR_VARIANTS, "/" + remainder, filters, type, false, result); //$NON-NLS-1$
- }
- return addLibraryWithFragments(basePaths, JAR_VARIANTS, spec, filters, type, false, result);
-}
-
-private boolean addLibraryWithFragments(String[] basePaths, String[] variants, String spec, String[] filters, String type, boolean addAll, ArrayList[] result) {
- // If addAll is set to false, only the first valid match will be
- // added to the class path. If addAll is set to true, all valid
- // path permutations will be added to the class path. Typically
- // you will want addAll set to true for the development mode
- // case.
- boolean added = false;
- // The only case where we want to stop looping is if
- // addAll = false and added = true.
- // In all other cases, keep looping and adding (or attempting to
- // add) path values.
- // So keep looping if addAll = true OR added = false.
- for (int j = 0; j < variants.length && (addAll || !added); j++) {
- for (int i = 0; i < basePaths.length && (addAll || !added); i++) {
- added = addLibrary(basePaths[i], spec, variants[j], filters, type, result);
- }
- }
- return added;
-}
-
-private boolean addLibrary(String base, String libSpec, String variant, String[] filters, String type, ArrayList[] result) {
- // create path entries for all libraries except those which are files
- // and do not exist.
- String spec = null;
- // Make sure you get only one separator between each segment
- if ((variant.length() == 0) && (libSpec.startsWith("/")) && //$NON-NLS-1$
- (base.endsWith("/"))) { //$NON-NLS-1$
- spec = concat(base, libSpec.substring(1));
- } else {
- spec = concat(concat(base, variant), libSpec);
- }
- // spec is now something of the form:
- // <base><variant><libSpec>
- if (spec == null)
- return false;
-
- // if the libspec is NOT considered a directory, treat as a jar
- if (!spec.endsWith("/")) { //$NON-NLS-1$
- if (spec.startsWith(PlatformURLHandler.PROTOCOL + PlatformURLHandler.PROTOCOL_SEPARATOR))
- spec += PlatformURLHandler.JAR_SEPARATOR;
- else
- spec = PlatformURLHandler.JAR + PlatformURLHandler.PROTOCOL_SEPARATOR + spec + PlatformURLHandler.JAR_SEPARATOR;
- }
- try {
- URL entry = new URL(spec);
- URL resolved = Platform.resolve(entry);
- boolean add = true;
- String file = getFileFromURL (resolved);
- if (file != null)
- add = new File(file).exists();
- if (add) {
- if (type.equals(ILibrary.CODE)) {
- result[0].add(resolved);
- result[1].add(new URLContentFilter(filters));
- } else
- if (type.equals(ILibrary.RESOURCE)) {
- result[2].add(resolved);
- result[3].add(new URLContentFilter(filters));
- }
- return true;
- }
- } catch (IOException e) {
- // skip bad URLs
- }
- return false;
-}
-
-public String getFileFromURL(URL target) {
- String protocol = target.getProtocol();
- if (protocol.equals(PlatformURLHandler.FILE))
- return target.getFile();
- if (protocol.equals(PlatformURLHandler.JAR)) {
- // strip off the jar separator at the end of the url then do a recursive call
- // to interpret the sub URL.
- String file = target.getFile();
- file = file.substring(0, file.length() - PlatformURLHandler.JAR_SEPARATOR.length());
- try {
- return getFileFromURL(new URL(file));
- } catch (MalformedURLException e) {
- // ignore bad URLs
- }
- }
- return null;
-}
-
-/**
- * @see IPluginDescriptor
- */
-public IPluginPrerequisite[] getPluginPrerequisites() {
- PluginPrerequisiteModel[] list = getRequires();
- if (list == null)
- return new IPluginPrerequisite[0];
- IPluginPrerequisite[] newValues = new IPluginPrerequisite[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-public PluginRegistry getPluginRegistry() {
- return (PluginRegistry) getRegistry();
-}
-/**
- * @see IPluginDescriptor
- */
-public String getProviderName() {
- String s = super.getProviderName();
- return s == null ? "" : getResourceString(s); //$NON-NLS-1$
-}
-/**
- * @see IPluginDescriptor
- */
-public ResourceBundle getResourceBundle() throws MissingResourceException {
- return getResourceBundle(Locale.getDefault());
-}
-public ResourceBundle getResourceBundle(Locale targetLocale) throws MissingResourceException {
- // we cache the bundle for a single locale
- if (bundle != null && targetLocale.equals(locale))
- return bundle;
-
- // check if we already tried and failed
- if (bundleNotFound)
- throw new MissingResourceException(Policy.bind("plugin.bundleNotFound", getId(), DEFAULT_BUNDLE_NAME + "_" + targetLocale), DEFAULT_BUNDLE_NAME + "_" + targetLocale, ""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
-
- // try to load bundle from this plugin. A new loader is created to include the base
- // install directory on the search path (to maintain compatibility with current handling
- // of plugin.properties bundles (not in code jar)).
- URL[] cp = (URL[])getPluginClassLoaderPath(true)[0];
- URL[] newcp = new URL[cp.length+1];
- for (int i=0; i<cp.length; i++) newcp[i+1] = cp[i];
- try {
- newcp[0] = Platform.resolve(getInstallURL()); // always try to resolve URLs used in loaders
- } catch(IOException e) {
- newcp[0] = getInstallURL();
- }
- ClassLoader resourceLoader = new URLClassLoader(newcp, null);
- ResourceBundle newBundle = null;
- try {
- newBundle = ResourceBundle.getBundle(DEFAULT_BUNDLE_NAME, targetLocale, resourceLoader);
- if (DelegatingURLClassLoader.MONITOR_BUNDLES)
- ClassloaderStats.loadedBundle(getUniqueIdentifier(), new BundleStats(getUniqueIdentifier(), DEFAULT_BUNDLE_NAME+".properties", newBundle)); //$NON-NLS-1$
- bundle = newBundle;
- locale = targetLocale;
- } catch (MissingResourceException e) {
- bundleNotFound = true;
- throw e;
- }
-
- return newBundle;
-}
-/**
- * @see IPluginDescriptor
- */
-public String getResourceString(String value) {
- return getResourceString(value, null);
-}
-/**
- * @see IPluginDescriptor
- */
-public String getResourceString(String value, ResourceBundle b) {
-
- String s = value.trim();
-
- if (!s.startsWith(KEY_PREFIX)) return s;
-
- if (s.startsWith(KEY_DOUBLE_PREFIX)) return s.substring(1);
-
- int ix = s.indexOf(" "); //$NON-NLS-1$
- String key = ix == -1 ? s : s.substring(0,ix);
- String dflt = ix == -1 ? s : s.substring(ix+1);
-
- if (b==null) {
- try {
- b = getResourceBundle();
- } catch (MissingResourceException e) {
- // just return the default (dflt)
- };
- }
-
- if (b==null) return dflt;
-
- try {
- return b.getString(key.substring(1));
- } catch(MissingResourceException e) {
- return dflt;
- }
-}
-/**
- * @see IPluginDescriptor
- */
-public ILibrary[] getRuntimeLibraries() {
- LibraryModel[] list = getRuntime();
- if (list == null)
- return new ILibrary[0];
- ILibrary[] newValues = new ILibrary[list.length];
- System.arraycopy(list, 0, newValues, 0, list.length);
- return newValues;
-}
-/**
- * @see IPluginDescriptor
- */
-public String getUniqueIdentifier() {
- return getId();
-}
-/**
- * @see #toString
- */
-public static String getUniqueIdentifierFromString(String pluginString) {
- int ix = pluginString.indexOf(VERSION_SEPARATOR);
- return ix==-1 ? pluginString : pluginString.substring(0,ix);
-}
-/**
- * @see IPluginDescriptor
- */
-public PluginVersionIdentifier getVersionIdentifier() {
- String version = getVersion();
- if (version == null)
- return new PluginVersionIdentifier("1.0.0"); //$NON-NLS-1$
- try {
- return new PluginVersionIdentifier(version);
- } catch (Exception e) {
- return new PluginVersionIdentifier("1.0.0"); //$NON-NLS-1$
- }
-}
-/**
- * @see #toString
- */
-public static PluginVersionIdentifier getVersionIdentifierFromString(String pluginString) {
- int ix = pluginString.indexOf("_"); //$NON-NLS-1$
- if (ix==-1) return null;
- String vid = pluginString.substring(ix+1);
- try {
- return new PluginVersionIdentifier(vid);
- } catch (Exception e) {
- return null;
- }
-}
-/**
- * Returns all pre-requisites that have been properly resolved, excluding any
- * redundant references to Platform.PI_RUNTIME and BootLoader.PI_BOOT.
- */
-public IPluginPrerequisite[] getPluginResolvedPrerequisites() {
- PluginPrerequisiteModel[] prereqs = this.getRequires();
- if (prereqs == null || prereqs.length == 0)
- return new IPluginPrerequisite[0];
- List resolvedPrerequisites = new ArrayList(prereqs.length);
- for (int i = 0; i < prereqs.length; i++) {
- if (prereqs[i].getResolvedVersion() == null)
- continue;
- String prereqId = prereqs[i].getPlugin();
- // skip over the runtime and boot plugins if they were specified. They are automatically included
- // as the platform and parent respectively.
- if (prereqId.equalsIgnoreCase(Platform.PI_RUNTIME) || prereqId.equalsIgnoreCase(BootLoader.PI_BOOT))
- continue;
- resolvedPrerequisites.add(prereqs[i]);
- }
- if (resolvedPrerequisites.isEmpty())
- return new IPluginPrerequisite[0];
- return (IPluginPrerequisite[]) resolvedPrerequisites.toArray(new IPluginPrerequisite[resolvedPrerequisites.size()]);
-}
-private void internalDoPluginActivation() throws CoreException {
- String errorMsg;
- // load the runtime class
- String pluginClassName = getPluginClass();
- Class runtimeClass = null;
- try {
- if (pluginClassName == null || pluginClassName.equals("")) //$NON-NLS-1$
- runtimeClass = DefaultPlugin.class;
- else
- runtimeClass = getPluginClassLoader(true).loadClass(pluginClassName);
- } catch (ClassNotFoundException e) {
- errorMsg = Policy.bind("plugin.loadClassError", getId(), pluginClassName); //$NON-NLS-1$
- throwException(errorMsg, e);
- }
-
- // find the correct constructor
- Constructor construct = null;
- try {
- construct = runtimeClass.getConstructor(new Class[] { IPluginDescriptor.class });
- } catch (NoSuchMethodException eNoConstructor) {
- errorMsg = Policy.bind("plugin.instantiateClassError", getId(), pluginClassName ); //$NON-NLS-1$
- throwException(errorMsg, eNoConstructor);
- }
-
- long time = 0L;
- if (InternalPlatform.DEBUG_STARTUP) {
- time = System.currentTimeMillis();
- System.out.println("Starting plugin: " + getId()); //$NON-NLS-1$
- }
- // create a new instance
- try {
- pluginObject = (Plugin) construct.newInstance(new Object[] { this });
- } catch (ClassCastException e) {
- errorMsg = Policy.bind("plugin.notPluginClass", pluginClassName); //$NON-NLS-1$
- throwException(errorMsg, e);
- } catch (Exception e) {
- errorMsg = Policy.bind("plugin.instantiateClassError", getId(), pluginClassName); //$NON-NLS-1$
- throwException(errorMsg, e);
- }
-
- // run startup()
- final String message = Policy.bind("plugin.startupProblems", getId()); //$NON-NLS-1$
- final MultiStatus multiStatus = new MultiStatus(Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
- ISafeRunnable code = new ISafeRunnable() {
- public void run() throws Exception {
- pluginObject.startup();
- }
- public void handleException(Throwable e) {
- multiStatus.add(new Status(Status.WARNING, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, e));
- try {
- pluginObject.shutdown();
- } catch (Exception ex) {
- // Ignore exceptions during shutdown. Since startup failed we are probably
- // in a weird state anyway.
- }
- }
- };
- InternalPlatform.run(code);
- if (InternalPlatform.DEBUG_STARTUP) {
- time = System.currentTimeMillis() - time;
- System.out.println("Finished plugin startup for " + getId() + " time: " + time + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- if (!multiStatus.isOK())
- throw new CoreException(multiStatus);
-}
-/**
- * @see IPluginDescriptor
- */
-public synchronized boolean isPluginActivated() {
- //note that this method is synchronized for good reason.
- //During plugin activation, neither true nor false would be valid
- //return values for this method, so it must block until activation
- //completes. For example, returning false during activation
- //would break the registry shutdown procedure, because a
- //plugin being activated during shutdown would never be shut down.
- return active;
-}
-public synchronized boolean isPluginDeactivated() {
- return deactivated;
-}
-private void logError(IStatus status) {
- InternalPlatform.getRuntimePlugin().getLog().log(status);
- if (InternalPlatform.DEBUG)
- System.out.println(status.getMessage());
-}
-/**
- * Returns <code>true</code> if we should continue with the plugin activation.
- */
-private boolean pluginActivationEnter() throws CoreException {
- if (deactivated) {
- // had permanent error on startup
- String errorMsg = Policy.bind("plugin.pluginDisabled", getId()); //$NON-NLS-1$
- throwException(errorMsg, null);
- }
- if (active || activePending) {
- // already up and running
- return false;
- }
- activePending = true;
- // go ahead and try to activate
- return true;
-}
-private void pluginActivationExit(boolean errorExit) {
- // we are done with with activation
- activePending = false;
- if (errorExit) {
- active = false;
- deactivated = true;
- } else
- active = true;
-}
-private String getFragmentLocation(PluginFragmentModel fragment) {
- if (usePlatformURLs)
- return FragmentDescriptor.FRAGMENT_URL + fragment.toString() + "/"; //$NON-NLS-1$
- return fragment.getLocation();
-}
-public void setPluginClassLoader(DelegatingURLClassLoader value) {
- loader = value;
-}
-public void setPluginClassLoader(PluginClassLoader value) {
- loader = value;
-}
-private void throwException(String message, Throwable exception) throws CoreException {
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, exception);
- logError(status);
- throw new CoreException(status);
-}
-/**
- * @see #getUniqueIdentifierFromString
- * @see #getVersionIdentifierFromString
- */
-public String toString() {
- return getUniqueIdentifier()+VERSION_SEPARATOR+getVersionIdentifier().toString();
-}
-public void activateDefaultPlugins(DelegatingURLClassLoader loader) {
- Object[] result = getPluginClassLoaderPath(true);
- loader.addURLs((URL[]) result[0], (URLContentFilter[]) result[1], (URL[]) result[2], (URLContentFilter[]) result[3]);
-}
-/**
- * @see IPluginDescriptor
- */
-public final URL find(IPath path) {
- return find(path, null);
-}
-/**
- * @see IPluginDescriptor
- */
-public final URL find(IPath path, Map override) {
- if (path == null)
- return null;
-
- URL install = getInstallURLInternal();
- URL result = null;
-
- // Check for the empty or root case first
- if (path.isEmpty() || path.isRoot()) {
- // Watch for the root case. It will produce a new
- // URL which is only the root directory (and not the
- // root of this plugin).
- result = findInPlugin(install, Path.EMPTY);
- if (result == null)
- result = findInFragments(Path.EMPTY);
- return result;
- }
-
- // Now check for paths without variable substitution
- String first = path.segment(0);
- if (first.charAt(0) != '$') {
- result = findInPlugin(install, path);
- if (result == null)
- result = findInFragments(path);
- return result;
- }
-
- // Worry about variable substitution
- IPath rest = path.removeFirstSegments(1);
- if (first.equalsIgnoreCase("$nl$")) //$NON-NLS-1$
- return findNL(install, rest, override);
- if (first.equalsIgnoreCase("$os$")) //$NON-NLS-1$
- return findOS(install, rest, override);
- if (first.equalsIgnoreCase("$ws$")) //$NON-NLS-1$
- return findWS(install, rest, override);
- if (first.equalsIgnoreCase("$files$")) //$NON-NLS-1$
- return null;
-
- return null;
-}
-
-private URL findOS(URL install, IPath path, Map override) {
- String os = null;
- if (override != null)
- try {
- // check for override
- os = (String) override.get("$os$"); //$NON-NLS-1$
- } catch (ClassCastException e) {
- // just in case
- }
- if (os == null)
- // use default
- os = BootLoader.getOS();
- if (os.length() == 0)
- return null;
-
- // Now do the same for osarch
- String osArch = null;
- if (override != null)
- try {
- // check for override
- osArch = (String) override.get("$arch$"); //$NON-NLS-1$
- } catch (ClassCastException e) {
- // just in case
- }
- if (osArch == null)
- // use default
- osArch = BootLoader.getOSArch();
- if (osArch.length() == 0)
- return null;
-
- URL result = null;
- IPath base = new Path("os").append(os).append(osArch); //$NON-NLS-1$
- // Keep doing this until all you have left is "os" as a path
- while (base.segmentCount() != 1) {
- IPath filePath = base.append(path);
- result = findInPlugin(install, filePath);
- if (result != null)
- return result;
- result = findInFragments(filePath);
- if (result != null)
- return result;
- base = base.removeLastSegments(1);
- }
- // If we get to this point, we haven't found it yet.
- // Look in the plugin and fragment root directories
- result = findInPlugin(install, path);
- if (result != null)
- return result;
- return findInFragments(path);
-}
-
-private URL findWS(URL install, IPath path, Map override) {
- String ws = null;
- if (override != null)
- try {
- // check for override
- ws = (String) override.get("$ws$"); //$NON-NLS-1$
- } catch (ClassCastException e) {
- // just in case
- }
- if (ws == null)
- // use default
- ws = BootLoader.getWS();
- IPath filePath = new Path("ws").append(ws).append(path); //$NON-NLS-1$
- // We know that there is only one segment to the ws path
- // e.g. ws/win32
- URL result = findInPlugin(install, filePath);
- if (result != null)
- return result;
- result = findInFragments(filePath);
- if (result != null)
- return result;
- // If we get to this point, we haven't found it yet.
- // Look in the plugin and fragment root directories
- result = findInPlugin(install, path);
- if (result != null)
- return result;
- return findInFragments(path);
-}
-
-private URL findNL(URL install, IPath path, Map override) {
- String nl = null;
- String[] nlVariants = null;
- if (override != null)
- try {
- // check for override
- nl = (String) override.get("$nl$"); //$NON-NLS-1$
- } catch (ClassCastException e) {
- // just in case
- }
- nlVariants = nl == null ? NL_JAR_VARIANTS : buildNLVariants(nl);
- if (nl != null && nl.length() == 0)
- return null;
-
- URL result = null;
- for (int i=0; i<nlVariants.length; i++) {
- IPath filePath = new Path(nlVariants[i]).append(path);
- result = findInPlugin(install, filePath);
- if (result != null)
- return result;
- result = findInFragments(filePath);
- if (result != null)
- return result;
- }
- // If we get to this point, we haven't found it yet.
- // Look in the plugin and fragment root directories
- result = findInPlugin(install, path);
- if (result != null)
- return result;
- return findInFragments(path);
-}
-
-private URL findInPlugin(URL install, IPath filePath) {
- try {
- URL location = new URL(install, filePath.toString());
- String file = getFileFromURL(location);
- if (file != null && new File(file).exists()) {
- Path pluginRootPath = new Path(install.getFile());
- Path foundPath = new Path(file);
- if (pluginRootPath.isPrefixOf(foundPath))
- return location;
- }
- } catch (IOException e) {
- // ignore bad URLs
- }
- return null;
-}
-
-private URL findInFragments(IPath filePath) {
- // This method will return a 'real' URL (as opposed to a platform
- // URL).
- PluginFragmentModel[] fragments = getFragments();
- if (fragments == null)
- return null;
-
- for (int i = 0; i < fragments.length; i++) {
- try {
- URL fragmentRootURL = new URL(fragments[i].getLocation());
- URL location = new URL(fragmentRootURL, filePath.toString());
- String file = getFileFromURL(location);
- if (file != null && new File(file).exists()) {
- Path fragmentRootPath = new Path(fragmentRootURL.getFile());
- Path foundPath = new Path(file);
- if (fragmentRootPath.isPrefixOf(foundPath))
- return location;
- }
- } catch (IOException e) {
- // skip malformed url and urls that cannot be resolved
- }
- }
- return null;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java
deleted file mode 100644
index b31bf02..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginParser.java
+++ /dev/null
@@ -1,781 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.util.*;
-import org.apache.xerces.parsers.SAXParser;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.xml.sax.*;
-import org.xml.sax.helpers.DefaultHandler;
-
-public class PluginParser extends DefaultHandler implements IModel {
-
- // concrete object factory
- Factory factory;
-
- // File name for this plugin or fragment
- // This to help with error reporting
- String locationName = null;
-
- // Current State Information
- Stack stateStack = new Stack();
-
- // Current object stack (used to hold the current object we are
- // populating in this plugin descriptor
- Stack objectStack = new Stack();
-
- // model parser
- private static SAXParser parser;
-
- Locator locator = null;
-
- static {
- initializeParser();
- }
-
- // Valid States
- private static final int IGNORED_ELEMENT_STATE = 0;
- private static final int INITIAL_STATE = 1;
- private static final int PLUGIN_STATE = 2;
- private static final int PLUGIN_RUNTIME_STATE = 3;
- private static final int PLUGIN_REQUIRES_STATE = 4;
- private static final int PLUGIN_EXTENSION_POINT_STATE = 5;
- private static final int PLUGIN_EXTENSION_STATE = 6;
- private static final int RUNTIME_LIBRARY_STATE = 7;
- private static final int LIBRARY_EXPORT_STATE = 8;
- private static final int LIBRARY_PACKAGES_STATE = 12;
- private static final int PLUGIN_REQUIRES_IMPORT_STATE = 9;
- private static final int CONFIGURATION_ELEMENT_STATE = 10;
- private static final int FRAGMENT_STATE = 11;
-
- // Keep a group of vectors as a temporary scratch space. These
- // vectors will be used to populate arrays in the plugin descriptor
- // once processing of the XML file is complete.
- private static final int EXTENSION_POINT_INDEX = 0;
- private static final int EXTENSION_INDEX = 1;
- private static final int LAST_INDEX = 1;
- private Vector scratchVectors[] = new Vector[LAST_INDEX + 1];
-
-public PluginParser(Factory factory) {
- super();
- this.factory = factory;
- parser.setContentHandler(this);
- parser.setDTDHandler(this);
- parser.setEntityResolver(this);
- parser.setErrorHandler(this);
-}
-
-private static void initializeParser() {
- parser = new SAXParser();
- try {
- ((SAXParser)parser).setFeature("http://xml.org/sax/features/string-interning", true); //$NON-NLS-1$
- } catch (SAXException e) {
- // In case support for this feature is removed
- }
-}
-
-/**
- * Receive a Locator object for document events.
- *
- * <p>By default, do nothing. Application writers may override this
- * method in a subclass if they wish to store the locator for use
- * with other document events.</p>
- *
- * @param locator A locator for all SAX document events.
- * @see org.xml.sax.ContentHandler#setDocumentLocator
- * @see org.xml.sax.Locator
- */
-public void setDocumentLocator (Locator locator) {
- this.locator = locator;
-}
-
-public void characters(char[] ch, int start, int length) {
- int state = ((Integer) stateStack.peek()).intValue();
- if (state != CONFIGURATION_ELEMENT_STATE)
- return;
- if (state == CONFIGURATION_ELEMENT_STATE) {
- // Accept character data within an element, is when it is
- // part of a configuration element (i.e. an element within an EXTENSION element
- ConfigurationElementModel currentConfigElement = (ConfigurationElementModel) objectStack.peek();
- String value = new String(ch, start, length);
- String oldValue = currentConfigElement.getValueAsIs();
- if (oldValue == null) {
- if (value.trim().length() != 0)
- currentConfigElement.setValue(value);
- } else {
- currentConfigElement.setValue(oldValue + value);
- }
- }
-}
-public void endDocument() {
-}
-public void endElement(String uri, String elementName, String qName) {
- switch (((Integer) stateStack.peek()).intValue()) {
- case IGNORED_ELEMENT_STATE :
- stateStack.pop();
- break;
- case INITIAL_STATE :
- // shouldn't get here
- internalError (Policy.bind("parse.internalStack", elementName)); //$NON-NLS-1$
- break;
- case PLUGIN_STATE :
- case FRAGMENT_STATE :
- if (elementName.equals(PLUGIN) || elementName.equals(FRAGMENT)) {
- stateStack.pop();
- PluginModel root = (PluginModel) objectStack.peek();
-
- // Put the extension points into this plugin
- Vector extPointVector = scratchVectors[EXTENSION_POINT_INDEX];
- if (extPointVector.size() > 0) {
- root.setDeclaredExtensionPoints((ExtensionPointModel[]) extPointVector.toArray(new ExtensionPointModel[extPointVector.size()]));
- scratchVectors[EXTENSION_POINT_INDEX].removeAllElements();
- }
-
- // Put the extensions into this plugin too
- Vector extVector = scratchVectors[EXTENSION_INDEX];
- if (extVector.size() > 0) {
- root.setDeclaredExtensions((ExtensionModel[]) extVector.toArray(new ExtensionModel[extVector.size()]));
- scratchVectors[EXTENSION_INDEX].removeAllElements();
- }
- }
- break;
- case PLUGIN_RUNTIME_STATE :
- if (elementName.equals(RUNTIME)) {
- stateStack.pop();
- // take the vector of library entries and put them into the plugin
- // descriptor
- Vector libVector = (Vector)objectStack.pop();
- if (libVector.size() > 0) {
- PluginModel model = (PluginModel) objectStack.peek();
- model.setRuntime((LibraryModel[]) libVector.toArray(new LibraryModel[libVector.size()]));
- }
- }
- break;
- case PLUGIN_REQUIRES_STATE :
- if (elementName.equals(PLUGIN_REQUIRES)) {
- stateStack.pop();
- // take the vector of prerequisites and put them into the plugin
- // descriptor
- Vector importVector = (Vector)objectStack.pop();
- if (importVector.size() > 0) {
- PluginModel parentDescriptor = (PluginModel) objectStack.peek();
- parentDescriptor.setRequires((PluginPrerequisiteModel[]) importVector.toArray(new PluginPrerequisiteModel[importVector.size()]));
- }
- }
- break;
- case PLUGIN_EXTENSION_POINT_STATE :
- if (elementName.equals(EXTENSION_POINT)) {
- stateStack.pop();
- }
- break;
- case PLUGIN_EXTENSION_STATE :
- if (elementName.equals(EXTENSION)) {
- stateStack.pop();
- // Finish up extension object
- ExtensionModel currentExtension = (ExtensionModel) objectStack.pop();
- PluginModel parent = (PluginModel) objectStack.peek();
- currentExtension.setParent(parent);
- scratchVectors[EXTENSION_INDEX].addElement(currentExtension);
- }
- break;
- case RUNTIME_LIBRARY_STATE :
- if (elementName.equals(LIBRARY)) {
- LibraryModel curLibrary = (LibraryModel) objectStack.pop();
- // Clean up the exports for this library entry
- Vector exportsVector = (Vector) objectStack.pop();
- if (exportsVector.size() > 0) {
- curLibrary.setExports((String[]) exportsVector.toArray(new String[exportsVector.size()]));
- }
-
- // Add this library element to the vector "runtime" on the stack
- Vector libraryVector = (Vector) objectStack.peek();
- libraryVector.addElement(curLibrary);
- stateStack.pop();
- }
- break;
- case LIBRARY_EXPORT_STATE :
- if (elementName.equals(LIBRARY_EXPORT)) {
- stateStack.pop();
- }
- break;
- case PLUGIN_REQUIRES_IMPORT_STATE :
- if (elementName.equals(PLUGIN_REQUIRES_IMPORT)) {
- stateStack.pop();
- }
- break;
- case CONFIGURATION_ELEMENT_STATE :
- // We don't care what the element name was
- stateStack.pop();
- // Now finish up the configuration element object
- ConfigurationElementModel currentConfigElement = (ConfigurationElementModel) objectStack.pop();
-
- String value= currentConfigElement.getValueAsIs();
- if (value != null) {
- currentConfigElement.setValue(value.trim());
- }
-
- Object parent = objectStack.peek();
- currentConfigElement.setParent(parent);
- if (((Integer) stateStack.peek()).intValue() == PLUGIN_EXTENSION_STATE) {
- // Want to add this configuration element to the subelements of an extension
- ConfigurationElementModel[] oldValues = (ConfigurationElementModel[]) ((ExtensionModel) parent).getSubElements();
- int size = (oldValues == null) ? 0 : oldValues.length;
- ConfigurationElementModel[] newValues = new ConfigurationElementModel[size + 1];
- for (int i = 0; i < size; i++) {
- newValues[i] = oldValues[i];
- }
- newValues[size] = currentConfigElement;
- ((ExtensionModel) parent).setSubElements(newValues);
- } else {
- ConfigurationElementModel[] oldValues = (ConfigurationElementModel[]) ((ConfigurationElementModel) parent).getSubElements();
- int size = (oldValues == null) ? 0 : oldValues.length;
- ConfigurationElementModel[] newValues = new ConfigurationElementModel[size + 1];
- for (int i = 0; i < size; i++) {
- newValues[i] = oldValues[i];
- }
- newValues[size] = currentConfigElement;
- ((ConfigurationElementModel) parent).setSubElements(newValues);
- }
- break;
- }
-}
-public void error(SAXParseException ex) {
- logStatus(ex);
-}
-public void fatalError(SAXParseException ex) throws SAXException {
- logStatus(ex);
- throw ex;
-}
-
-public void handleExtensionPointState(String elementName, Attributes attributes) {
-
- // We ignore all elements under extension points (if there are any)
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", EXTENSION_POINT, elementName)); //$NON-NLS-1$
-}
-public void handleExtensionState(String elementName, Attributes attributes) {
-
- // You need to change the state here even though we will be executing the same
- // code for ExtensionState and ConfigurationElementState. We ignore the name
- // of the element for ConfigurationElements. When we are wrapping up, we will
- // want to add each configuration element object to the subElements vector of
- // its parent configuration element object. However, the first configuration
- // element object we created (the last one we pop off the stack) will need to
- // be added to a vector in the extension object called _configuration.
- stateStack.push(new Integer(CONFIGURATION_ELEMENT_STATE));
-
- // create a new Configuration Element and push it onto the object stack
- ConfigurationElementModel currentConfigurationElement = factory.createConfigurationElement();
- objectStack.push(currentConfigurationElement);
- currentConfigurationElement.setName(elementName);
-
- // Processing the attributes of a configuration element involves creating
- // a new configuration property for each attribute and populating the configuration
- // property with the name/value pair of the attribute. Note there will be one
- // configuration property for each attribute
- parseConfigurationElementAttributes(attributes);
-}
-public void handleInitialState(String elementName, Attributes attributes) {
- if (elementName.equals(PLUGIN)) {
- stateStack.push(new Integer(PLUGIN_STATE));
- parsePluginAttributes(attributes);
- } else
- if (elementName.equals(FRAGMENT)) {
- stateStack.push(new Integer(FRAGMENT_STATE));
- parseFragmentAttributes(attributes);
- } else {
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownTopElement", elementName)); //$NON-NLS-1$
- }
-}
-public void handleLibraryExportState(String elementName, Attributes attributes) {
-
- // All elements ignored.
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", LIBRARY_EXPORT, elementName)); //$NON-NLS-1$
-}
-public void handleLibraryState(String elementName, Attributes attributes) {
- if (elementName.equals(LIBRARY_EXPORT)) {
- // Change State
- stateStack.push(new Integer(LIBRARY_EXPORT_STATE));
- // The top element on the stack much be a library element
- LibraryModel currentLib = (LibraryModel) objectStack.peek();
-
- if (attributes == null)
- return;
-
- String maskValue = null;
-
- // Process Attributes
- int len = attributes.getLength();
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(LIBRARY_EXPORT_MASK))
- maskValue = attrValue;
- else
- internalError(Policy.bind("parse.unknownAttribute", LIBRARY, attrName)); //$NON-NLS-1$
- }
-
- // set up mask tables
- // pop off the library - already in currentLib
- objectStack.pop();
- Vector exportMask = (Vector)objectStack.peek();
- // push library back on
- objectStack.push(currentLib);
- if ((maskValue != null) && (!exportMask.contains(maskValue)))
- exportMask.addElement(maskValue);
- return;
- }
-
- if (elementName.equals(LIBRARY_PACKAGES)) {
- LibraryModel currentLib = (LibraryModel) objectStack.peek();
- if (attributes == null)
- return;
- for (int i=0; i<attributes.getLength(); i++) {
- if (LIBRARY_PACKAGES_PREFIXES.equals(attributes.getLocalName(i))) {
- String line = attributes.getValue(i);
- String[] prefixes = getArrayFromList(line);
- currentLib.setPackagePrefixes(prefixes);
- }
- }
- return;
- }
-
- // Any other element is invalid
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", LIBRARY, elementName)); //$NON-NLS-1$
- return;
-}
-/**
- * convert a list of comma-separated tokens into an array
- */
-protected static String[] getArrayFromList(String line) {
- if (line == null || line.trim().length() == 0)
- return null;
- Vector list = new Vector();
- StringTokenizer tokens = new StringTokenizer(line, ","); //$NON-NLS-1$
- while (tokens.hasMoreTokens()) {
- String token = tokens.nextToken().trim();
- if (token.length() != 0)
- list.addElement(token);
- }
- return list.isEmpty() ? null : (String[]) list.toArray(new String[0]);
-}
-
-public void handlePluginState(String elementName, Attributes attributes) {
-
- if (elementName.equals(RUNTIME)) {
- // We should only have one Runtime element in a plugin or fragment
- Object whatIsIt = objectStack.peek();
- if ( ( (whatIsIt instanceof PluginDescriptorModel) && (((PluginDescriptorModel)objectStack.peek()).getRuntime() != null) ) ||
- ( (whatIsIt instanceof PluginFragmentModel) && (((PluginFragmentModel)objectStack.peek()).getRuntime() != null) ) ) {
- // This is at least the 2nd Runtime element we have
- // hit. Ignore it and give an error.
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- return;
- }
- stateStack.push(new Integer(PLUGIN_RUNTIME_STATE));
- // Push a new vector to hold all the library entries
- objectStack.push(new Vector());
- return;
- }
- if (elementName.equals(PLUGIN_REQUIRES)) {
- stateStack.push(new Integer(PLUGIN_REQUIRES_STATE));
- // Push a new vector to hold all the prerequisites
- objectStack.push(new Vector());
- parseRequiresAttributes(attributes);
- return;
- }
- if (elementName.equals(EXTENSION_POINT)) {
- stateStack.push(new Integer(PLUGIN_EXTENSION_POINT_STATE));
- parseExtensionPointAttributes(attributes);
- return;
- }
- if (elementName.equals(EXTENSION)) {
- stateStack.push(new Integer(PLUGIN_EXTENSION_STATE));
- parseExtensionAttributes(attributes);
- return;
- }
-
- // If we get to this point, the element name is one we don't currently accept.
- // Set the state to indicate that this element will be ignored
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", PLUGIN + " / " + FRAGMENT, elementName)); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void handleRequiresImportState(String elementName, Attributes attributes) {
-
- // All elements ignored.
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", PLUGIN_REQUIRES_IMPORT, elementName)); //$NON-NLS-1$
-}
-public void handleRequiresState(String elementName, Attributes attributes) {
-
- if (elementName.equals(PLUGIN_REQUIRES_IMPORT)) {
- parsePluginRequiresImport(attributes);
- return;
- }
- // If we get to this point, the element name is one we don't currently accept.
- // Set the state to indicate that this element will be ignored
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", PLUGIN_REQUIRES, elementName)); //$NON-NLS-1$
-}
-public void handleRuntimeState(String elementName, Attributes attributes) {
-
- if (elementName.equals(LIBRARY)) {
- // Change State
- stateStack.push(new Integer(RUNTIME_LIBRARY_STATE));
- // Process library attributes
- parseLibraryAttributes(attributes);
- return;
- }
- // If we get to this point, the element name is one we don't currently accept.
- // Set the state to indicate that this element will be ignored
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError(Policy.bind("parse.unknownElement", RUNTIME, elementName)); //$NON-NLS-1$
-}
-
-public void ignoreableWhitespace(char[] ch, int start, int length) {
-}
-private void logStatus(SAXParseException ex) {
- String name = ex.getSystemId();
- if (name == null)
- name = locationName;
- if (name == null)
- name = ""; //$NON-NLS-1$
- else
- name = name.substring(1 + name.lastIndexOf("/")); //$NON-NLS-1$
-
- String msg;
- if (name.equals("")) //$NON-NLS-1$
- msg = Policy.bind("parse.error", ex.getMessage()); //$NON-NLS-1$
- else
- msg = Policy.bind("parse.errorNameLineColumn", //$NON-NLS-1$
- new String[] { name, Integer.toString(ex.getLineNumber()), Integer.toString(ex.getColumnNumber()), ex.getMessage()});
- factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, msg, ex));
-}
-
-synchronized public PluginModel parsePlugin(InputSource in) throws Exception {
- locationName = in.getSystemId();
- parser.parse(in);
- return (PluginModel) objectStack.pop();
-}
-
-public void parseConfigurationElementAttributes(Attributes attributes) {
-
- ConfigurationElementModel parentConfigurationElement = (ConfigurationElementModel) objectStack.peek();
- parentConfigurationElement.setStartLine(locator.getLineNumber());
-
- Vector propVector = null;
-
- // process attributes
- int len = (attributes != null) ? attributes.getLength() : 0;
- if (len == 0)
- return;
- propVector = new Vector();
-
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i);
-
- ConfigurationPropertyModel currentConfigurationProperty = factory.createConfigurationProperty();
- currentConfigurationProperty.setName(attrName);
- currentConfigurationProperty.setValue(attrValue);
- propVector.addElement(currentConfigurationProperty);
- }
- parentConfigurationElement.setProperties((ConfigurationPropertyModel[]) propVector.toArray(new ConfigurationPropertyModel[propVector.size()]));
- propVector = null;
-}
-public void parseExtensionAttributes(Attributes attributes) {
-
- PluginModel parent = (PluginModel) objectStack.peek();
- ExtensionModel currentExtension = factory.createExtension();
- currentExtension.setStartLine(locator.getLineNumber());
- objectStack.push(currentExtension);
-
- // Process Attributes
- int len = (attributes != null) ? attributes.getLength() : 0;
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(EXTENSION_NAME))
- currentExtension.setName(attrValue);
- else
- if (attrName.equals(EXTENSION_ID))
- currentExtension.setId(attrValue);
- else
- if (attrName.equals(EXTENSION_TARGET)) {
- // check if point is specified as a simple or qualified name
- String targetName;
- if (attrValue.lastIndexOf('.') == -1) {
- String baseId = parent instanceof PluginDescriptorModel ? parent.getId() : ((PluginFragmentModel) parent).getPlugin();
- targetName = baseId + "." + attrValue; //$NON-NLS-1$
- } else
- targetName = attrValue;
- currentExtension.setExtensionPoint(targetName);
- }
- else
- internalError(Policy.bind("parse.unknownAttribute", EXTENSION, attrName)); //$NON-NLS-1$
- }
-}
-public void parseExtensionPointAttributes(Attributes attributes) {
-
- ExtensionPointModel currentExtPoint = factory.createExtensionPoint();
- currentExtPoint.setStartLine(locator.getLineNumber());
-
- // Process Attributes
- int len = (attributes != null) ? attributes.getLength() : 0;
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(EXTENSION_POINT_NAME))
- currentExtPoint.setName(attrValue);
- else
- if (attrName.equals(EXTENSION_POINT_ID))
- currentExtPoint.setId(attrValue);
- else
- if (attrName.equals(EXTENSION_POINT_SCHEMA))
- currentExtPoint.setSchema(attrValue);
- else
- internalError(Policy.bind("parse.unknownAttribute", EXTENSION_POINT, attrName)); //$NON-NLS-1$
- }
- // currentExtPoint contains a pointer to the parent plugin descriptor.
- PluginModel root = (PluginModel) objectStack.peek();
- currentExtPoint.setParent(root);
-
- // Now populate the the vector just below us on the objectStack with this extension point
- scratchVectors[EXTENSION_POINT_INDEX].addElement(currentExtPoint);
-}
-
-public void parseFragmentAttributes(Attributes attributes) {
- PluginFragmentModel current = factory.createPluginFragment();
- current.setStartLine(locator.getLineNumber());
- objectStack.push(current);
-
- // process attributes
- int len = attributes.getLength();
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(FRAGMENT_ID))
- current.setId(attrValue);
- else if (attrName.equals(FRAGMENT_NAME))
- current.setName(attrValue);
- else if (attrName.equals(FRAGMENT_VERSION))
- current.setVersion(attrValue);
- else if (attrName.equals(FRAGMENT_PROVIDER))
- current.setProviderName(attrValue);
- else if (attrName.equals(FRAGMENT_PLUGIN_ID))
- current.setPlugin(attrValue);
- else if (attrName.equals(FRAGMENT_PLUGIN_VERSION))
- current.setPluginVersion(attrValue);
- else if (attrName.equals(FRAGMENT_PLUGIN_MATCH)) {
- if (FRAGMENT_PLUGIN_MATCH_PERFECT.equals(attrValue))
- current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_PERFECT);
- else if (FRAGMENT_PLUGIN_MATCH_EQUIVALENT.equals(attrValue))
- current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT);
- else if (FRAGMENT_PLUGIN_MATCH_COMPATIBLE.equals(attrValue))
- current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE);
- else if (FRAGMENT_PLUGIN_MATCH_GREATER_OR_EQUAL.equals(attrValue))
- current.setMatch(PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL);
- else
- internalError(Policy.bind("parse.validMatch", attrValue)); //$NON-NLS-1$
- }
- else
- internalError(Policy.bind("parse.unknownAttribute", FRAGMENT, attrName)); //$NON-NLS-1$
- }
-}
-
-public void parseLibraryAttributes(Attributes attributes) {
- // Push a vector to hold the export mask
- objectStack.push (new Vector());
- LibraryModel current = factory.createLibrary();
- current.setStartLine(locator.getLineNumber());
- objectStack.push(current);
-
- // Now the objectStack should contain the following:
- // plugin descriptor or fragment (bottom of the stack)
- // vector to hold all the library entries
- // vector to hold the export mask for this library entry
- // this library entry (top of the stack)
-
- // process attributes
- int len = (attributes != null) ? attributes.getLength() : 0;
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(LIBRARY_NAME))
- current.setName(attrValue);
- else
- if (attrName.equals(LIBRARY_TYPE)) {
- attrValue = attrValue.toLowerCase();
- if (attrValue.equals(LibraryModel.CODE) ||
- attrValue.equals(LibraryModel.RESOURCE))
- current.setType(attrValue.toLowerCase());
- else
- internalError(Policy.bind("parse.unknownLibraryType", attrValue, current.getName())); //$NON-NLS-1$
- } else
- internalError(Policy.bind("parse.unknownAttribute", LIBRARY, attrName)); //$NON-NLS-1$
- }
-}
-public void parsePluginAttributes(Attributes attributes) {
-
- PluginDescriptorModel current = factory.createPluginDescriptor();
- current.setStartLine(locator.getLineNumber());
- objectStack.push(current);
-
- // process attributes
- int len = attributes.getLength();
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(PLUGIN_ID))
- current.setId(attrValue);
- else
- if (attrName.equals(PLUGIN_NAME))
- current.setName(attrValue);
- else
- if (attrName.equals(PLUGIN_VERSION))
- current.setVersion(attrValue);
- else
- if (attrName.equals(PLUGIN_VENDOR) || (attrName.equals(PLUGIN_PROVIDER)))
- current.setProviderName(attrValue);
- else
- if (attrName.equals(PLUGIN_CLASS))
- current.setPluginClass(attrValue);
- else
- internalError(Policy.bind("parse.unknownAttribute", PLUGIN, attrName)); //$NON-NLS-1$
- }
-}
-public void parsePluginRequiresImport(Attributes attributes) {
- PluginPrerequisiteModel current = factory.createPluginPrerequisite();
- current.setStartLine(locator.getLineNumber());
-
- // process attributes
- int len = (attributes != null) ? attributes.getLength() : 0;
- for (int i = 0; i < len; i++) {
- String attrName = attributes.getLocalName(i);
- String attrValue = attributes.getValue(i).trim();
-
- if (attrName.equals(PLUGIN_REQUIRES_PLUGIN))
- current.setPlugin(attrValue);
- else
- if (attrName.equals(PLUGIN_REQUIRES_PLUGIN_VERSION))
- current.setVersion(attrValue);
- else
- if (attrName.equals(PLUGIN_REQUIRES_OPTIONAL))
- current.setOptional(TRUE.equalsIgnoreCase(attrValue));
- else
- if (attrName.equals(PLUGIN_REQUIRES_MATCH)) {
- if (PLUGIN_REQUIRES_MATCH_PERFECT.equals(attrValue))
- current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
- else if ((PLUGIN_REQUIRES_MATCH_EQUIVALENT.equals(attrValue)) ||
- (PLUGIN_REQUIRES_MATCH_EXACT.equals(attrValue)))
- current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- else if (PLUGIN_REQUIRES_MATCH_COMPATIBLE.equals(attrValue))
- current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
- else if (PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL.equals(attrValue))
- current.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
- else
- internalError(Policy.bind("parse.validMatch", attrValue)); //$NON-NLS-1$
- } else
- if (attrName.equals(PLUGIN_REQUIRES_EXPORT)) {
- if (TRUE.equals(attrValue))
- current.setExport(true);
- else
- if (FALSE.equals(attrValue))
- current.setExport(false);
- else
- internalError(Policy.bind("parse.validExport", attrValue)); //$NON-NLS-1$
- } else
- internalError(Policy.bind("parse.unknownAttribute", PLUGIN_REQUIRES_IMPORT, attrName)); //$NON-NLS-1$
-
- }
- // Populate the vector of prerequisites with this new element
- ((Vector)objectStack.peek()).addElement(current);
-}
-public void parseRequiresAttributes(Attributes attributes) {
-}
-
-static String replace(String s, String from, String to) {
- String str = s;
- int fromLen = from.length();
- int toLen = to.length();
- int ix = str.indexOf(from);
- while (ix != -1) {
- str = str.substring(0, ix) + to + str.substring(ix + fromLen);
- ix = str.indexOf(from, ix + toLen);
- }
- return str;
-}
-public void startDocument() {
- stateStack.push(new Integer(INITIAL_STATE));
- for (int i = 0; i <= LAST_INDEX; i++) {
- scratchVectors[i] = new Vector();
- }
-}
-public void startElement(String uri, String elementName, String qName, Attributes attributes) {
- switch (((Integer) stateStack.peek()).intValue()) {
- case INITIAL_STATE :
- handleInitialState(elementName, attributes);
- break;
- case FRAGMENT_STATE :
- handlePluginState(elementName, attributes);
- break;
- case PLUGIN_STATE :
- handlePluginState(elementName, attributes);
- break;
- case PLUGIN_RUNTIME_STATE :
- handleRuntimeState(elementName, attributes);
- break;
- case PLUGIN_REQUIRES_STATE :
- handleRequiresState(elementName, attributes);
- break;
- case PLUGIN_EXTENSION_POINT_STATE :
- handleExtensionPointState(elementName, attributes);
- break;
- case PLUGIN_EXTENSION_STATE :
- case CONFIGURATION_ELEMENT_STATE :
- handleExtensionState(elementName, attributes);
- break;
- case RUNTIME_LIBRARY_STATE :
- handleLibraryState(elementName, attributes);
- break;
- case LIBRARY_EXPORT_STATE :
- handleLibraryExportState(elementName, attributes);
- break;
- case PLUGIN_REQUIRES_IMPORT_STATE :
- handleRequiresImportState(elementName, attributes);
- break;
- default :
- stateStack.push(new Integer(IGNORED_ELEMENT_STATE));
- internalError (Policy.bind("parse.unknownTopElement", elementName)); //$NON-NLS-1$
- }
-}
-public void warning(SAXParseException ex) {
- logStatus(ex);
-}
-private void internalError(String message) {
- if (locationName != null)
- factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, locationName + ": " + message, null)); //$NON-NLS-1$
- else
- factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, message, null));
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java
deleted file mode 100644
index 46bbcf8..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginPrerequisite.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class PluginPrerequisite extends PluginPrerequisiteModel implements IPluginPrerequisite {
-/**
- * @see IPluginPrerequisite
- */
-public PluginVersionIdentifier getResolvedVersionIdentifier() {
- String version = getResolvedVersion();
- return version == null ? null : new PluginVersionIdentifier(version);
-}
-/**
- * @see IPluginPrerequisite
- */
-public String getUniqueIdentifier() {
- return getPlugin();
-}
-/**
- * @see IPluginPrerequisite
- */
-public PluginVersionIdentifier getVersionIdentifier() {
- String version = getVersion();
- return version == null ? null : new PluginVersionIdentifier(version);
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isExported() {
- return getExport();
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsGreaterOrEqual() {
- return getMatchByte() == PREREQ_MATCH_GREATER_OR_EQUAL;
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsCompatible() {
- return (getMatchByte() == PREREQ_MATCH_COMPATIBLE) ||
- ((getVersionIdentifier() != null) && (getMatchByte() == PREREQ_MATCH_UNSPECIFIED));
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsEquivalent() {
- return getMatchByte() == PREREQ_MATCH_EQUIVALENT;
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsPerfect() {
- return getMatchByte() == PREREQ_MATCH_PERFECT;
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isMatchedAsExact() {
- return isMatchedAsEquivalent();
-}
-/**
- * @see IPluginPrerequisite
- */
-public boolean isOptional() {
- return getOptional();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java
deleted file mode 100644
index d083486..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/PluginRegistry.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class PluginRegistry extends PluginRegistryModel implements IPluginRegistry {
-
- private static final String URL_PROTOCOL_FILE = "file"; //$NON-NLS-1$
- private static final String F_DEBUG_REGISTRY = ".debugregistry"; //$NON-NLS-1$
-
- // lifecycle events
- private static final int STARTUP = 0;
- private static final int SHUTDOWN = 1;
-
- // the registry keeps a reference to the cache reader for lazily loading extensions
- private RegistryCacheReader registryCacheReader;
- final private File registryCacheFile;
-
-public PluginRegistry() {
- this.registryCacheFile = InternalPlatform.getMetaArea().getRegistryPath().toFile();
-}
-/**
- * Iterate over the plug-ins in this registry. Plug-ins are visited in dependent order. That is,
- * a plug-in, A, which requires another plug-in, B, is visited before its dependents (i.e., A is
- * visited before B).
- */
-public void accept(IPluginVisitor visitor, boolean activeOnly) {
- Map dependents = getDependentCounts(activeOnly);
- // keep iterating until all have been visited.
- while (!dependents.isEmpty()) {
- // loop over the dependents list. For each entry, if there are no dependents, visit
- // the plugin and remove it from the list. Make a copy of the keys so we don't end up
- // with concurrent accesses (since we are deleting the values as we go)
- PluginDescriptor[] keys = (PluginDescriptor[]) dependents.keySet().toArray(new PluginDescriptor[dependents.size()]);
- for (int i = 0; i < keys.length; i++) {
- PluginDescriptor descriptor = keys[i];
- Integer entry = (Integer) dependents.get(descriptor);
- if (entry != null && entry.intValue() <= 0) {
- visitor.visit(descriptor);
- dependents.remove(descriptor);
- // decrement the dependent count for all of the prerequisites.
- PluginPrerequisiteModel[] requires = descriptor.getRequires();
- int reqSize = (requires == null) ? 0 : requires.length;
- for (int j = 0; j < reqSize; j++) {
- String id = ((PluginPrerequisite) requires[j]).getUniqueIdentifier();
- PluginDescriptor prereq = (PluginDescriptor) getPlugin(id);
- Integer count = (Integer) dependents.get(prereq);
- if (count != null)
- dependents.put(prereq, new Integer(count.intValue() - 1));
- }
- }
- }
- }
-}
-public IConfigurationElement[] getConfigurationElementsFor(String uniqueId) {
- IExtensionPoint point = getExtensionPoint(uniqueId);
- if (point == null)
- return new IConfigurationElement[0];
- IConfigurationElement[] result = point.getConfigurationElements();
- return result == null ? new IConfigurationElement[0] : result;
-}
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String pointId) {
- IExtensionPoint point = getExtensionPoint(pluginId, pointId);
- if (point == null)
- return new IConfigurationElement[0];
- IConfigurationElement[] result = point.getConfigurationElements();
- return result == null ? new IConfigurationElement[0] : result;
-}
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String pointId, String extensionId) {
- IExtension extension = getExtension(pluginId, pointId, extensionId);
- if (extension == null)
- return new IConfigurationElement[0];
- IConfigurationElement[] result = extension.getConfigurationElements();
- return result == null ? new IConfigurationElement[0] : result;
-}
-/**
- * Returns a map of the dependent counts for all plug-ins. The map's
- * keys are the plug-in descriptors and the values are an (<code>Integer</code>) count of
- * descriptors which depend on that plug-in.
- */
-private Map getDependentCounts(boolean activeOnly) {
- IPluginDescriptor[] descriptors = getPluginDescriptors();
- int descSize = (descriptors == null) ? 0 : descriptors.length;
- Map dependents = new HashMap(5);
- // build a table of all dependent counts. The table is keyed by descriptor and
- // the value the integer number of dependent plugins.
- for (int i = 0; i < descSize; i++) {
- if (activeOnly && !descriptors[i].isPluginActivated())
- continue;
- // ensure there is an entry for this descriptor (otherwise it will not be visited)
- Integer entry = (Integer) dependents.get(descriptors[i]);
- if (entry == null)
- dependents.put(descriptors[i], new Integer(0));
- PluginPrerequisiteModel[] requires = ((PluginDescriptor) descriptors[i]).getRequires();
- int reqSize = (requires == null ? 0 : requires.length);
- for (int j = 0; j < reqSize; j++) {
- String id = ((PluginPrerequisite) requires[j]).getUniqueIdentifier();
- PluginDescriptor prereq = (PluginDescriptor) getPlugin(id);
- if (prereq == null || activeOnly && !prereq.isPluginActivated())
- continue;
- entry = (Integer) dependents.get(prereq);
- entry = entry == null ? new Integer(1) : new Integer(entry.intValue() + 1);
- dependents.put(prereq, entry);
- }
- }
- return dependents;
-}
-public IExtension getExtension(String xptUniqueId, String extUniqueId) {
-
- int lastdot = xptUniqueId.lastIndexOf('.');
- if (lastdot == -1) return null;
- return getExtension(xptUniqueId.substring(0,lastdot), xptUniqueId.substring(lastdot+1), extUniqueId);
-
-}
-public IExtension getExtension(String pluginId, String xptSimpleId, String extId) {
-
- IExtensionPoint xpt = getExtensionPoint(pluginId, xptSimpleId);
- if (xpt == null) return null;
- return xpt.getExtension(extId);
-}
-public IExtensionPoint getExtensionPoint(String xptUniqueId) {
-
- int lastdot = xptUniqueId.lastIndexOf('.');
- if (lastdot == -1) return null;
- return getExtensionPoint(xptUniqueId.substring(0,lastdot), xptUniqueId.substring(lastdot+1));
-}
-public IExtensionPoint getExtensionPoint(String plugin, String xpt) {
-
- IPluginDescriptor pd = getPluginDescriptor(plugin);
- if (pd == null) return null;
- return pd.getExtensionPoint(xpt);
-}
-public IExtensionPoint[] getExtensionPoints() {
- PluginDescriptorModel[] list = getPlugins();
- if (list == null)
- return new IExtensionPoint[0];
- ArrayList result = new ArrayList();
- for (int i = 0; i < list.length; i++) {
- ExtensionPointModel[] pointList = list[i].getDeclaredExtensionPoints();
- if (pointList != null) {
- for (int j = 0; j < pointList.length; j++)
- result.add(pointList[j]);
- }
- }
- return (IExtensionPoint[]) result.toArray(new IExtensionPoint[result.size()]);
-}
-public IPluginDescriptor getPluginDescriptor(String plugin) {
- return (IPluginDescriptor) getPlugin(plugin);
-}
-public IPluginDescriptor getPluginDescriptor(String pluginId, PluginVersionIdentifier version) {
- PluginDescriptorModel[] plugins = getPlugins(pluginId);
- if (plugins == null || plugins.length == 0)
- return null;
- if (version == null)
- // Just return the first one in the list (random)
- return (IPluginDescriptor) plugins[0];
- for (int i = 0; i < plugins.length; i++) {
- IPluginDescriptor element = (IPluginDescriptor) plugins[i];
- if (element.getVersionIdentifier().equals(version))
- return element;
- }
- return null;
-}
-public IPluginDescriptor[] getPluginDescriptors() {
- PluginDescriptorModel[] plugins = getPlugins();
- if (plugins==null)
- return new IPluginDescriptor[0];
- IPluginDescriptor[] result = new IPluginDescriptor[plugins.length];
- for (int i = 0; i < plugins.length; i++)
- result[i] = (IPluginDescriptor) plugins[i];
- return result;
-}
-public IPluginDescriptor[] getPluginDescriptors(String plugin) {
- PluginDescriptorModel[] plugins = getPlugins(plugin);
- if (plugins==null)
- return new IPluginDescriptor[0];
- IPluginDescriptor[] result = new IPluginDescriptor[plugins.length];
- System.arraycopy(plugins, 0, result, 0, plugins.length);
- return result;
-}
-void logError(IStatus status) {
- InternalPlatform.getRuntimePlugin().getLog().log(status);
- if (InternalPlatform.DEBUG)
- System.out.println(status.getMessage());
-}
-public void saveRegistry() throws IOException {
- IPath path = InternalPlatform.getMetaArea().getRegistryPath();
- if (path.toFile().exists()) {
- // The registry cache file exists. Assume it is fine and
- // we don't need to re-write it.
- return;
- }
- DataOutputStream output = null;
- try {
- output = new DataOutputStream(new BufferedOutputStream(new FileOutputStream(path.toFile())));
- } catch (IOException ioe) {
- String message = Policy.bind("meta.unableToCreateCache"); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, ioe);
- logError(status);
- }
- try {
- long start = System.currentTimeMillis();
- RegistryCacheWriter cacheWriter = new RegistryCacheWriter();
- cacheWriter.writePluginRegistry(this, output);
- if (InternalPlatform.DEBUG)
- System.out.println("Wrote registry: " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
- } finally {
- output.close();
- }
-}
-public void flushRegistry() {
- IPath path = InternalPlatform.getMetaArea().getRegistryPath();
- IPath tempPath = InternalPlatform.getMetaArea().getBackupFilePathFor(path);
- path.toFile().delete();
- tempPath.toFile().delete();
-}
-public void debugRegistry(String filename) {
- Path path = new Path(filename);
- path = (Path)path.makeAbsolute();
- if (!path.isValidPath(path.toOSString())) {
- String message = Policy.bind("meta.invalidRegDebug", path.toOSString()); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, null);
- logError(status);
- return;
- }
-
- try {
- FileOutputStream fs = new FileOutputStream(path.toOSString());
- PrintWriter w = new PrintWriter(fs);
- try {
- RegistryWriter regWriter = new RegistryWriter();
- System.out.println(Policy.bind("meta.infoRegDebug", path.toOSString())); //$NON-NLS-1$
- regWriter.writePluginRegistry(this, w, 0);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- String message = Policy.bind("meta.unableToCreateRegDebug", path.toOSString()); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, ioe);
- logError(status);
- }
-}
-public void flushDebugRegistry() {
- IPath path = InternalPlatform.getMetaArea().getLocation().append(F_DEBUG_REGISTRY);
- path.toFile().delete();
-}
-public void shutdown(IProgressMonitor progress) {
- shutdownPlugins();
- if (progress != null)
- progress.worked(1);
-}
-private void shutdownPlugins() {
- IPluginVisitor visitor = new IPluginVisitor() {
- public void visit(final IPluginDescriptor descriptor) {
- ISafeRunnable code = new ISafeRunnable() {
- public void run() throws Exception {
- if (!descriptor.isPluginActivated())
- return;
- try {
- Plugin plugin = descriptor.getPlugin();
- long time = 0L;
- if (InternalPlatform.DEBUG_SHUTDOWN) {
- time = System.currentTimeMillis();
- System.out.println("Shutting down plugin: " + plugin.getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
- }
- plugin.shutdown();
- if (InternalPlatform.DEBUG_SHUTDOWN) {
- time = System.currentTimeMillis() - time;
- System.out.println("Finished plugin shutdown for " + plugin.getDescriptor().getUniqueIdentifier() + " time: " + time + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- } finally {
- ((PluginDescriptor) descriptor).doPluginDeactivation();
- }
- }
- public void handleException(Throwable e) {
- // do nothing as the exception has already been logged.
- }
- };
- InternalPlatform.run(code);
- }
- };
- accept(visitor, true);
-}
-public void startup(IProgressMonitor progress) {}
-/**
- * Loads an extension model's sub-elements.
- */
-final void loadConfigurationElements(Extension extension) {
- DataInputStream input = null;
- try {
- input = new DataInputStream(new BufferedInputStream(new FileInputStream(registryCacheFile)));
- input.skipBytes(extension.getSubElementsCacheOffset());
- ConfigurationElementModel[] subElements = this.registryCacheReader.readSubElements(input, extension, InternalPlatform.DEBUG);
- extension.setSubElements(subElements);
- extension.setFullyLoaded(true);
- // to force the just loaded sub-elements to be read-only as their parent
- if (extension.isReadOnly())
- extension.markReadOnly();
- } catch (IOException e) {
- // an I/O failure would keep the extension elements unloaded
- //TODO: log this exception?
- if (InternalPlatform.DEBUG)
- e.printStackTrace();
- } catch (RegistryCacheReader.InvalidRegistryCacheException e) {
- // it has already been checked by RegistryCacheLazyReader - shouldn't happen
- if (InternalPlatform.DEBUG)
- e.printStackTrace();
- } finally {
- try {
- if (input != null)
- input.close();
- } catch (IOException ioe) {
- }
- }
-}
-void setCacheReader(RegistryCacheReader registryCacheReader) {
- this.registryCacheReader = registryCacheReader;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java
deleted file mode 100644
index 66c4b86..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheReader.java
+++ /dev/null
@@ -1,1625 +0,0 @@
- /**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedInputStream;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class RegistryCacheReader {
-
- Factory cacheFactory;
- // objectTable will be an array list of objects. The objects will be things
- // like a plugin descriptor, extension point, etc. The integer
- // index value will be used in the cache to allow cross-references in the
- // cached registry.
- protected List objectTable = null;
-
- private boolean lazilyLoadExtensions;
-
- private MultiStatus cacheReadProblems = null;
-
- public static final byte REGISTRY_CACHE_VERSION = 11;
-
- public static final byte NONLABEL = 0;
-
- public static final byte CONFIGURATION_ELEMENT_END_LABEL = 1;
- public static final byte CONFIGURATION_ELEMENT_LABEL = 2;
-
- public static final byte CONFIGURATION_PROPERTY_END_LABEL = 4;
- public static final byte CONFIGURATION_PROPERTY_LABEL = 5;
-
- public static final byte EXTENSION_END_LABEL = 6;
- public static final byte EXTENSION_EXT_POINT_NAME_LABEL = 7;
- public static final byte EXTENSION_INDEX_LABEL = 8;
- public static final byte EXTENSION_PARENT_LABEL = 9;
-
- public static final byte EXTENSION_POINT_END_LABEL = 10;
- public static final byte EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL = 11;
- public static final byte EXTENSION_POINT_EXTENSIONS_LABEL = 12;
- public static final byte EXTENSION_POINT_PARENT_LABEL = 13;
- public static final byte EXTENSION_POINT_SCHEMA_LABEL = 14;
- public static final byte EXTENSION_POINT_INDEX_LABEL = 56;
-
- public static final byte FRAGMENT_INDEX_LABEL = 47;
- public static final byte FRAGMENT_LABEL = 48;
- public static final byte FRAGMENT_END_LABEL = 49;
- public static final byte FRAGMENT_PLUGIN_LABEL = 50;
- public static final byte FRAGMENT_PLUGIN_VERSION_LABEL = 51;
- public static final byte FRAGMENT_PLUGIN_MATCH_LABEL = 55;
-
- public static final byte ID_LABEL = 15;
- public static final byte LIBRARY_END_LABEL = 16;
- public static final byte LIBRARY_EXPORTS_LABEL = 17;
- public static final byte LIBRARY_EXPORTS_LENGTH_LABEL = 18;
- public static final byte LIBRARY_PACKAGES_PREFIXES_LENGTH_LABEL = 60;
- public static final byte LIBRARY_PACKAGES_PREFIXES_LABEL = 61;
- public static final byte NAME_LABEL = 19;
- public static final byte LIBRARY_INDEX_LABEL = 57;
- public static final byte START_LINE = 59;
-
- public static final byte PLUGIN_CLASS_LABEL = 20;
- public static final byte PLUGIN_ENABLED_LABEL = 21;
- public static final byte PLUGIN_END_LABEL = 22;
- public static final byte PLUGIN_EXTENSION_LABEL = 23;
- public static final byte PLUGIN_EXTENSION_POINT_LABEL = 24;
- public static final byte PLUGIN_INDEX_LABEL = 25;
- public static final byte PLUGIN_LABEL = 26;
- public static final byte PLUGIN_LOCATION_LABEL = 27;
- public static final byte PLUGIN_LIBRARY_LABEL = 28;
- public static final byte PLUGIN_PARENT_LABEL = 29;
- public static final byte PLUGIN_PROVIDER_NAME_LABEL = 30;
- public static final byte PLUGIN_REQUIRES_LABEL = 31;
-
- public static final byte PROPERTIES_LENGTH_LABEL = 32;
- public static final byte READONLY_LABEL = 33;
- public static final byte REGISTRY_END_LABEL = 34;
- public static final byte REGISTRY_INDEX_LABEL = 46;
- public static final byte REGISTRY_LABEL = 35;
- public static final byte REGISTRY_RESOLVED_LABEL = 36;
- public static final byte REQUIRES_END_LABEL = 37;
- public static final byte REQUIRES_EXPORT_LABEL = 38;
- public static final byte REQUIRES_MATCH_LABEL = 39;
- public static final byte REQUIRES_OPTIONAL_LABEL = 52;
- public static final byte REQUIRES_PLUGIN_NAME_LABEL = 40;
- public static final byte REQUIRES_RESOLVED_VERSION_LABEL = 41;
- public static final byte REQUIRES_INDEX_LABEL = 58;
- public static final byte SOURCE_LABEL = 53;
- public static final byte SUBELEMENTS_LENGTH_LABEL = 42;
- public static final byte TYPE_LABEL = 54;
- public static final byte VALUE_LABEL = 43;
- public static final byte VERSION_LABEL = 44;
- public static final byte SUBELEMENTS_LABEL = 62;
-
- // So it's easier to add a new label ...
- public static final byte LARGEST_LABEL = 62;
-
- // String constants for those byte values in the cache that
- // do not translate directly to strings found in manifest xml
- // files. For example, the 'location' of a plugin or fragment
- // is not listed in a plugin.xml file. The parser fills in
- // this field after the plugin.xml file has been successfully
- // parsed and added to the plugin registry. Therefore, 'location'
- // will not appear in plugin.xml (and not in IModel either) but
- // will appear in the registry cache.
- private static final String RESOLVED = "resolved"; //$NON-NLS-1$
- private static final String READONLY = "readonly"; //$NON-NLS-1$
- private static final String LOCATION = "location"; //$NON-NLS-1$
- private static final String ENABLED = "enabled"; //$NON-NLS-1$
- private static final String RESOLVED_VERSION = "resolved_version"; //$NON-NLS-1$
- private static final String END = "end"; //$NON-NLS-1$
- private static final String EXPORTS_LENGTH = "<length of export list>"; //$NON-NLS-1$
- private static final String SUBELEMENTS_LENGTH = "<length of subelement list>"; //$NON-NLS-1$
- private static final String PROPERTIES_LENGTH = "<length of properties list>"; //$NON-NLS-1$
- private static final String PARENT_REGISTRY = "<index of parent registry>"; //$NON-NLS-1$
- private static final String CONFIGURATION_ELEMENT_PARENT = "<index of element parent>"; //$NON-NLS-1$
- private static final String PLUGIN_INDEX = "<index of plugin>"; //$NON-NLS-1$
- private static final String EXTENSION_INDEX = "<index of extension>"; //$NON-NLS-1$
- private static final String EXT_PT_PARENT_INDEX = "<index of extension point parent>"; //$NON-NLS-1$
- private static final String EXT_PT_EXTENSION_LENGTH = "<length of extension list>"; //$NON-NLS-1$
- private static final String EXT_LIST = "<list of extensions>"; //$NON-NLS-1$
- private static final String EXTENSION_PARENT = "<index of extension parent>"; //$NON-NLS-1$
- private static final String ELEMENT_INDEX = "<index of element>"; //$NON-NLS-1$
- private static final String REGISTRY_INDEX = "<index of registry>"; //$NON-NLS-1$
- private static final String FRAGMENT_INDEX = "<index of fragment>"; //$NON-NLS-1$
- private static final String EXTENSION_POINT_INDEX = "<index of extension point>"; //$NON-NLS-1$
- private static final String LIBRARY_INDEX = "<index of library>"; //$NON-NLS-1$
- private static final String REQUIRES_INDEX = "<index of prerequisite>"; //$NON-NLS-1$
- private static final String UNKNOWN = "<unknown label>"; //$NON-NLS-1$
-
-public RegistryCacheReader(Factory factory, boolean lazilyLoadExtensions) {
- super();
- cacheFactory = factory;
- this.objectTable = new ArrayList();
- setLazilyLoadExtensions(lazilyLoadExtensions);
-}
-public RegistryCacheReader(Factory factory) {
- this(factory, false);
-}
-private int addToObjectTable(Object object) {
- objectTable.add(object);
- // return the index of the object just added (i.e. size - 1)
- return (objectTable.size() - 1);
-}
-private void debug(String msg) {
- System.out.println("RegistryCacheReader: " + msg); //$NON-NLS-1$
-}
-public static String decipherLabel(byte labelValue) {
- // Change a byte value from the registry cache into a
- // human readable string.
- String retValue = "\""; //$NON-NLS-1$
- switch (labelValue) {
- case REGISTRY_LABEL:
- retValue += IModel.REGISTRY;
- break;
- case REGISTRY_RESOLVED_LABEL:
- retValue += RESOLVED;
- break;
- case PLUGIN_LABEL:
- retValue += IModel.PLUGIN;
- break;
- case REGISTRY_END_LABEL:
- retValue += END + IModel.REGISTRY;
- break;
- case READONLY_LABEL:
- retValue += READONLY;
- break;
- case NAME_LABEL:
- retValue += IModel.PLUGIN_NAME;
- break;
- case ID_LABEL:
- retValue += IModel.PLUGIN_ID;
- break;
- case PLUGIN_PROVIDER_NAME_LABEL:
- retValue += IModel.PLUGIN_PROVIDER;
- break;
- case VERSION_LABEL:
- retValue += IModel.PLUGIN_VERSION;
- break;
- case PLUGIN_CLASS_LABEL:
- retValue += IModel.PLUGIN_CLASS;
- break;
- case PLUGIN_LOCATION_LABEL:
- retValue += LOCATION;
- break;
- case PLUGIN_ENABLED_LABEL:
- retValue += ENABLED;
- break;
- case PLUGIN_REQUIRES_LABEL:
- retValue += IModel.PLUGIN_REQUIRES;
- break;
- case PLUGIN_LIBRARY_LABEL:
- retValue += IModel.LIBRARY;
- break;
- case PLUGIN_EXTENSION_LABEL:
- retValue += IModel.EXTENSION;
- break;
- case PLUGIN_EXTENSION_POINT_LABEL:
- retValue += IModel.EXTENSION_POINT;
- break;
- case PLUGIN_END_LABEL:
- retValue += END + IModel.PLUGIN;
- break;
- case REQUIRES_MATCH_LABEL:
- retValue += IModel.PLUGIN_REQUIRES_MATCH;
- break;
- case REQUIRES_EXPORT_LABEL:
- retValue += IModel.PLUGIN_REQUIRES_EXPORT;
- break;
- case REQUIRES_RESOLVED_VERSION_LABEL:
- retValue += RESOLVED_VERSION;
- break;
- case REQUIRES_PLUGIN_NAME_LABEL:
- retValue += IModel.PLUGIN_REQUIRES_PLUGIN;
- break;
- case REQUIRES_END_LABEL:
- retValue += END + IModel.PLUGIN_REQUIRES;
- break;
- case LIBRARY_EXPORTS_LENGTH_LABEL:
- retValue += EXPORTS_LENGTH;
- break;
- case LIBRARY_EXPORTS_LABEL:
- retValue += IModel.LIBRARY_EXPORT;
- break;
- case LIBRARY_END_LABEL:
- retValue += END + IModel.LIBRARY;
- break;
- case EXTENSION_POINT_SCHEMA_LABEL:
- retValue += IModel.EXTENSION_POINT_SCHEMA;
- break;
- case EXTENSION_POINT_END_LABEL:
- retValue += END + IModel.EXTENSION_POINT;
- break;
- case EXTENSION_EXT_POINT_NAME_LABEL:
- retValue += IModel.EXTENSION_TARGET;
- break;
- case SUBELEMENTS_LENGTH_LABEL:
- retValue += SUBELEMENTS_LENGTH;
- break;
- case EXTENSION_END_LABEL:
- retValue += END + IModel.EXTENSION;
- break;
- case CONFIGURATION_ELEMENT_LABEL:
- retValue += IModel.ELEMENT;
- break;
- case VALUE_LABEL:
- retValue += IModel.ELEMENT_VALUE;
- break;
- case PROPERTIES_LENGTH_LABEL:
- retValue += PROPERTIES_LENGTH;
- break;
- case CONFIGURATION_ELEMENT_END_LABEL:
- retValue += END + IModel.ELEMENT;
- break;
- case CONFIGURATION_PROPERTY_LABEL:
- retValue += IModel.PROPERTY;
- break;
- case CONFIGURATION_PROPERTY_END_LABEL:
- retValue += END + IModel.PROPERTY;
- break;
- case PLUGIN_PARENT_LABEL:
- retValue += PARENT_REGISTRY;
- break;
- case PLUGIN_INDEX_LABEL:
- retValue += PLUGIN_INDEX;
- break;
- case EXTENSION_INDEX_LABEL:
- retValue += EXTENSION_INDEX;
- break;
- case EXTENSION_POINT_PARENT_LABEL:
- retValue += EXT_PT_PARENT_INDEX;
- break;
- case EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL:
- retValue += EXT_PT_EXTENSION_LENGTH;
- break;
- case EXTENSION_POINT_EXTENSIONS_LABEL:
- retValue += EXT_LIST;
- break;
- case EXTENSION_PARENT_LABEL:
- retValue += EXTENSION_PARENT;
- break;
- case REGISTRY_INDEX_LABEL:
- retValue += REGISTRY_INDEX;
- break;
- case FRAGMENT_END_LABEL:
- retValue += END + IModel.FRAGMENT;
- break;
- case FRAGMENT_INDEX_LABEL:
- retValue += FRAGMENT_INDEX;
- break;
- case FRAGMENT_LABEL:
- retValue += IModel.FRAGMENT;
- break;
- case FRAGMENT_PLUGIN_LABEL:
- retValue += IModel.FRAGMENT_PLUGIN_ID;
- break;
- case FRAGMENT_PLUGIN_MATCH_LABEL:
- retValue += IModel.FRAGMENT_PLUGIN_MATCH;
- break;
- case FRAGMENT_PLUGIN_VERSION_LABEL:
- retValue += IModel.FRAGMENT_PLUGIN_VERSION;
- break;
- case REQUIRES_OPTIONAL_LABEL:
- retValue += IModel.PLUGIN_REQUIRES_OPTIONAL;
- break;
- case SOURCE_LABEL:
- retValue += IModel.LIBRARY_SOURCE;
- break;
- case TYPE_LABEL:
- retValue += IModel.LIBRARY_TYPE;
- break;
- case EXTENSION_POINT_INDEX_LABEL:
- retValue += EXTENSION_POINT_INDEX;
- break;
- case LIBRARY_INDEX_LABEL:
- retValue += LIBRARY_INDEX;
- break;
- case REQUIRES_INDEX_LABEL:
- retValue += REQUIRES_INDEX;
- break;
- default:
- retValue += UNKNOWN;
- break;
- }
-
- retValue += "\""; //$NON-NLS-1$
- return retValue;
-}
-private boolean interpretHeaderInformation(DataInputStream in) {
- try {
- if (in.readInt() != REGISTRY_CACHE_VERSION)
- return false;
-
- // install stamp
- long installStamp = in.readLong();
- // OS stamp
- String osStamp = in.readUTF();
- // windows system stamp
- String windowsStamp = in.readUTF();
- // locale stamp
- String localeStamp = in.readUTF();
- // Save the current plugin timestamp for writing to the
- // cache when we shutdown
- InternalPlatform.setRegistryCacheTimeStamp(BootLoader.getCurrentPlatformConfiguration().getPluginsChangeStamp());
-
- return ((installStamp == InternalPlatform.getRegistryCacheTimeStamp()) &&
- (osStamp.equals(BootLoader.getOS())) &&
- (windowsStamp.equals(BootLoader.getWS())) &&
- (localeStamp.equals(BootLoader.getNL())) );
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", "HeaderInformation"), ioe)); //$NON-NLS-1$ //$NON-NLS-2$
- return false;
- }
-}
-
-private ConfigurationElementModel readConfigurationElement(DataInputStream in, PluginModelObject parent, boolean debugFlag) {
- ConfigurationElementModel configurationElement = cacheFactory.createConfigurationElement();
- configurationElement.setParent(parent);
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- configurationElement.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- configurationElement.setName(in.readUTF().intern());
- break;
- case VALUE_LABEL :
- configurationElement.setValue(in.readUTF().intern());
- break;
- case PROPERTIES_LENGTH_LABEL :
- int propertiesLength = in.readInt();
- ConfigurationPropertyModel[] properties = new ConfigurationPropertyModel[propertiesLength];
- for (int i = 0; i < propertiesLength && !done; i++) {
- properties[i] = readConfigurationProperty(in, debugFlag);
- if (properties[i] == null) {
- // Something went wrong reading this configuration
- // property
- if (debugFlag) {
- String name = configurationElement.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Trouble reading configuration property #" + i + " for configuration element " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- configurationElement = null;
- done = true;
- }
- }
- if (configurationElement != null)
- configurationElement.setProperties(properties);
- properties = null;
- break;
- case SUBELEMENTS_LENGTH_LABEL :
- int subElementsLength = in.readInt();
- ConfigurationElementModel[] subElements = new ConfigurationElementModel[subElementsLength];
- for (int i = 0; i < subElementsLength && !done; i++) {
- // Do we have an index or a real configuration element?
- byte subInByte = in.readByte();
- switch (subInByte) {
- case CONFIGURATION_ELEMENT_LABEL :
- subElements[i] = readConfigurationElement(in, configurationElement, debugFlag);
- if (subElements[i] == null) {
- if (debugFlag) {
- String name = configurationElement.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read subelement #" + i + " for configuration element " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- configurationElement = null;
- done = true;
- }
- break;
- default:
- // We found something we weren't expecting
- if (debugFlag) {
- String name = configurationElement.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(subInByte) + "reading subelements of configuration element" + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- configurationElement = null;
- break;
- }
- }
- if (configurationElement != null)
- configurationElement.setSubElements(subElements);
- subElements = null;
- break;
- case CONFIGURATION_ELEMENT_END_LABEL :
- done = true;
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = configurationElement.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + "reading configuration element" + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- configurationElement = null;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(CONFIGURATION_ELEMENT_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return configurationElement;
-}
-private ConfigurationPropertyModel readConfigurationProperty(DataInputStream in, boolean debugFlag) {
- ConfigurationPropertyModel configurationProperty = cacheFactory.createConfigurationProperty();
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case CONFIGURATION_PROPERTY_LABEL:
- break;
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- configurationProperty.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- configurationProperty.setName(in.readUTF().intern());
- break;
- case VALUE_LABEL :
- configurationProperty.setValue(in.readUTF().intern());
- break;
- case CONFIGURATION_PROPERTY_END_LABEL :
- done = true;
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = configurationProperty.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading configuration property " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- configurationProperty = null;
- done = true;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(CONFIGURATION_PROPERTY_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return configurationProperty;
-}
-private ExtensionModel readExtension(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
- ExtensionModel extension = cacheFactory.createExtension();
- addToObjectTable(extension);
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- extension.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- extension.setName(in.readUTF().intern());
- break;
- case ID_LABEL :
- extension.setId(in.readUTF().intern());
- break;
- case EXTENSION_EXT_POINT_NAME_LABEL :
- extension.setExtensionPoint(in.readUTF().intern());
- break;
- case SUBELEMENTS_LABEL :
- ConfigurationElementModel[] subElements = readSubElements(in, extension, debugFlag);
- extension.setSubElements(subElements);
- break;
- case EXTENSION_PARENT_LABEL :
- // Either there is a plugin or there is an index into the
- // objectTable
- byte subByte = in.readByte();
- switch (subByte) {
- case PLUGIN_LABEL :
- PluginModel parent = (PluginModel)readPluginDescriptor(in, debugFlag);
- if (parent == null) {
- if (debugFlag) {
- String name = extension.getName();
- if (name == null)
- name = new String("<unknown name>"); //$NON-NLS-1$
- debug ("Trouble reading parent plugin for extension " + name); //$NON-NLS-1$
- }
- done = true;
- extension = null;
- } else {
- extension.setParent(parent);
- }
- break;
- case PLUGIN_INDEX_LABEL :
- extension.setParent((PluginModel)objectTable.get(in.readInt()));
- break;
- case FRAGMENT_LABEL :
- PluginModel fragmentParent = (PluginModel)readPluginFragment(in, debugFlag);
- if (fragmentParent == null) {
- if (debugFlag) {
- String name = extension.getName();
- if (name == null)
- name = new String("<unknown name>"); //$NON-NLS-1$
- debug ("Trouble reading parent fragment for extension " + name); //$NON-NLS-1$
- }
- done = true;
- extension = null;
- } else {
- extension.setParent(fragmentParent);
- }
- break;
- case FRAGMENT_INDEX_LABEL :
- extension.setParent((PluginModel)objectTable.get(in.readInt()));
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = extension.getName();
- if (name == null)
- name = new String("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(subByte) + " reading parent of extension " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- extension = null;
- break;
- }
- break;
- case EXTENSION_END_LABEL :
- done = true;
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = extension.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + "reading extension" + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- extension = null;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_EXTENSION_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return extension;
-}
-
-private ExtensionPointModel readExtensionPoint(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
- ExtensionPointModel extPoint = cacheFactory.createExtensionPoint();
- addToObjectTable(extPoint);
-
- int extensionLength = 0;
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- extPoint.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- extPoint.setName(in.readUTF().intern());
- break;
- case ID_LABEL :
- extPoint.setId(in.readUTF().intern());
- break;
- case EXTENSION_POINT_SCHEMA_LABEL :
- extPoint.setSchema(in.readUTF().intern());
- break;
- case EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL :
- extensionLength = in.readInt();
- break;
- case EXTENSION_POINT_EXTENSIONS_LABEL :
- ExtensionModel[] extensions = new ExtensionModel[extensionLength];
- for (int i = 0; i < extensionLength && !done; i++) {
- byte subByte = in.readByte();
- switch (subByte) {
- // Either this is an extension or an index into
- // the objectTable
- case PLUGIN_EXTENSION_LABEL :
- extensions[i] = readExtension(in, debugFlag);
- if (extensions[i] == null) {
- if (debugFlag) {
- String name = extPoint.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read extension #" + i + " for extension point " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- extPoint = null;
- }
- break;
- case EXTENSION_INDEX_LABEL :
- extensions[i] = (ExtensionModel) objectTable.get(in.readInt());
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = extPoint.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(subByte) + "reading extension #" + i + " for extension point " + name); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- }
- extPoint = null;
- done = true;
- break;
- }
- }
- if (extPoint != null)
- extPoint.setDeclaredExtensions(extensions);
- break;
- case EXTENSION_POINT_PARENT_LABEL :
- // We know this plugin or fragment is already in the objectTable
- extPoint.setParent((PluginModel) objectTable.get(in.readInt()));
- break;
- case EXTENSION_POINT_END_LABEL :
- done = true;
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = extPoint.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading extension point " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- extPoint = null;
- done = true;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_EXTENSION_POINT_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return extPoint;
-}
-private LibraryModel readLibrary(DataInputStream in, boolean debugFlag) {
- LibraryModel library = cacheFactory.createLibrary();
- addToObjectTable(library);
- int exportsLength = 0;
- int prefixesLength = 0;
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- library.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- library.setName(in.readUTF().intern());
- break;
- case LIBRARY_EXPORTS_LENGTH_LABEL :
- exportsLength = in.readInt();
- break;
- case TYPE_LABEL :
- library.setType(in.readUTF().intern());
- break;
- case LIBRARY_EXPORTS_LABEL :
- String[] exports = new String[exportsLength];
- for (int i = 0; i < exportsLength && !done; i++) {
- exports[i] = in.readUTF().intern();
- if (exports[i] == null) {
- if (debugFlag) {
- String name = library.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Empty export string for export #" + i + " reading library " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- library = null;
- }
- }
- if (!done)
- library.setExports(exports);
- exports = null;
- break;
- case LIBRARY_END_LABEL :
- done = true;
- break;
- case LIBRARY_PACKAGES_PREFIXES_LENGTH_LABEL:
- prefixesLength = in.readInt();
- break;
- case LIBRARY_PACKAGES_PREFIXES_LABEL:
- String[] prefixes = new String[prefixesLength];
- for (int i = 0; i < prefixesLength && !done; i++) {
- prefixes[i] = in.readUTF().intern();
- if (prefixes[i] == null) {
- if (debugFlag) {
- String name = library.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Empty prefix string for prefix #" + i + " reading library " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- library = null;
- }
- }
- if (!done)
- library.setPackagePrefixes(prefixes);
- prefixes = null;
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = library.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading library " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- library = null;
- done = true;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_LIBRARY_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return library;
-}
-private PluginDescriptorModel readPluginDescriptor(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
- PluginDescriptorModel plugin = cacheFactory.createPluginDescriptor();
- addToObjectTable(plugin);
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- plugin.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- plugin.setName(in.readUTF().intern());
- break;
- case ID_LABEL :
- plugin.setId(in.readUTF().intern());
- break;
- case PLUGIN_PROVIDER_NAME_LABEL :
- plugin.setProviderName(in.readUTF().intern());
- break;
- case VERSION_LABEL :
- plugin.setVersion(in.readUTF().intern());
- break;
- case PLUGIN_CLASS_LABEL :
- plugin.setPluginClass(in.readUTF().intern());
- break;
- case PLUGIN_LOCATION_LABEL :
- plugin.setLocation(in.readUTF().intern());
- break;
- case PLUGIN_ENABLED_LABEL :
- plugin.setEnabled(in.readBoolean());
- break;
- case PLUGIN_REQUIRES_LABEL :
- PluginPrerequisiteModel requires = readPluginPrerequisite(in, debugFlag);
- if (requires == null) {
- // Something went wrong
- if (debugFlag) {
- String name = plugin.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read prerequisite for plugin " + name); //$NON-NLS-1$
- }
- plugin = null;
- done = true;
- } else {
- // Add this prerequisite to the end of the requires list
- PluginPrerequisiteModel[] requiresList = plugin.getRequires();
- PluginPrerequisiteModel[] newRequiresValues = null;
- if (requiresList == null) {
- newRequiresValues = new PluginPrerequisiteModel[1];
- newRequiresValues[0] = requires;
- } else {
- newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
- System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
- newRequiresValues[requiresList.length] = requires;
- }
- plugin.setRequires(newRequiresValues);
- requiresList = newRequiresValues = null;
- }
- requires = null;
- break;
- case REQUIRES_INDEX_LABEL :
- requires = (PluginPrerequisiteModel) objectTable.get(in.readInt());
- PluginPrerequisiteModel[] requiresList = plugin.getRequires();
- PluginPrerequisiteModel[] newRequiresValues = null;
- if (requiresList == null) {
- newRequiresValues = new PluginPrerequisiteModel[1];
- newRequiresValues[0] = requires;
- } else {
- newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
- System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
- newRequiresValues[requiresList.length] = requires;
- }
- plugin.setRequires(newRequiresValues);
- requires = null;
- requiresList = newRequiresValues = null;
- break;
- case PLUGIN_LIBRARY_LABEL :
- LibraryModel library = readLibrary(in, debugFlag);
- if (library == null) {
- // Something went wrong reading this library
- if (debugFlag) {
- String name = plugin.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read library for plugin " + name); //$NON-NLS-1$
- }
- plugin = null;
- done = true;
- } else {
- // Add this library to the end of the runtime list
- LibraryModel[] libraryList = plugin.getRuntime();
- LibraryModel[] newLibraryValues = null;
- if (libraryList == null) {
- newLibraryValues = new LibraryModel[1];
- newLibraryValues[0] = library;
- } else {
- newLibraryValues = new LibraryModel[libraryList.length + 1];
- System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
- newLibraryValues[libraryList.length] = library;
- }
- plugin.setRuntime(newLibraryValues);
- libraryList = newLibraryValues = null;
- }
- library = null;
- break;
- case LIBRARY_INDEX_LABEL :
- library = (LibraryModel) objectTable.get(in.readInt());
- LibraryModel[] libraryList = plugin.getRuntime();
- LibraryModel[] newLibraryValues = null;
- if (libraryList == null) {
- newLibraryValues = new LibraryModel[1];
- newLibraryValues[0] = library;
- } else {
- newLibraryValues = new LibraryModel[libraryList.length + 1];
- System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
- newLibraryValues[libraryList.length] = library;
- }
- plugin.setRuntime(newLibraryValues);
- library = null;
- libraryList = newLibraryValues = null;
- break;
- case PLUGIN_EXTENSION_LABEL :
- ExtensionModel extension = readExtension(in, debugFlag);
- if (extension == null) {
- // Something went wrong reading this extension
- if (debugFlag) {
- String name = plugin.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read extension for plugin " + name); //$NON-NLS-1$
- }
- plugin = null;
- done = true;
- } else {
- ExtensionModel[] extList = plugin.getDeclaredExtensions();
- ExtensionModel[] newExtValues = null;
- if (extList == null) {
- newExtValues = new ExtensionModel[1];
- newExtValues[0] = extension;
- } else {
- newExtValues = new ExtensionModel[extList.length + 1];
- System.arraycopy(extList, 0, newExtValues, 0, extList.length);
- newExtValues[extList.length] = extension;
- }
- plugin.setDeclaredExtensions(newExtValues);
- extList = newExtValues = null;
- }
- extension = null;
- break;
- case EXTENSION_INDEX_LABEL :
- extension = (ExtensionModel) objectTable.get(in.readInt());
- ExtensionModel[] extList = plugin.getDeclaredExtensions();
- ExtensionModel[] newExtValues = null;
- if (extList == null) {
- newExtValues = new ExtensionModel[1];
- newExtValues[0] = extension;
- } else {
- newExtValues = new ExtensionModel[extList.length + 1];
- System.arraycopy(extList, 0, newExtValues, 0, extList.length);
- newExtValues[extList.length] = extension;
- }
- plugin.setDeclaredExtensions(newExtValues);
- extension = null;
- extList = newExtValues = null;
- break;
- case PLUGIN_EXTENSION_POINT_LABEL :
- ExtensionPointModel extensionPoint = readExtensionPoint(in, debugFlag);
- if (extensionPoint == null) {
- // Something went wrong reading this extension
- if (debugFlag) {
- String name = plugin.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read extension point for plugin " + name); //$NON-NLS-1$
- }
- plugin = null;
- done = true;
- } else {
- // Add this extension point to the end of the extension point list
- ExtensionPointModel[] extPointList = plugin.getDeclaredExtensionPoints();
- ExtensionPointModel[] newExtPointValues = null;
- if (extPointList == null) {
- newExtPointValues = new ExtensionPointModel[1];
- newExtPointValues[0] = extensionPoint;
- } else {
- newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
- System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
- newExtPointValues[extPointList.length] = extensionPoint;
- }
- plugin.setDeclaredExtensionPoints(newExtPointValues);
- extensionPoint = null;
- extPointList = newExtPointValues = null;
- }
- break;
- case EXTENSION_POINT_INDEX_LABEL:
- extensionPoint = (ExtensionPointModel) objectTable.get(in.readInt());
- ExtensionPointModel[] extPointList = plugin.getDeclaredExtensionPoints();
- ExtensionPointModel[] newExtPointValues = null;
- if (extPointList == null) {
- newExtPointValues = new ExtensionPointModel[1];
- newExtPointValues[0] = extensionPoint;
- } else {
- newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
- System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
- newExtPointValues[extPointList.length] = extensionPoint;
- }
- plugin.setDeclaredExtensionPoints(newExtPointValues);
- extensionPoint = null;
- extPointList = newExtPointValues = null;
- break;
- case FRAGMENT_LABEL :
- PluginFragmentModel fragment = readPluginFragment(in, debugFlag);
- if (fragment == null) {
- // Something went wrong reading this fragment
- if (debugFlag) {
- String name = plugin.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read fragment for plugin " + name); //$NON-NLS-1$
- }
- plugin = null;
- done = true;
- } else {
- // Add this fragment to the end of the fragment list
- PluginFragmentModel[] fragmentList = plugin.getFragments();
- PluginFragmentModel[] newFragmentValues = null;
- if (fragmentList == null) {
- newFragmentValues = new PluginFragmentModel[1];
- newFragmentValues[0] = fragment;
- } else {
- newFragmentValues = new PluginFragmentModel[fragmentList.length + 1];
- System.arraycopy(fragmentList, 0, newFragmentValues, 0, fragmentList.length);
- newFragmentValues[fragmentList.length] = fragment;
- }
- plugin.setFragments(newFragmentValues);
- fragment = null;
- fragmentList = newFragmentValues = null;
- }
- break;
- case FRAGMENT_INDEX_LABEL :
- fragment = (PluginFragmentModel) objectTable.get(in.readInt());
- PluginFragmentModel[] fragmentList = plugin.getFragments();
- PluginFragmentModel[] newFragmentValues = null;
- if (fragmentList == null) {
- newFragmentValues = new PluginFragmentModel[1];
- newFragmentValues[0] = fragment;
- } else {
- newFragmentValues = new PluginFragmentModel[fragmentList.length + 1];
- System.arraycopy(fragmentList, 0, newFragmentValues, 0, fragmentList.length);
- newFragmentValues[fragmentList.length] = fragment;
- }
- plugin.setFragments(newFragmentValues);
- fragment = null;
- fragmentList = newFragmentValues = null;
- break;
- case PLUGIN_PARENT_LABEL :
- plugin.setRegistry((PluginRegistryModel) objectTable.get(in.readInt()));
- break;
- case PLUGIN_END_LABEL :
- done = true;
- break;
- default :
- // We got something unexpected
- if (debugFlag) {
- String name = plugin.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading plugin " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- plugin = null;
- done = true;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return plugin;
-}
-private PluginFragmentModel readPluginFragment(DataInputStream in, boolean debugFlag) throws InvalidRegistryCacheException {
- PluginFragmentModel fragment = cacheFactory.createPluginFragment();
- addToObjectTable(fragment);
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- fragment.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- fragment.setName(in.readUTF().intern());
- break;
- case ID_LABEL :
- fragment.setId(in.readUTF().intern());
- break;
- case PLUGIN_PROVIDER_NAME_LABEL :
- fragment.setProviderName(in.readUTF().intern());
- break;
- case VERSION_LABEL :
- fragment.setVersion(in.readUTF().intern());
- break;
- case PLUGIN_LOCATION_LABEL :
- fragment.setLocation(in.readUTF().intern());
- break;
- case FRAGMENT_PLUGIN_LABEL :
- fragment.setPlugin(in.readUTF().intern());
- break;
- case FRAGMENT_PLUGIN_VERSION_LABEL :
- fragment.setPluginVersion(in.readUTF().intern());
- break;
- case FRAGMENT_PLUGIN_MATCH_LABEL :
- fragment.setMatch(in.readByte());
- break;
- case PLUGIN_REQUIRES_LABEL :
- PluginPrerequisiteModel requires = readPluginPrerequisite(in, debugFlag);
- if (requires == null) {
- // Something went wrong reading the prerequisite
- if (debugFlag) {
- String name = fragment.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read prerequisite for fragment " + name); //$NON-NLS-1$
- }
- done = true;
- fragment = null;
- } else {
- // Add this prerequisite to the end of the requires list
- PluginPrerequisiteModel[] requiresList = fragment.getRequires();
- PluginPrerequisiteModel[] newRequiresValues = null;
- if (requiresList == null) {
- newRequiresValues = new PluginPrerequisiteModel[1];
- newRequiresValues[0] = requires;
- } else {
- newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
- System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
- newRequiresValues[requiresList.length] = requires;
- }
- fragment.setRequires(newRequiresValues);
- requires = null;
- requiresList = newRequiresValues = null;
- }
- break;
- case REQUIRES_INDEX_LABEL :
- requires = (PluginPrerequisiteModel) objectTable.get(in.readInt());
- PluginPrerequisiteModel[] requiresList = fragment.getRequires();
- PluginPrerequisiteModel[] newRequiresValues = null;
- if (requiresList == null) {
- newRequiresValues = new PluginPrerequisiteModel[1];
- newRequiresValues[0] = requires;
- } else {
- newRequiresValues = new PluginPrerequisiteModel[requiresList.length + 1];
- System.arraycopy(requiresList, 0, newRequiresValues, 0, requiresList.length);
- newRequiresValues[requiresList.length] = requires;
- }
- fragment.setRequires(newRequiresValues);
- requires = null;
- requiresList = newRequiresValues = null;
- break;
- case PLUGIN_LIBRARY_LABEL :
- LibraryModel library = readLibrary(in, debugFlag);
- if (library == null) {
- // Something went wrong reading this library
- if (debugFlag) {
- String name = fragment.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read library for fragment " + name); //$NON-NLS-1$
- }
- fragment = null;
- done = true;
- } else {
- // Add this library to the end of the runtime list
- LibraryModel[] libraryList = fragment.getRuntime();
- LibraryModel[] newLibraryValues = null;
- if (libraryList == null) {
- newLibraryValues = new LibraryModel[1];
- newLibraryValues[0] = library;
- } else {
- newLibraryValues = new LibraryModel[libraryList.length + 1];
- System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
- newLibraryValues[libraryList.length] = library;
- }
- fragment.setRuntime(newLibraryValues);
- library = null;
- libraryList = newLibraryValues = null;
- }
- break;
- case LIBRARY_INDEX_LABEL :
- library = (LibraryModel) objectTable.get(in.readInt());
- LibraryModel[] libraryList = fragment.getRuntime();
- LibraryModel[] newLibraryValues = null;
- if (libraryList == null) {
- newLibraryValues = new LibraryModel[1];
- newLibraryValues[0] = library;
- } else {
- newLibraryValues = new LibraryModel[libraryList.length + 1];
- System.arraycopy(libraryList, 0, newLibraryValues, 0, libraryList.length);
- newLibraryValues[libraryList.length] = library;
- }
- fragment.setRuntime(newLibraryValues);
- library = null;
- libraryList = newLibraryValues = null;
- break;
- case PLUGIN_EXTENSION_LABEL :
- ExtensionModel extension = readExtension(in, debugFlag);
- if (extension == null) {
- // Something went wrong reading this extension
- if (debugFlag) {
- String name = fragment.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read extension for fragment " + name); //$NON-NLS-1$
- }
- fragment = null;
- done = true;
- } else {
- ExtensionModel[] extList = fragment.getDeclaredExtensions();
- ExtensionModel[] newExtValues = null;
- if (extList == null) {
- newExtValues = new ExtensionModel[1];
- newExtValues[0] = extension;
- } else {
- newExtValues = new ExtensionModel[extList.length + 1];
- System.arraycopy(extList, 0, newExtValues, 0, extList.length);
- newExtValues[extList.length] = extension;
- }
- fragment.setDeclaredExtensions(newExtValues);
- extension = null;
- extList = newExtValues = null;
- }
- break;
- case EXTENSION_INDEX_LABEL :
- extension = (ExtensionModel) objectTable.get(in.readInt());
- ExtensionModel[] extList = fragment.getDeclaredExtensions();
- ExtensionModel[] newExtValues = null;
- if (extList == null) {
- newExtValues = new ExtensionModel[1];
- newExtValues[0] = extension;
- } else {
- newExtValues = new ExtensionModel[extList.length + 1];
- System.arraycopy(extList, 0, newExtValues, 0, extList.length);
- newExtValues[extList.length] = extension;
- }
- fragment.setDeclaredExtensions(newExtValues);
- extension = null;
- extList = newExtValues = null;
- break;
- case PLUGIN_EXTENSION_POINT_LABEL :
- ExtensionPointModel extensionPoint = readExtensionPoint(in, debugFlag);
- if (extensionPoint == null) {
- // Something went wrong reading this extension point
- if (debugFlag) {
- String name = fragment.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unable to read extension point for fragment " + name); //$NON-NLS-1$
- }
- fragment = null;
- done = true;
- } else {
- // Add this extension point to the end of the extension point list
- ExtensionPointModel[] extPointList = fragment.getDeclaredExtensionPoints();
- ExtensionPointModel[] newExtPointValues = null;
- if (extPointList == null) {
- newExtPointValues = new ExtensionPointModel[1];
- newExtPointValues[0] = extensionPoint;
- } else {
- newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
- System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
- newExtPointValues[extPointList.length] = extensionPoint;
- }
- fragment.setDeclaredExtensionPoints(newExtPointValues);
- extensionPoint = null;
- extPointList = newExtPointValues = null;
- }
- break;
- case EXTENSION_POINT_INDEX_LABEL:
- extensionPoint = (ExtensionPointModel) objectTable.get(in.readInt());
- ExtensionPointModel[] extPointList = fragment.getDeclaredExtensionPoints();
- ExtensionPointModel[] newExtPointValues = null;
- if (extPointList == null) {
- newExtPointValues = new ExtensionPointModel[1];
- newExtPointValues[0] = extensionPoint;
- } else {
- newExtPointValues = new ExtensionPointModel[extPointList.length + 1];
- System.arraycopy(extPointList, 0, newExtPointValues, 0, extPointList.length);
- newExtPointValues[extPointList.length] = extensionPoint;
- }
- fragment.setDeclaredExtensionPoints(newExtPointValues);
- extensionPoint = null;
- extPointList = newExtPointValues = null;
- break;
- case PLUGIN_PARENT_LABEL :
- fragment.setRegistry((PluginRegistryModel) objectTable.get(in.readInt()));
- break;
- case FRAGMENT_END_LABEL :
- done = true;
- break;
- default:
- // We got something unexpected
- if (debugFlag) {
- String name = fragment.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading fragment " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- fragment = null;
- done = true;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(FRAGMENT_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return fragment;
-}
-private PluginPrerequisiteModel readPluginPrerequisite(DataInputStream in, boolean debugFlag) {
- PluginPrerequisiteModel requires = cacheFactory.createPluginPrerequisite();
- addToObjectTable(requires);
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- done = true;
- break;
- }
- switch (inByte) {
- case READONLY_LABEL :
- in.readBoolean();
- break;
- case START_LINE :
- requires.setStartLine(in.readInt());
- break;
- case NAME_LABEL :
- requires.setName(in.readUTF().intern());
- break;
- case VERSION_LABEL :
- requires.setVersion(in.readUTF().intern());
- break;
- case REQUIRES_MATCH_LABEL :
- requires.setMatchByte(in.readByte());
- break;
- case REQUIRES_EXPORT_LABEL :
- requires.setExport(in.readBoolean());
- break;
- case REQUIRES_OPTIONAL_LABEL :
- requires.setOptional(in.readBoolean());
- break;
- case REQUIRES_RESOLVED_VERSION_LABEL :
- requires.setResolvedVersion(in.readUTF().intern());
- break;
- case REQUIRES_PLUGIN_NAME_LABEL :
- requires.setPlugin(in.readUTF().intern());
- break;
- case REQUIRES_END_LABEL :
- done = true;
- break;
- default:
- // We got something we didn't expect
- // Make this an empty prerequisite
- if (debugFlag) {
- String name = requires.getName();
- if (name == null)
- name = new String ("<unknown name>"); //$NON-NLS-1$
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading prerequisite " + name); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- requires = null;
- break;
- }
- }
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(PLUGIN_REQUIRES_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- return requires;
-}
-public final PluginRegistryModel readPluginRegistry(DataInputStream in, URL[] pluginPath, boolean debugFlag) {
- if (cacheReadProblems == null) {
- cacheReadProblems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("meta.registryCacheReadProblems"), null); //$NON-NLS-1$
- }
-
- if (!interpretHeaderInformation(in)) {
- if (debugFlag)
- debug ("Cache header information out of date - ignoring cache"); //$NON-NLS-1$
- return null;
- }
- PluginRegistryModel cachedRegistry = cacheFactory.createPluginRegistry();
- addToObjectTable(cachedRegistry);
- boolean setReadOnlyFlag = false;
- try {
- byte inByte = 0;
- boolean done = false;
- while (!done) {
- try {
- inByte = in.readByte();
- } catch (EOFException eofe) {
- // Don't return a cached registry since this exception is unexpected. In the normal
- // case we should have hit the END_REGISTRY label.
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.registryCacheEOFException"), eofe)); //$NON-NLS-1$
- return null;
- }
- switch (inByte) {
- case REGISTRY_LABEL:
- break;
- case READONLY_LABEL :
- if (in.readBoolean())
- setReadOnlyFlag = true;
- break;
- case REGISTRY_RESOLVED_LABEL :
- if (in.readBoolean())
- cachedRegistry.markResolved();
- break;
- case PLUGIN_LABEL :
- PluginDescriptorModel plugin = null;
- if ((plugin = readPluginDescriptor(in,debugFlag)) != null) {
- cachedRegistry.addPlugin(plugin);
- } else {
- // Something went wrong reading this plugin
- // Invalidate the cache
- if (debugFlag) {
- debug ("Unable to read plugin descriptor for plugin registry"); //$NON-NLS-1$
- }
- done = true;
- cachedRegistry = null;
- }
- break;
- case PLUGIN_INDEX_LABEL :
- plugin = (PluginDescriptorModel) objectTable.get(in.readInt());
- cachedRegistry.addPlugin(plugin);
- break;
- case FRAGMENT_LABEL :
- PluginFragmentModel fragment = null;
- if ((fragment = readPluginFragment(in, debugFlag)) != null) {
- cachedRegistry.addFragment(fragment);
- } else {
- // Something went wrong reading this fragment
- // Invalidate the cache
- if (debugFlag) {
- debug ("Unable to read fragment descriptor for plugin registry"); //$NON-NLS-1$
- }
- done = true;
- cachedRegistry = null;
- }
- break;
- case FRAGMENT_INDEX_LABEL :
- fragment = (PluginFragmentModel) objectTable.get(in.readInt());
- cachedRegistry.addFragment(fragment);
- break;
- case REGISTRY_END_LABEL :
- done = true;
- break;
- default:
- // We got something we weren't expecting
- // Invalidate this cached registry
- if (debugFlag) {
- debug ("Unexpected byte code " + decipherLabel(inByte) + " reading plugin registry"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- done = true;
- cachedRegistry = null;
- break;
- }
- }
- } catch (InvalidRegistryCacheException irce) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.registryCacheReadProblems", decipherLabel(REGISTRY_LABEL)), irce)); //$NON-NLS-1$
- return null;
- } catch (IOException ioe) {
- cacheReadProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", decipherLabel(REGISTRY_LABEL)), ioe)); //$NON-NLS-1$
- return null;
- }
- if (cachedRegistry == null)
- return null;
-
- if (lazilyLoadExtensions)
- ((PluginRegistry) cachedRegistry).setCacheReader(this);
- if (setReadOnlyFlag) {
- // If we are finished reading this registry, we don't need to worry
- // about setting the read-only flag on other objects we might wish
- // to write to. So, just to be safe, mark the whole thing.
- cachedRegistry.markReadOnly();
- }
- // if there are no plugins in the registry, return null instead of
- // an empty registry?
- PluginDescriptorModel[] pluginList = cachedRegistry.getPlugins();
- if ((pluginList == null) || (pluginList.length == 0)) {
- return null;
- } else {
- return cachedRegistry;
- }
-}
-private String[] getPathMembers(URL path) {
- String[] list = null;
- String protocol = path.getProtocol();
- if (protocol.equals("file")) { //$NON-NLS-1$
- list = (new File(path.getFile())).list();
- } else {
- // XXX: attempt to read URL and see if we got html dir page
- }
- return list == null ? new String[0] : list;
-}
-/**
- * Loads the configuration elements for an extension.
- */
-public final ConfigurationElementModel[] readSubElements(DataInputStream in, ExtensionModel parent, boolean debugFlag) throws IOException, InvalidRegistryCacheException {
-
- // the first field is extension sub-elements data offset
- int offset = in.readInt();
-
- if (lazilyLoadExtensions) {
- Extension extension = (Extension) parent;
- extension.setSubElementsCacheOffset(offset);
- checkSubElements(in, parent, debugFlag);
- extension.setFullyLoaded(false);
- return null;
- }
- // skip elements data length
- in.readInt();
- byte nextLabel = in.readByte();
- if (nextLabel != SUBELEMENTS_LENGTH_LABEL)
- throw new InvalidRegistryCacheException();
- int subElementsLength = in.readInt();
- ConfigurationElementModel[] subElements = new ConfigurationElementModel[subElementsLength];
- for (int i = 0; i < subElementsLength; i++) {
- nextLabel = in.readByte();
- if (nextLabel != CONFIGURATION_ELEMENT_LABEL)
- throw new InvalidRegistryCacheException();
- subElements[i] = readConfigurationElement(in, parent, debugFlag);
- if (subElements[i] == null) {
- String message = null;
- if (debugFlag)
- message = "Unable to read subelement #" + i + " for extension " + parent.getName(); //$NON-NLS-1$ //$NON-NLS-2$
- throw new InvalidRegistryCacheException(message);
- }
- }
- // skip checksum
- in.readLong();
- return subElements;
-}
-private void checkSubElements(DataInputStream in, ExtensionModel parent, boolean debugFlag) throws IOException, InvalidRegistryCacheException {
- int subElementsDataLength = in.readInt();
- CheckedInputStream checkedIn = new CheckedInputStream(in, new CRC32());
- if (checkedIn.skip(subElementsDataLength) != subElementsDataLength) {
- String message = null;
- if (debugFlag)
- message = "EOF checking sub-elements data for extension " + parent.getName(); //$NON-NLS-1$
- throw new InvalidRegistryCacheException(message);
- }
- long checksum = in.readLong();
- if (checksum != checkedIn.getChecksum().getValue()) {
- String message = null;
- if (debugFlag)
- message = "Checksum error checking sub-elements data for extension " + parent.getName(); //$NON-NLS-1$
- throw new InvalidRegistryCacheException(message);
- }
-}
-public class InvalidRegistryCacheException extends Exception {
- public InvalidRegistryCacheException() {
- super();
- }
- public InvalidRegistryCacheException(String string) {
- super(string);
- }
-}
-final public void setLazilyLoadExtensions(boolean lazilyLoadExtensions) {
- if (lazilyLoadExtensions && !(cacheFactory instanceof InternalFactory))
- throw new UnsupportedOperationException("Invalid factory: " + cacheFactory.getClass().getName());//$NON-NLS-1$
- this.lazilyLoadExtensions = lazilyLoadExtensions;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java
deleted file mode 100644
index d592dba..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryCacheWriter.java
+++ /dev/null
@@ -1,696 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.zip.CRC32;
-import java.util.zip.CheckedOutputStream;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class RegistryCacheWriter {
- // See RegistryCacheReader for constants commonly used here too.
-
- // objectTable will be a hashmap of objects. The objects will be things
- // like a plugin descriptor, extension, extension point, etc. The integer
- // index value will be used in the cache to allow cross-references in the
- // cached registry.
- HashMap objectTable = null;
-
- public MultiStatus cacheWriteProblems = null;
-
- public static final boolean DEBUG_REGISTRY_CACHE = false;
-
-public RegistryCacheWriter() {
- super();
-}
-private int addToObjectTable(Object object) {
- if (objectTable == null) {
- objectTable = new HashMap();
- }
- objectTable.put(object, new Integer(objectTable.size()));
- // return the index of the object just added (i.e. size - 1)
- return (objectTable.size() - 1);
-}
-private int getFromObjectTable(Object object) {
- if (objectTable != null) {
- Object objectResult = objectTable.get(object);
- if (objectResult != null) {
- return ((Integer) objectResult).intValue();
- }
- }
- return -1;
-}
-private void writeLabel(byte labelValue, DataOutputStream out) {
- try {
- if (DEBUG_REGISTRY_CACHE) {
- out.writeUTF (RegistryCacheReader.decipherLabel(labelValue));
- } else {
- out.writeByte(labelValue);
- }
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(labelValue)), ioe)); //$NON-NLS-1$
- }
-}
-public void writeConfigurationElement(ConfigurationElementModel configElement, DataOutputStream out) {
- try {
- String outString;
-
- writeLabel(RegistryCacheReader.CONFIGURATION_ELEMENT_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(configElement.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(configElement.getStartLine());
-
- if ((outString = configElement.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = configElement.getValue()) != null) {
- writeLabel(RegistryCacheReader.VALUE_LABEL, out);
- out.writeUTF(outString);
- }
-
- ConfigurationPropertyModel[] properties = configElement.getProperties();
- if (properties != null) {
- writeLabel(RegistryCacheReader.PROPERTIES_LENGTH_LABEL, out);
- out.writeInt(properties.length);
- for (int i = 0; i < properties.length; i++) {
- writeConfigurationProperty(properties[i], out);
- }
- }
-
- ConfigurationElementModel[] subElements = configElement.getSubElements();
- if (subElements != null) {
- writeLabel(RegistryCacheReader.SUBELEMENTS_LENGTH_LABEL, out);
- out.writeInt(subElements.length);
- for (int i = 0; i < subElements.length; i++) {
- writeConfigurationElement(subElements[i], out);
- }
- }
-
- writeLabel(RegistryCacheReader.CONFIGURATION_ELEMENT_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.CONFIGURATION_ELEMENT_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writeConfigurationProperty(ConfigurationPropertyModel configProperty, DataOutputStream out) {
- try {
- String outString;
-
- writeLabel(RegistryCacheReader.CONFIGURATION_PROPERTY_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(configProperty.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(configProperty.getStartLine());
-
- if ((outString = configProperty.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = configProperty.getValue()) != null) {
- writeLabel(RegistryCacheReader.VALUE_LABEL, out);
- out.writeUTF(outString);
- }
-
- writeLabel(RegistryCacheReader.CONFIGURATION_PROPERTY_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.CONFIGURATION_PROPERTY_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writeExtension(ExtensionModel extension, DataOutputStream out) {
- try {
- // Check to see if this extension already exists in the objectTable. If it
- // is there, it has already been written to the cache so just write out
- // the index.
- int extensionIndex = getFromObjectTable(extension);
- if (extensionIndex != -1) {
- // this extension is already there
- writeLabel(RegistryCacheReader.EXTENSION_INDEX_LABEL, out);
- out.writeInt(extensionIndex);
- return;
- }
- // add this object to the object table first
- addToObjectTable(extension);
-
- String outString;
-
- writeLabel(RegistryCacheReader.PLUGIN_EXTENSION_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(extension.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(extension.getStartLine());
-
- if ((outString = extension.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = extension.getExtensionPoint()) != null) {
- writeLabel(RegistryCacheReader.EXTENSION_EXT_POINT_NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = extension.getId()) != null) {
- writeLabel(RegistryCacheReader.ID_LABEL, out);
- out.writeUTF(outString);
- }
-
- writeSubElements(out, extension);
-
- // Now worry about the parent plugin descriptor or plugin fragment
- PluginModel parent = extension.getParent();
- int parentIndex = getFromObjectTable(parent);
- writeLabel(RegistryCacheReader.EXTENSION_PARENT_LABEL, out);
- if (parentIndex != -1) {
- // We have already written this plugin or fragment. Just use the index.
- if (parent instanceof PluginDescriptorModel) {
- writeLabel(RegistryCacheReader.PLUGIN_INDEX_LABEL, out);
- } else /* must be a fragment */ {
- writeLabel(RegistryCacheReader.FRAGMENT_INDEX_LABEL, out);
- }
- out.writeInt(parentIndex);
- } else {
- // We haven't visited this plugin or fragment yet, so write it explicitly
- if (parent instanceof PluginDescriptorModel) {
- writePluginDescriptor((PluginDescriptorModel)parent, out);
- } else /* must be a fragment */ {
- writePluginFragment((PluginFragmentModel)parent, out);
- }
- }
-
- writeLabel(RegistryCacheReader.EXTENSION_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_EXTENSION_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writeSubElements(DataOutputStream out, ExtensionModel extension) throws IOException {
- ConfigurationElementModel[] subElements = extension.getSubElements();
- if (subElements == null)
- return;
- writeLabel(RegistryCacheReader.SUBELEMENTS_LABEL, out);
- // write the offset for sub-elements data
- out.writeInt(out.size());
- // write the sub-elements data to a memory stream...
- // so we can prefix that data with its size (to easily skip it)
- ByteArrayOutputStream arrayOut = new ByteArrayOutputStream();
- CheckedOutputStream checkedOut = new CheckedOutputStream(arrayOut, new CRC32());
- DataOutputStream tempOut = new DataOutputStream(checkedOut);
- writeLabel(RegistryCacheReader.SUBELEMENTS_LENGTH_LABEL, tempOut);
- tempOut.writeInt(subElements.length);
- for (int i = 0; i < subElements.length; i++)
- writeConfigurationElement(subElements[i], tempOut);
- tempOut.close();
- // write the block size, the data and a checksum
- out.writeInt(arrayOut.size());
- out.write(arrayOut.toByteArray());
- out.writeLong(checkedOut.getChecksum().getValue());
-}
-public void writeExtensionPoint(ExtensionPointModel extPoint, DataOutputStream out) {
- try {
- // Check to see if this extension point already exists in the objectTable. If it
- // is there, it has already been written to the cache so just write out
- // the index.
- int extensionPointIndex = getFromObjectTable(extPoint);
- if (extensionPointIndex != -1) {
- // this extension point is already there
- writeLabel(RegistryCacheReader.EXTENSION_POINT_INDEX_LABEL, out);
- out.writeInt(extensionPointIndex);
- return;
- }
- // add this object to the object table first
- addToObjectTable(extPoint);
- String outString;
-
- writeLabel(RegistryCacheReader.PLUGIN_EXTENSION_POINT_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(extPoint.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(extPoint.getStartLine());
-
- if ((outString = extPoint.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = extPoint.getId()) != null) {
- writeLabel(RegistryCacheReader.ID_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = extPoint.getSchema()) != null) {
- writeLabel(RegistryCacheReader.EXTENSION_POINT_SCHEMA_LABEL, out);
- out.writeUTF(outString);
- }
-
- // Write out the parent's index. We know we have
- // already written this plugin or fragment to the cache
- PluginModel parent = extPoint.getParent();
- if (parent != null) {
- int parentIndex = getFromObjectTable(parent);
- if (parentIndex != -1) {
- writeLabel(RegistryCacheReader.EXTENSION_POINT_PARENT_LABEL, out);
- out.writeInt(parentIndex);
- }
- }
-
- // Now do the extensions.
- ExtensionModel[] extensions = extPoint.getDeclaredExtensions();
- int extLength = extensions == null ? 0 : extensions.length;
- if (extLength != 0) {
- writeLabel(RegistryCacheReader.EXTENSION_POINT_EXTENSIONS_LENGTH_LABEL, out);
- out.writeInt(extLength);
- writeLabel(RegistryCacheReader.EXTENSION_POINT_EXTENSIONS_LABEL, out);
- for (int i = 0; i < extLength; i++) {
- // Check to see if the extension exists in the objectTable first
- int extensionIndex = getFromObjectTable(extensions[i]);
- if (extensionIndex != -1) {
- // Already in the objectTable and written to the cache
- writeLabel(RegistryCacheReader.EXTENSION_INDEX_LABEL, out);
- out.writeInt(extensionIndex);
- } else {
- writeExtension(extensions[i], out);
- }
- }
- }
-
- writeLabel(RegistryCacheReader.EXTENSION_POINT_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_EXTENSION_POINT_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writeHeaderInformation(DataOutputStream out) {
- try {
- out.writeInt(RegistryCacheReader.REGISTRY_CACHE_VERSION);
- // install stamp
- out.writeLong(InternalPlatform.getRegistryCacheTimeStamp());
- // OS stamp
- out.writeUTF(BootLoader.getOS());
- // windows system stamp
- out.writeUTF(BootLoader.getWS());
- // locale stamp
- out.writeUTF(BootLoader.getNL());
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", "HeaderInformation"), ioe)); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
-public void writeLibrary(LibraryModel library, DataOutputStream out) {
- try {
- // Check to see if this library already exists in the objectTable. If it
- // is there, it has already been written to the cache so just write out
- // the index.
- int libraryIndex = getFromObjectTable(library);
- if (libraryIndex != -1) {
- // this library is already there
- writeLabel(RegistryCacheReader.LIBRARY_INDEX_LABEL, out);
- out.writeInt(libraryIndex);
- return;
- }
- // add this object to the object table first
- addToObjectTable(library);
- String outString;
-
- writeLabel(RegistryCacheReader.PLUGIN_LIBRARY_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(library.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(library.getStartLine());
-
- if ((outString = library.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = library.getType()) != null) {
- writeLabel(RegistryCacheReader.TYPE_LABEL, out);
- out.writeUTF(outString);
- }
-
- String[] exports = null;
- if ((exports = library.getExports()) != null) {
- writeLabel(RegistryCacheReader.LIBRARY_EXPORTS_LENGTH_LABEL, out);
- out.writeInt(exports.length);
- writeLabel(RegistryCacheReader.LIBRARY_EXPORTS_LABEL, out);
- for (int i = 0; i < exports.length; i++) {
- out.writeUTF(exports[i]);
- }
- }
-
- // write out the declared package prefixes
- String[] prefixes = library.getPackagePrefixes();
- if (prefixes != null) {
- writeLabel(RegistryCacheReader.LIBRARY_PACKAGES_PREFIXES_LENGTH_LABEL, out);
- out.writeInt(prefixes.length);
- writeLabel(RegistryCacheReader.LIBRARY_PACKAGES_PREFIXES_LABEL, out);
- for (int i=0; i<prefixes.length; i++)
- out.writeUTF(prefixes[i]);
- }
-
- // Don't bother caching 'isExported' and 'isFullyExported'. There
- // is no way of explicitly setting these fields. They are computed
- // from the values in the 'exports' list.
- writeLabel(RegistryCacheReader.LIBRARY_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_LIBRARY_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writePluginDescriptor(PluginDescriptorModel plugin, DataOutputStream out) {
-
- try {
- // Check to see if this plugin already exists in the objectTable. If it is there,
- // it has already been written to the cache so just write out the index.
- int pluginIndex = getFromObjectTable(plugin);
- if (pluginIndex != -1) {
- // this plugin is already there
- writeLabel(RegistryCacheReader.PLUGIN_INDEX_LABEL, out);
- out.writeInt(pluginIndex);
- return;
- }
-
- // add this object to the object table first
- addToObjectTable(plugin);
- String outString;
-
- writeLabel(RegistryCacheReader.PLUGIN_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(plugin.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(plugin.getStartLine());
-
- if ((outString = plugin.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = plugin.getId()) != null) {
- writeLabel(RegistryCacheReader.ID_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = plugin.getProviderName()) != null) {
- writeLabel(RegistryCacheReader.PLUGIN_PROVIDER_NAME_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = plugin.getVersion()) != null) {
- writeLabel(RegistryCacheReader.VERSION_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = plugin.getPluginClass()) != null) {
- writeLabel(RegistryCacheReader.PLUGIN_CLASS_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = plugin.getLocation()) != null) {
- writeLabel(RegistryCacheReader.PLUGIN_LOCATION_LABEL, out);
- out.writeUTF(outString);
- }
- writeLabel(RegistryCacheReader.PLUGIN_ENABLED_LABEL, out);
- out.writeBoolean(plugin.getEnabled());
-
- // write out prerequisites
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- int reqSize = (requires == null) ? 0 : requires.length;
- if (reqSize != 0) {
- for (int i = 0; i < reqSize; i++)
- writePluginPrerequisite(requires[i], out);
- }
-
- // write out library entries
- LibraryModel[] runtime = plugin.getRuntime();
- int runtimeSize = (runtime == null) ? 0 : runtime.length;
- if (runtimeSize != 0) {
- for (int i = 0; i < runtimeSize; i++) {
- writeLibrary(runtime[i], out);
- }
- }
-
- // need to worry about cross links here
- // now do extension points
- ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
- int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
- if (extPointsSize != 0) {
- for (int i = 0; i < extPointsSize; i++)
- writeExtensionPoint(extensionPoints[i], out);
- }
-
- // and then extensions
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- int extSize = (extensions == null) ? 0 : extensions.length;
- if (extSize != 0) {
- for (int i = 0; i < extSize; i++) {
- writeExtension(extensions[i], out);
- }
- }
-
- // and then fragments
- PluginFragmentModel[] fragments = plugin.getFragments();
- int fragmentSize = (fragments == null) ? 0 : fragments.length;
- if (fragmentSize != 0) {
- for (int i = 0; i < fragmentSize; i++) {
- writePluginFragment(fragments[i], out);
- }
- }
-
- // Add the index to the registry object for this plugin
- PluginRegistryModel parentRegistry = plugin.getRegistry();
- writeLabel(RegistryCacheReader.PLUGIN_PARENT_LABEL, out);
- // We can assume that the parent registry is already written out.
- out.writeInt(getFromObjectTable(parentRegistry));
-
- writeLabel(RegistryCacheReader.PLUGIN_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writePluginFragment(PluginFragmentModel fragment, DataOutputStream out) {
-
- try {
- // Check to see if this fragment already exists in the objectTable. If it is there,
- // it has already been written to the cache so just write out the index.
- int fragmentIndex = getFromObjectTable(fragment);
- if (fragmentIndex != -1) {
- // this fragment is already there
- writeLabel(RegistryCacheReader.FRAGMENT_INDEX_LABEL, out);
- out.writeInt(fragmentIndex);
- return;
- }
-
- // add this object to the object table first
- addToObjectTable(fragment);
- String outString;
- byte outByte;
-
- writeLabel(RegistryCacheReader.FRAGMENT_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(fragment.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(fragment.getStartLine());
-
- if ((outString = fragment.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = fragment.getId()) != null) {
- writeLabel(RegistryCacheReader.ID_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = fragment.getProviderName()) != null) {
- writeLabel(RegistryCacheReader.PLUGIN_PROVIDER_NAME_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = fragment.getVersion()) != null) {
- writeLabel(RegistryCacheReader.VERSION_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = fragment.getLocation()) != null) {
- writeLabel(RegistryCacheReader.PLUGIN_LOCATION_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = fragment.getPlugin()) != null) {
- writeLabel(RegistryCacheReader.FRAGMENT_PLUGIN_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outString = fragment.getPluginVersion()) != null) {
- writeLabel(RegistryCacheReader.FRAGMENT_PLUGIN_VERSION_LABEL, out);
- out.writeUTF(outString);
- }
- if ((outByte = fragment.getMatch()) != PluginFragmentModel.FRAGMENT_MATCH_UNSPECIFIED) {
- writeLabel(RegistryCacheReader.FRAGMENT_PLUGIN_MATCH_LABEL, out);
- out.writeByte(outByte);
- }
-
- // write out prerequisites
- PluginPrerequisiteModel[] requires = fragment.getRequires();
- int reqSize = (requires == null) ? 0 : requires.length;
- if (reqSize != 0) {
- for (int i = 0; i < reqSize; i++)
- writePluginPrerequisite(requires[i], out);
- }
-
- // write out library entries
- LibraryModel[] runtime = fragment.getRuntime();
- int runtimeSize = (runtime == null) ? 0 : runtime.length;
- if (runtimeSize != 0) {
- for (int i = 0; i < runtimeSize; i++) {
- writeLibrary(runtime[i], out);
- }
- }
-
- // need to worry about cross links here
- // now do extension points
- ExtensionPointModel[] extensionPoints = fragment.getDeclaredExtensionPoints();
- int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
- if (extPointsSize != 0) {
- for (int i = 0; i < extPointsSize; i++)
- writeExtensionPoint(extensionPoints[i], out);
- }
-
- // and then extensions
- ExtensionModel[] extensions = fragment.getDeclaredExtensions();
- int extSize = (extensions == null) ? 0 : extensions.length;
- if (extSize != 0) {
- for (int i = 0; i < extSize; i++) {
- writeExtension(extensions[i], out);
- }
- }
-
- // Add the index to the registry object for this plugin
- PluginRegistryModel parentRegistry = fragment.getRegistry();
- writeLabel(RegistryCacheReader.PLUGIN_PARENT_LABEL, out);
- // We can assume that the parent registry is already written out.
- out.writeInt(getFromObjectTable(parentRegistry));
-
- writeLabel(RegistryCacheReader.FRAGMENT_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.FRAGMENT_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writePluginPrerequisite(PluginPrerequisiteModel requires, DataOutputStream out) {
- try {
- // Check to see if this prerequisite already exists in the objectTable. If it
- // is there, it has already been written to the cache so just write out
- // the index.
- int requiresIndex = getFromObjectTable(requires);
- if (requiresIndex != -1) {
- // this library is already there
- writeLabel(RegistryCacheReader.REQUIRES_INDEX_LABEL, out);
- out.writeInt(requiresIndex);
- return;
- }
- // add this object to the object table first
- addToObjectTable(requires);
- String outString = null;
-
- writeLabel(RegistryCacheReader.PLUGIN_REQUIRES_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(requires.isReadOnly());
-
- writeLabel(RegistryCacheReader.START_LINE, out);
- out.writeInt(requires.getStartLine());
-
- if ((outString = requires.getName()) != null) {
- writeLabel(RegistryCacheReader.NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = requires.getVersion()) != null) {
- writeLabel(RegistryCacheReader.VERSION_LABEL, out);
- out.writeUTF(outString);
- }
-
- byte outMatch = requires.getMatchByte();
- if (outMatch != PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED) {
- writeLabel(RegistryCacheReader.REQUIRES_MATCH_LABEL, out);
- out.writeByte(requires.getMatchByte());
- }
-
- writeLabel(RegistryCacheReader.REQUIRES_EXPORT_LABEL, out);
- out.writeBoolean(requires.getExport());
-
- writeLabel(RegistryCacheReader.REQUIRES_OPTIONAL_LABEL, out);
- out.writeBoolean(requires.getOptional());
-
- if ((outString = requires.getResolvedVersion()) != null) {
- writeLabel(RegistryCacheReader.REQUIRES_RESOLVED_VERSION_LABEL, out);
- out.writeUTF(outString);
- }
-
- if ((outString = requires.getPlugin()) != null) {
- writeLabel(RegistryCacheReader.REQUIRES_PLUGIN_NAME_LABEL, out);
- out.writeUTF(outString);
- }
-
- writeLabel(RegistryCacheReader.REQUIRES_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.PLUGIN_REQUIRES_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-public void writePluginRegistry(PluginRegistryModel registry, DataOutputStream out) {
- if (cacheWriteProblems == null) {
- cacheWriteProblems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("meta.registryCacheWriteProblems"), null); //$NON-NLS-1$
- }
-
- try {
- // Check to see if this registry already exists in the objectTable. If it is there,
- // it has already been written to the cache so just write out the index.
- if (objectTable != null) {
- int registryIndex = getFromObjectTable(registry);
- if (registryIndex != -1) {
- // this plugin is already there
- writeLabel(RegistryCacheReader.REGISTRY_INDEX_LABEL, out);
- out.writeInt(registryIndex);
- return;
- }
- }
-
- // add this object to the object table first
- addToObjectTable(registry);
- writeHeaderInformation(out);
-
- writeLabel(RegistryCacheReader.REGISTRY_LABEL, out);
-
- writeLabel(RegistryCacheReader.READONLY_LABEL, out);
- out.writeBoolean(registry.isReadOnly());
-
- writeLabel(RegistryCacheReader.REGISTRY_RESOLVED_LABEL, out);
- out.writeBoolean(registry.isResolved());
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- for (int i = 0; i < pluginList.length; i++)
- writePluginDescriptor(pluginList[i], out);
- PluginFragmentModel[] fragmentList = registry.getFragments();
- int fragmentLength = (fragmentList == null) ? 0 : fragmentList.length;
- for (int i = 0; i < fragmentLength; i++)
- writePluginFragment(fragmentList[i], out);
- writeLabel(RegistryCacheReader.REGISTRY_END_LABEL, out);
- } catch (IOException ioe) {
- cacheWriteProblems.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind ("meta.regCacheIOException", RegistryCacheReader.decipherLabel(RegistryCacheReader.REGISTRY_LABEL)), ioe)); //$NON-NLS-1$
- }
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java
deleted file mode 100644
index 42076bd..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryLoader.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Properties;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXParseException;
-
-public class RegistryLoader {
- private Factory factory;
-
- // debug support
- private boolean debug = false;
- private long startTick = (new java.util.Date()).getTime(); // used for performance timings
- private long lastTick = startTick;
-private RegistryLoader(Factory factory, boolean debug) {
- super();
- this.debug = debug;
- this.factory = factory;
-}
-private void debug(String msg) {
- long thisTick = System.currentTimeMillis();
- System.out.println("RegistryLoader: " + msg + " [+"+ (thisTick - lastTick) + "ms]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- lastTick = thisTick;
-}
-private String[] getPathMembers(URL path) {
- String[] list = null;
- String protocol = path.getProtocol();
- if (protocol.equals("file")) { //$NON-NLS-1$
- list = (new File(path.getFile())).list();
- } else {
- // XXX: attempt to read URL and see if we got html dir page
- }
- return list == null ? new String[0] : list;
-}
-/**
- * Reports an error and returns true.
- */
-private boolean parseProblem(String message) {
- factory.error(new Status(
- IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, message, null));
- return true;
-}
-private PluginRegistryModel parseRegistry(URL[] pluginPath) {
- long startTick = System.currentTimeMillis();
- PluginRegistryModel result = processManifestFiles(pluginPath);
- if (InternalPlatform.DEBUG) {
- long endTick = System.currentTimeMillis();
- debug("Parsed Registry: " + (endTick - startTick) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return result;
-}
-public static PluginRegistryModel parseRegistry(URL[] pluginPath, Factory factory, boolean debug) {
- return new RegistryLoader(factory, debug).parseRegistry(pluginPath);
-}
-private PluginModel processManifestFile(URL manifest) {
- InputStream is = null;
- try {
- is = manifest.openStream();
- } catch (IOException e) {
- if (debug)
- debug("No plugin found for: " + manifest); //$NON-NLS-1$
- return null;
- }
- PluginModel result = null;
- try {
- try {
- InputSource in = new InputSource(is);
- // Give the system id a value in case we want it for
- // error reporting within the parser.
- in.setSystemId(manifest.getFile());
- result = new PluginParser((Factory) factory).parsePlugin(in);
- } finally {
- is.close();
- }
- } catch (SAXParseException se) {
- /* exception details logged by parser */
- factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("parse.errorProcessing", manifest.toString()), null)); //$NON-NLS-1$
- } catch (Exception e) {
- factory.error(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("parse.errorProcessing", manifest.toString() + ": " + e.getMessage()), null)); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return result;
-}
-private PluginRegistryModel processManifestFiles(URL[] pluginPath) {
- PluginRegistryModel result = factory.createPluginRegistry();
- for (int i = 0; i < pluginPath.length; i++)
- processPluginPathEntry(result, pluginPath[i]);
- return result;
-}
-private void processPluginPathEntry(PluginRegistryModel registry, URL location) {
- if (debug)
- debug("Path - " + location); //$NON-NLS-1$
- if (location.getFile().endsWith("/")) { //$NON-NLS-1$
- // directory entry - search for plugins
- String[] members = getPathMembers(location);
- for (int j = 0; j < members.length; j++) {
- boolean found = false;
- try {
- found = processPluginPathFile(registry, new URL(location, members[j] + "/plugin.xml")); //$NON-NLS-1$
- if (!found)
- found = processPluginPathFile(registry, new URL(location, members[j] + "/fragment.xml")); //$NON-NLS-1$
- } catch (MalformedURLException e) {
- // Skip bad URLs
- }
- if (debug)
- debug(found ? "Processed - " : "Processed (not found) - " + members[j]); //$NON-NLS-1$ //$NON-NLS-2$
- }
- } else {
- // specific file entry - load the given file
- boolean found = processPluginPathFile(registry, location);
- if (debug)
- debug(found ? "Processed - " : "Processed (not found) - " + location); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
-/**
- * @return true if a file was found at the given location, and false otherwise.
- */
-private boolean processPluginPathFile(PluginRegistryModel registry, URL location) {
- PluginModel entry = processManifestFile(location);
- if (entry == null)
- return false;
- // Make sure all the required fields are here.
- // This prevents us from things like NullPointerExceptions
- // when we are assuming a field exists.
- if (!requiredPluginModel(entry, location)) {
- entry = null;
- return false;
- }
- entry.setVersion(getQualifiedVersion(entry, location)); // check for version qualifier
- if (entry instanceof PluginDescriptorModel) {
- if (entry.getId() == null || entry.getVersion() == null) {
- return parseProblem(Policy.bind("parse.nullPluginIdentifier", location.toString())); //$NON-NLS-1$
- }
- //skip duplicate entries
- if (registry.getPlugin(entry.getId(), entry.getVersion()) != null) {
- return parseProblem(Policy.bind("parse.duplicatePlugin", entry.getId(), location.toString())); //$NON-NLS-1$
- }
- registry.addPlugin((PluginDescriptorModel) entry);
- } else {
- if (entry.getId() == null || entry.getVersion() == null) {
- return parseProblem(Policy.bind("parse.nullFragmentIdentifier", location.toString())); //$NON-NLS-1$
- }
- if (entry instanceof PluginFragmentModel) {
- registry.addFragment((PluginFragmentModel) entry);
- } else {
- return parseProblem(Policy.bind("parse.unknownEntry", location.toString())); //$NON-NLS-1$
- }
- }
- String url = location.toString();
- url = url.substring(0, 1 + url.lastIndexOf('/'));
- entry.setRegistry(registry);
- entry.setLocation(url);
- InternalPlatform.addLastModifiedTime(location.getFile(), new File(location.getFile()).lastModified());
- return true;
-}
-private String getQualifiedVersion(PluginModel entry, URL base) {
- if (entry == null || entry.getVersion() == null || entry.getId() == null)
- return null;
-
- InputStream is = null;
- try {
- // check to see if we have buildmanifest.properties for this plugin
- URL manifest = null;
- manifest = new URL(base, "buildmanifest.properties"); //$NON-NLS-1$
- Properties props = new Properties();
- is = manifest.openStream();
- props.load(is);
-
- // lookup qualifier for this plugin and "morph" the identifier if needed
- String key = "plugin@"+entry.getId(); //$NON-NLS-1$
- String qualifier = props.getProperty(key);
- if (qualifier == null)
- return entry.getVersion();
- PluginVersionIdentifier v = new PluginVersionIdentifier(entry.getVersion());
- if (!v.getQualifierComponent().equals("")) //$NON-NLS-1$
- return entry.getVersion();
- else
- return (new PluginVersionIdentifier(v.getMajorComponent(), v.getMinorComponent(), v.getServiceComponent(), qualifier)).toString();
- } catch(Exception e) {
- return entry.getVersion();
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- // Don't throw anything back if the close fails
- }
- }
-}
-private boolean requiredPluginModel(PluginModel plugin, URL location) {
- String name = plugin.getName();
- String id = plugin.getId();
- String version = plugin.getVersion();
- int nameLength = name == null ? 0 : name.length();
- int idLength = id == null ? 0 : id.length();
- int versionLength = version == null ? 0 : version.length();
-
- if (nameLength <= 0) {
- parseProblem(Policy.bind("parse.missingPluginName", location.toString())); //$NON-NLS-1$
- return false;
- }
- if (idLength <= 0) {
- parseProblem(Policy.bind("parse.missingPluginId", location.toString())); //$NON-NLS-1$
- return false;
- }
- if (versionLength <= 0) {
- parseProblem(Policy.bind("parse.missingPluginVersion", location.toString())); //$NON-NLS-1$
- return false;
- }
-
- if (plugin instanceof PluginFragmentModel) {
- String pluginName = ((PluginFragmentModel)plugin).getPlugin();
- String pluginVersion = ((PluginFragmentModel)plugin).getPluginVersion();
- int pNameLength = pluginName == null ? 0 : pluginName.length();
- int pNameVersion = pluginVersion == null ? 0 : pluginVersion.length();
- if (pNameLength <= 0) {
- parseProblem(Policy.bind("parse.missingFPName", location.toString())); //$NON-NLS-1$
- return false;
- }
- if (pNameVersion <= 0) {
- parseProblem(Policy.bind("parse.missingFPVersion", location.toString())); //$NON-NLS-1$
- return false;
- }
- }
- return true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
deleted file mode 100644
index 880244d..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryResolver.java
+++ /dev/null
@@ -1,1335 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.plugins;
-
-import java.util.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-public class RegistryResolver {
-
- private Map idmap;
- private PluginRegistryModel reg;
- private MultiStatus status;
- private boolean trimPlugins = true;
- private boolean crossLink = true;
-
- private boolean DEBUG_RESOLVE = false;
- private static final String OPTION_DEBUG_RESOLVE = "org.eclipse.core.runtime/registry/debug/resolve"; //$NON-NLS-1$
-
- // constraint entry
- // A constraint is made for each relationship where 'parent' requires 'prq'.
- // ver is the version number we must try to match. It can be null if we just
- // want to match the latest.
- // cEntry points to the parent ConstraintsEntry element.
- private class Constraint {
- private PluginDescriptorModel parent;
- private PluginPrerequisiteModel prq;
- private PluginVersionIdentifier ver;
- private byte type = PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED;
- private ConstraintsEntry cEntry = null;
-
- private Constraint(PluginDescriptorModel parent, PluginPrerequisiteModel prq) {
- this.parent = parent;
- this.prq = prq;
- if (prq != null) {
- ver = RegistryResolver.this.getVersionIdentifier(prq);
- type = prq.getMatchByte();
- if ((ver != null) &&
- (type == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED))
- type = PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE;
- }
- }
-
- private int getMatchType() {
- return type;
- }
-
- private ConstraintsEntry getConstraintsEntry() {
- return cEntry;
- }
-
- private void setConstraintsEntry(ConstraintsEntry entry) {
- cEntry = entry;
- }
-
- private PluginDescriptorModel getParent() {
- return parent;
- }
-
- private PluginPrerequisiteModel getPrerequisite() {
- return prq;
- }
-
- private PluginVersionIdentifier getVersionIdentifier() {
- return ver;
- }
-
- public String toString() {
- if (prq == null)
- return "(null)"; //$NON-NLS-1$
- String s = parent.toString() + "->" + prq.getPlugin(); //$NON-NLS-1$
- switch (prq.getMatchByte()) {
- case PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED:
- s += "(any)"; //$NON-NLS-1$
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_PERFECT:
- s += IModel.PLUGIN_REQUIRES_MATCH_PERFECT;
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT:
- s += IModel.PLUGIN_REQUIRES_MATCH_EQUIVALENT;
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE:
- s += IModel.PLUGIN_REQUIRES_MATCH_COMPATIBLE;
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL:
- s += IModel.PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL;
- break;
- }
- return s;
- }
- }
-
- // constraint index structure
- // Each time an IndexEntry is created, a single ContraintsEntry
- // is created and put into the IndexEntry's concurrentList.
- // Note that the new ConstraintsEntry will always point
- // back to the IndexEntry it is associated with (parent).
- // A ConstraintsEntry holds a group of constraints that can be
- // resolved, without conflict for a particular plugin id. The
- // constraints are all of the form where another plugin id
- // requires some version of this plugin id as a prerequisite.
- private class ConstraintsEntry {
- private IndexEntry parent;
- private List constraintList = new LinkedList();
- // lastResolved doesn't seem to be used. Is it designed to
- // eliminate the numerous calls to find a matching plugin
- // descriptor? Calls to find a matching plugin descriptor
- // iterate through each version of this plugin and each
- // constraint in each ConstraintsEntry.
- private PluginDescriptorModel lastResolved = null;
- private boolean isResolved = false;
- private PluginDescriptorModel bestMatch = null;
- private boolean bestMatchEnabled = false;
-
- private ConstraintsEntry(IndexEntry parent) {
- // Create a new ConstraintsEntry and point 'parent'
- // back to the associated IndexEntry
- this.parent = parent;
- }
-
- private int constraintCount() {
- // Returns the number of Constraint entries in
- // constraintList. Initially this will be 0.
- return constraintList.size();
- }
-
- private PluginDescriptorModel addConstraint(Constraint c) {
- // Add this Constraint to the list of constraints
- // for this ConstraintsEntry. Note that while a
- // given ConstraintsEntry can have many Constraints,
- // any Constraint can have only one ConstraintsEntry.
- // This method will return a single plugin descriptor which
- // is the most recent descriptor which satisfies this
- // constraint.
- constraintList.add(c);
- c.setConstraintsEntry(this);
- // get all of the plugin descriptors which satisfy this
- // constraint and all other constraints in this ConstraintsEntry
- List constrained = getMatchingDescriptors();
- if (constrained.size() <= 0) {
- // looks like we have a conflict
- constraintList.remove(c);
- c.setConstraintsEntry(null);
- return null;
- } else {
- // match will be only the latest version plugin which
- // satisfies these constraints
- PluginDescriptorModel match = (PluginDescriptorModel) constrained.get(0);
- if (!match.equals(lastResolved)) {
- lastResolved = match;
- isResolved = false;
- }
- return match;
- }
- }
-
- private void removeConstraint(Constraint c) {
- if (DEBUG_RESOLVE)
- debug("removing constraint " + c.toString()); //$NON-NLS-1$
- constraintList.remove(c);
- c.setConstraintsEntry(null);
- lastResolved = null;
- isResolved = false;
- }
-
- private void removeConstraintFor(PluginPrerequisiteModel prereq) {
- List remove = new ArrayList();
- for (Iterator list = constraintList.iterator(); list.hasNext();) {
- Constraint c = (Constraint) list.next();
- if (c.getPrerequisite() == prereq)
- remove.add(c);
- }
- for (Iterator list = remove.iterator(); list.hasNext();)
- removeConstraint((Constraint) list.next());
- }
-
- private PluginDescriptorModel getMatchingDescriptor() {
- // We do this a lot. Can we use some mechanism to
- // hold the last matching descriptor and discard
- // it if the constraints change?
- List constrained = getMatchingDescriptors();
- if (constrained.size() <= 0)
- return null;
- else
- return (PluginDescriptorModel) constrained.get(0);
- }
-
- private List getMatchingDescriptors() {
- // The object of the game here is to return a list of plugin
- // descriptors that match the list of Constraint elements
- // hanging off this ConstraintsEntry.
-
- // constrained will be a list of matching plugin descriptors
- List constrained = new LinkedList();
-
- for (Iterator list = parent.versions().iterator(); list.hasNext();) {
- // parent is an IndexEntry and versions is a list of all the
- // plugin descriptors, in version order (biggest to smallest),
- // that have this plugin id.
- PluginDescriptorModel pd = (PluginDescriptorModel) list.next();
- if (pd.getEnabled())
- constrained.add(pd);
- }
- // constrained now contains all of the enabled plugin descriptors for
- // this IndexEntry. The next step is to remove any that don't fit.
-
- for (Iterator list = constraintList.iterator(); list.hasNext();) {
- // For each Constraint, go through all of the versions of this plugin
- // and remove any from 'constrained' which don't match the criteria
- // for this Constraint.
-
- // constraintList is all the Constraint entries for this ConstraintsEntry.
- Constraint c = (Constraint) list.next();
- if (c.getMatchType() == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED)
- continue;
- for (Iterator list2 = parent.versions().iterator(); list2.hasNext();) {
- PluginDescriptorModel pd = (PluginDescriptorModel) list2.next();
- if (!pd.getEnabled())
- // ignore disabled plugins
- continue;
- switch (c.getMatchType()) {
- case PluginPrerequisiteModel.PREREQ_MATCH_PERFECT:
- if (!getVersionIdentifier(pd).isPerfect(c.getVersionIdentifier()))
- constrained.remove(pd);
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT:
- if (!getVersionIdentifier(pd).isEquivalentTo(c.getVersionIdentifier()))
- constrained.remove(pd);
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE:
- if (!getVersionIdentifier(pd).isCompatibleWith(c.getVersionIdentifier()))
- constrained.remove(pd);
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL:
- if (!getVersionIdentifier(pd).isGreaterOrEqualTo(c.getVersionIdentifier()))
- constrained.remove(pd);
- break;
- }
- }
- }
-
- // At this point, constrained will contain only those plugin descriptors which
- // satisfy ALL of the Constraint entries.
-
- return constrained;
- }
-
- private void preresolve(List roots) {
- // All of the constraints that need to be added, have been. Now just
- // pick the plugin descriptor that is a best fit for all of these
- // constraints. Root nodes will not have any constraints (since nothing
- // requires this plugin as a prerequisite, by definition). For root
- // node, just pick up the latest version.
-
- if (constraintList.size() <= 0) {
- // This should be a root descriptor. So, just pick up the latest
- // version of the root.
- if (roots.contains(parent.getId())) {
- bestMatch = (PluginDescriptorModel) parent.versions().get(0);
- if (bestMatch == null) {
- if (DEBUG_RESOLVE)
- debug("*ERROR* no resolved descriptor for " + parent.getId()); //$NON-NLS-1$
- } else
- bestMatchEnabled = bestMatch.getEnabled();
- }
- } else {
- // If this isn't a root descriptor, get the latest version of the
- // plugin descriptor which matches all the constraints we have.
- // Pick the plugin that best matches all the constraints. Any
- // allowable conflicts will be in another ConstraintsEntry.
- bestMatch = getMatchingDescriptor();
- if (bestMatch == null) {
- if (DEBUG_RESOLVE)
- debug("*ERROR* no resolved descriptor for " + parent.getId()); //$NON-NLS-1$
- } else
- bestMatchEnabled = true;
- }
- }
-
- private void resolve() {
- // Assumptions: All constraints that need to be added, have been.
- // - preresolve (above) has been called and a bestMatch (if it
- // exists) has been identified
- // - all versions of this plugin have been disabled (so it is
- // up to this method to enable the plugin that is a bestMatch
- // for all of the constraints in this ConstraintsEntry).
- if (bestMatch != null) {
- // All of the versions of this plugin will have been disabled.
- // Enable only the one which is the best match.
- // bestMatchEnabled will be set to false if this particular plugin
- // caused an unresolvable conflict. Therefore, setEnabled(bestMatchEnabled)
- // will leave this delinquent plugin disabled.
- bestMatch.setEnabled(bestMatchEnabled);
- if (bestMatchEnabled) {
- if (DEBUG_RESOLVE)
- debug("configured " + bestMatch.toString()); //$NON-NLS-1$
- if (constraintList.size() > 0) {
- for (int i = 0; i < constraintList.size(); i++) {
- // Put which actual version this prerequisite resolved to in the
- // relevant prerequisite in the registry.
- PluginPrerequisiteModel prq = (PluginPrerequisiteModel) ((Constraint) constraintList.get(i)).getPrerequisite();
- prq.setResolvedVersion(getVersionIdentifier(bestMatch).toString());
- }
- }
- }
- }
- }
-
- private boolean isResolved() {
- return this.isResolved;
- }
- private void isResolved(boolean isResolved) {
- this.isResolved = isResolved;
- }
- }
-
- // plugin descriptor index structure
- // There is exactly one IndexEntry for each plugin id.
- // The actual plugin descriptor is an element of verList.
- // Multiple versions of this plugin id are found in verList
- // and are ordered from the highest version number (assumed
- // to be the most recent) to the lowest version number.
- // concurrentList contains a list of ConstraintsEntry's which
- // group constraints together into non-conflicting groups.
- private class IndexEntry {
- private String id;
- private List verList = new LinkedList();
- private List concurrentList = new ArrayList();
-
- private IndexEntry(String id) {
- this.id = id;
- // Create the first ConstraintsEntry with no constraints
- concurrentList.add(new ConstraintsEntry(this));
- }
-
- private String getId() {
- return id;
- }
-
- private ConstraintsEntry getConstraintsEntryFor(Constraint c) {
- // Each Constraint must have exactly one ConstraintsEntry but
- // a ConstraintsEntry may have many (non-conflicting) Constraints.
- ConstraintsEntry ce = c.getConstraintsEntry();
- if (ce != null)
- return ce;
- ce = (ConstraintsEntry) concurrentList.get(0);
- if (c.getPrerequisite() == null)
- c.setConstraintsEntry(ce);
- return ce;
- }
-
- private PluginDescriptorModel addConstraint(Constraint c) {
- int concurrentCount = concurrentList.size();
-
- // try to find constraits entry that can accommodate new constraint
- for (Iterator list = concurrentList.iterator(); list.hasNext();) {
- ConstraintsEntry cie = (ConstraintsEntry) list.next();
- PluginDescriptorModel pd = cie.addConstraint(c);
- // If pd comes back null, adding this constraint to the
- // ConstraintsEntry cie will cause a conflict (no plugin
- // descriptor can satisfy all the constraints).
- if (pd != null) {
-
- // constraint added OK and no concurrency
- if (concurrentCount <= 1)
- return pd;
-
- // constraint added OK but have concurrency
- if (allowConcurrencyFor(pd))
- return pd;
- else {
- cie.removeConstraint(c); // cannot be concurrent
- return null;
- }
- }
- }
-
- // If we get to this point, the constraint we are trying to add
- // gave us no matching plugins when used in conjunction with the
- // other constraints in a particular ConstraintsEntry. Add a
- // new ConstraintsEntry and put this constraint in it (only if
- // concurrency is allowed). Concurrency is allowed only if the
- // plugin we find which matches this constraint has no extensions
- // or extension points.
-
- // attempt to create new constraints entry
- ConstraintsEntry cie;
- PluginDescriptorModel pd;
-
- if (concurrentList.size() == 1) {
- // ensure base entry allows concurrency
- cie = (ConstraintsEntry) concurrentList.get(0);
- pd = cie.getMatchingDescriptor();
- if (!allowConcurrencyFor(pd))
- return null;
- }
-
- cie = new ConstraintsEntry(this);
- pd = cie.addConstraint(c);
- if (pd == null) {
- cie.removeConstraint(c); // no matching target
- return null;
- }
- if (!allowConcurrencyFor(pd)) {
- cie.removeConstraint(c); // cannot be concurrent
- return null;
- }
- if (DEBUG_RESOLVE)
- debug("creating new constraints list in " + id + " for " + c.toString()); //$NON-NLS-1$ //$NON-NLS-2$
- concurrentList.add(cie);
- return pd;
- }
-
- private boolean allowConcurrencyFor(PluginDescriptorModel pd) {
- if (pd == null)
- return false;
- if (pd.getDeclaredExtensions() != null && pd.getDeclaredExtensions().length > 0)
- return false;
- if (pd.getDeclaredExtensionPoints() != null && pd.getDeclaredExtensionPoints().length > 0)
- return false;
- return true;
- }
-
- private void removeConstraint(Constraint c) {
- ConstraintsEntry cie = getConstraintsEntryFor(c);
- cie.removeConstraint(c);
- if (concurrentList.get(0) != cie && cie.constraintCount() == 0)
- concurrentList.remove(cie);
- }
-
- private void removeConstraintFor(PluginPrerequisiteModel prereq) {
- for (Iterator list = concurrentList.iterator(); list.hasNext();)
- ((ConstraintsEntry) list.next()).removeConstraintFor(prereq);
- }
-
- private PluginDescriptorModel getMatchingDescriptorFor(Constraint c) {
- ConstraintsEntry cie = getConstraintsEntryFor(c);
- return cie.getMatchingDescriptor();
- }
-
- private void disableAllDescriptors() {
- for (Iterator list = verList.iterator(); list.hasNext();) {
- PluginDescriptorModel pd = (PluginDescriptorModel) list.next();
- pd.setEnabled(false);
- }
- }
-
- private void resolveDependencies(List roots) {
- // preresolved will pick out the plugin which has the highest version
- // number and satisfies all the constraints. This is then put in
- // bestMatch field of the ConstraintsEntry.
- for (Iterator list = concurrentList.iterator(); list.hasNext();)
- ((ConstraintsEntry) list.next()).preresolve(roots);
- // Now all versions of this plugin are disabled.
- disableAllDescriptors();
- // Now, find the best match (from preresolve above) and enable it.
- // Be sure to update any prerequisite entries with the version number
- // of the plugin we are actually using.
- for (Iterator list = concurrentList.iterator(); list.hasNext();)
- ((ConstraintsEntry) list.next()).resolve();
- }
- /**
- * A root plug-in does not have any constraints attached to it.
- */
- private boolean isRoot() {
- if (concurrentList.size() != 1)
- return false;
- ConstraintsEntry constraintsEntry = (ConstraintsEntry) concurrentList.get(0);
- return constraintsEntry.constraintCount() == 0;
- }
-
- private List versions() {
- return verList;
- }
-
- private boolean isResolvedFor(Constraint c) {
- ConstraintsEntry cie = getConstraintsEntryFor(c);
- return cie.isResolved();
- }
-
- private void isResolvedFor(Constraint c, boolean value) {
- ConstraintsEntry cie = getConstraintsEntryFor(c);
- cie.isResolved(value);
- }
-
- }
-
- // subtree resolution "cookie" (composite change list)
- private class Cookie {
- private boolean ok = true;
- private List changes = new ArrayList(); // a list of Constraints
-
- private Cookie() {
- }
-
- private boolean addChange(Constraint c) {
- // Keep a list of all constraints so that
- // - we can spot circular dependencies
- // - we can clean up if there is an unresolvable conflict
- PluginPrerequisiteModel prereq = c.getPrerequisite();
- for (Iterator list = changes.iterator(); list.hasNext();)
- if (prereq == ((Constraint)list.next()).getPrerequisite())
- // We have a circular dependency
- return false;
- changes.add(c);
- return true;
- }
-
- private List getChanges() {
- return changes;
- }
-
- private void clearChanges() {
- if (changes.size() >= 0)
- changes = new ArrayList();
- }
-
- private boolean isOk() {
- return ok;
- }
-
- private void isOk(boolean value) {
- ok = value;
- }
- }
-public RegistryResolver() {
- String debug = Platform.getDebugOption(OPTION_DEBUG_RESOLVE);
- DEBUG_RESOLVE = debug==null ? false : ( debug.equalsIgnoreCase("true") ? true : false ); //$NON-NLS-1$
-}
-private void add(PluginDescriptorModel pd) {
-
- String key = pd.getId();
- List verList;
- IndexEntry ix = (IndexEntry) idmap.get(key);
-
- // create new index entry if one does not exist for plugin
- if (ix == null) {
- ix = new IndexEntry(key);
- idmap.put(key, ix);
- }
-
- // insert plugin into list maintaining version order
- verList = ix.versions();
- int i = 0;
- for (i = 0; i < verList.size(); i++) {
- PluginDescriptorModel element = (PluginDescriptorModel) verList.get(i);
- if (getVersionIdentifier(pd).equals(getVersionIdentifier(element)))
- return; // ignore duplicates
- if (getVersionIdentifier(pd).isGreaterThan(getVersionIdentifier(element)))
- break;
- }
- verList.add(i, pd);
-}
-private void addExtensions(ExtensionModel[] extensions, PluginDescriptorModel plugin) {
- // Add all the extensions (presumably from a fragment) to plugin
- int extLength = extensions.length;
- for (int i = 0; i < extLength; i++) {
- extensions[i].setParentPluginDescriptor (plugin);
- }
- ExtensionModel[] list = plugin.getDeclaredExtensions();
- int listLength = (list == null ? 0 : list.length);
- ExtensionModel[] result = null;
- if (list == null)
- result = new ExtensionModel[extLength];
- else {
- result = new ExtensionModel[list.length + extLength];
- System.arraycopy(list, 0, result, 0, list.length);
- }
- System.arraycopy(extensions, 0, result, listLength, extLength);
- plugin.setDeclaredExtensions(result);
-}
-private void addExtensionPoints(ExtensionPointModel[] extensionPoints, PluginDescriptorModel plugin) {
- // Add all the extension points (presumably from a fragment) to plugin
- int extPtLength = extensionPoints.length;
- for (int i = 0; i < extPtLength; i++) {
- extensionPoints[i].setParentPluginDescriptor (plugin);
- }
- ExtensionPointModel[] list = plugin.getDeclaredExtensionPoints();
- int listLength = (list == null ? 0 : list.length);
- ExtensionPointModel[] result = null;
- if (list == null)
- result = new ExtensionPointModel[extPtLength];
- else {
- result = new ExtensionPointModel[list.length + extPtLength];
- System.arraycopy(list, 0, result, 0, list.length);
- }
- System.arraycopy(extensionPoints, 0, result, listLength, extPtLength);
- plugin.setDeclaredExtensionPoints(result);
-}
-private void addLibraries(LibraryModel[] libraries, PluginDescriptorModel plugin) {
- // Add all the libraries (presumably from a fragment) to plugin
- int libLength = libraries.length;
- LibraryModel[] list = plugin.getRuntime();
- LibraryModel[] result = null;
- int listLength = (list == null ? 0 : list.length);
- if (list == null)
- result = new LibraryModel[libLength];
- else {
- result = new LibraryModel[list.length + libLength];
- System.arraycopy(list, 0, result, 0, list.length);
- }
- System.arraycopy(libraries, 0, result, listLength, libLength);
- plugin.setRuntime(result);
-}
-private void addPrerequisites(PluginPrerequisiteModel[] prerequisites, PluginDescriptorModel plugin) {
- // Add all the prerequisites (presumably from a fragment) to plugin
- int reqLength = prerequisites.length;
- PluginPrerequisiteModel[] list = plugin.getRequires();
- PluginPrerequisiteModel[] result = null;
- int listLength = (list == null ? 0 : list.length);
- if (list == null)
- result = new PluginPrerequisiteModel[reqLength];
- else {
- result = new PluginPrerequisiteModel[list.length + reqLength];
- System.arraycopy(list, 0, result, 0, list.length);
- }
- System.arraycopy(prerequisites, 0, result, listLength, reqLength);
- plugin.setRequires(result);
-}
-private void debug(String s) {
- System.out.println("Registry Resolve: "+s); //$NON-NLS-1$
-}
-private void error(String message) {
- Status error = new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, message, null);
- status.add(error);
- if (InternalPlatform.DEBUG && DEBUG_RESOLVE)
- System.out.println(error.toString());
-}
-private void information(String message) {
- if (InternalPlatform.DEBUG && DEBUG_RESOLVE)
- System.out.println(message);
-}
-public IExtensionPoint getExtensionPoint(PluginDescriptorModel plugin, String extensionPointId) {
- if (extensionPointId == null)
- return null;
- ExtensionPointModel[] list = plugin.getDeclaredExtensionPoints();
- if (list == null)
- return null;
- for (int i = 0; i < list.length; i++) {
- if (extensionPointId.equals(list[i].getId()))
- return (IExtensionPoint) list[i];
- }
- return null;
-}
-private PluginVersionIdentifier getVersionIdentifier(PluginModel model) {
- try {
- return new PluginVersionIdentifier(model.getVersion());
- } catch (Throwable e) {
- // Hopefully, we will never get here. The version number
- // has already been successfully converted from a string to
- // a PluginVersionIdentifier and back to a string. But keep
- // this catch around in case something does go wrong.
- return new PluginVersionIdentifier("0.0.0"); //$NON-NLS-1$
- }
-}
-private PluginVersionIdentifier getVersionIdentifier(PluginPrerequisiteModel prereq) {
- String version = prereq.getVersion();
- return version == null ? null : new PluginVersionIdentifier(version);
-}
-private boolean fragmentHasPrerequisites (PluginFragmentModel fragment) {
- PluginPrerequisiteModel[] requires = fragment.getRequires();
- if (requires == null || requires.length == 0)
- return true;
- for (int i = 0; i < requires.length; i++) {
- // Use the idmap to determine if a plugin exists. We know
- // that all plugins in this registry already have an entry
- // in the idmap. If the right idmap entry doesn't exist,
- // this plugin is not in the registry.
- if (idmap.get(requires[i].getPlugin()) == null) {
- // We know this plugin doesn't exist
- error(Policy.bind("parse.badPrereqOnFrag", fragment.getName(), requires[i].getPlugin())); //$NON-NLS-1$
- return false;
- }
- }
- return true;
-}
-private void linkFragments() {
- /* For each fragment, find out which plugin descriptor it belongs
- * to and add it to the list of fragments in this plugin.
- */
- PluginFragmentModel[] fragments = reg.getFragments();
- for (int i = 0; i < fragments.length; i++) {
- PluginFragmentModel fragment = fragments[i];
- if (!requiredFragment(fragment)) {
- // There is a required field missing on this fragment, so
- // ignore it.
- String id, name;
- if ((id = fragment.getId()) != null)
- error (Policy.bind("parse.fragmentMissingAttr", id)); //$NON-NLS-1$
- else if ((name = fragment.getName()) != null)
- error (Policy.bind("parse.fragmentMissingAttr", name)); //$NON-NLS-1$
- else
- error (Policy.bind("parse.fragmentMissingIdName")); //$NON-NLS-1$
- continue;
- }
- if (!fragmentHasPrerequisites(fragment)) {
- // This fragment requires a plugin that does not
- // exist. Ignore the fragment.
- continue;
- }
-
- // Now find a plugin that fits the matching criteria specified for this fragment and
- // its related plugin
- PluginDescriptorModel plugin = null;
- IndexEntry ix = (IndexEntry) idmap.get(fragment.getPluginId());
- byte matchType = fragment.getMatch();
- if (ix != null) {
- for (Iterator list = ix.versions().iterator(); list.hasNext() && plugin == null;) {
- PluginDescriptorModel pd = (PluginDescriptorModel) list.next();
- if (pd.getEnabled()) {
- // return the highest version that fits the matching criteria
- switch (matchType) {
- case PluginFragmentModel.FRAGMENT_MATCH_PERFECT:
- if (getVersionIdentifier(pd).isPerfect(new PluginVersionIdentifier(fragment.getPluginVersion())))
- plugin = pd;
- break;
- case PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT:
- if (getVersionIdentifier(pd).isEquivalentTo(new PluginVersionIdentifier(fragment.getPluginVersion())))
- plugin = pd;
- break;
- case PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE:
- case PluginFragmentModel.FRAGMENT_MATCH_UNSPECIFIED:
- if (getVersionIdentifier(pd).isCompatibleWith(new PluginVersionIdentifier(fragment.getPluginVersion())))
- plugin = pd;
- break;
- case PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL:
- if (getVersionIdentifier(pd).isGreaterOrEqualTo(new PluginVersionIdentifier(fragment.getPluginVersion())))
- plugin = pd;
- break;
- }
- }
- }
- }
-
- if (plugin == null) {
- // We couldn't find this fragment's plugin
- error (Policy.bind("parse.missingFragmentPd", fragment.getPluginId(), fragment.getId())); //$NON-NLS-1$
- continue;
- }
-
- // Add this fragment to the list of fragments for this plugin descriptor
- PluginFragmentModel[] list = plugin.getFragments();
- PluginFragmentModel[] newList;
- if (list == null) {
- newList = new PluginFragmentModel[1];
- newList[0] = fragment;
- } else {
- newList = new PluginFragmentModel[list.length + 1];
- System.arraycopy(list, 0, newList, 0, list.length);
- newList[list.length] = fragment;
- }
- plugin.setFragments(newList);
- }
-}
-private void removeConstraintFor(PluginPrerequisiteModel prereq) {
-
- String id = prereq.getPlugin();
- IndexEntry ix = (IndexEntry) idmap.get(id);
- if (ix == null) {
- if (DEBUG_RESOLVE)
- debug("unable to locate index entry for " + id); //$NON-NLS-1$
- return;
- }
- ix.removeConstraintFor(prereq);
-}
-private void resolve() {
-
- // Start by putting each plugin in the idmap. We are
- // going to need this for the call to linkFragments.
- PluginDescriptorModel[] pluginList = reg.getPlugins();
- idmap = new HashMap();
- for (int i = 0; i < pluginList.length; i++) {
- // Check to see if all the required fields exist now.
- // For example, if we have a null plugin version identifier,
- // the add(pluginList[i]) will give a null pointer
- // exception.
- if (!requiredPluginDescriptor(pluginList[i])) {
- pluginList[i].setEnabled(false);
- String id, name;
- if ((id = pluginList[i].getId()) != null)
- error (Policy.bind("parse.pluginMissingAttr", id)); //$NON-NLS-1$
- else if ((name = pluginList[i].getName()) != null)
- error (Policy.bind("parse.pluginMissingAttr", name)); //$NON-NLS-1$
- else
- error (Policy.bind("parse.pluginMissingIdName")); //$NON-NLS-1$
- continue;
- }
- add(pluginList[i]);
- }
- // Add all the fragments to their associated plugin.
- // Note that this will check for all the required fields in
- // the fragment.
- linkFragments();
- // Now we have to cycle through the plugin list again
- // to assimilate all the fragment information and
- // check for 'required' fields.
- for (int i = 0; i < pluginList.length; i++) {
- if (pluginList[i].getFragments() != null) {
- // Take all the information in each fragment and
- // embed it in the plugin descriptor
- resolvePluginFragments(pluginList[i]);
- }
- }
-
- // resolve root descriptors
- List roots = resolveRootDescriptors();
-
- if (roots.size() == 0) {
- // No roots, likely due to a circular dependency
- // (or multiple circular dependencies). Disable
- // all plugins before returning. Remember to trim
- // the registry if needed.
- PluginDescriptorModel[] plugins = reg.getPlugins();
- for (int i = 0; i < plugins.length; i++) {
- plugins[i].setEnabled (false);
- }
- resolvePluginRegistry();
- idmap = null;
- reg = null;
- error(Policy.bind("plugin.unableToResolve")); //$NON-NLS-1$
- return;
- }
-
- // roots is a list of those plugin ids that are not a
- // prerequisite for any other plugin. Note that roots
- // contains ids only.
-
- // process all root nodes (first those previously on roots list, then those on the orphans set)
- // The orphans of an iteration will become the roots of the next one.
- for (Set orphans, rootsSet = new HashSet(roots); !rootsSet.isEmpty(); rootsSet = orphans) {
- orphans = new HashSet();
- // walk the dependencies and setup constraints
- for (Iterator rootsIter = rootsSet.iterator(); rootsIter.hasNext();) {
- String rootID = (String) rootsIter.next();
- resolveNode(rootID, null, null, null, orphans);
- // At this point we have set up all the Constraint and
- // ConstraintsEntry components. But we may not have found which
- // plugin is the best match for a given set of constraints.
- }
- // build the roots set for the next iteration
- for (Iterator orphansIter = orphans.iterator(); orphansIter.hasNext();) {
- IndexEntry orphan = (IndexEntry) idmap.get(orphansIter.next());
- // only after a complete iteration over the roots set we can decide if
- // a potential orphan is a real orphan
- // Now we need to resolve for these new roots (they may
- // not have been resolved before, especially if the parent
- // was looking for an older version and not the latest
- // version which is what we pick up for the roots).
- if (orphan.isRoot()) {
- if (DEBUG_RESOLVE)
- debug("orphan " + orphan.getId()); //$NON-NLS-1$
- roots.add(orphan.getId());
- } else
- orphansIter.remove();
- }
- }
-
- // resolve dependencies
- Iterator plugins = idmap.entrySet().iterator();
- while (plugins.hasNext()) {
- IndexEntry ix = (IndexEntry) ((Map.Entry) plugins.next()).getValue();
- // Now go off and find the plugin that matches the
- // constraints. Note that root plugins will always use the
- // latest version.
- ix.resolveDependencies(roots);
- }
-
- // walk down the registry structure and resolve links
- // between extensions and extension points
- resolvePluginRegistry();
-
- // unhook registry and index
- idmap = null;
- reg = null;
-}
-public IStatus resolve(PluginRegistryModel registry) {
- // This is the entry point to the registry resolver.
- // Calling this method, with a valid registry will
- // cause this registry to be 'resolved'.
-
- status = new MultiStatus(Platform.PI_RUNTIME, IStatus.OK, "", null); //$NON-NLS-1$
-
- if (registry.isResolved())
- // don't bother doing anything if it's already resolved
- return status;
-
- reg = registry;
- resolve();
- registry.markResolved();
- return status;
-}
-private void resolveExtension(ExtensionModel ext) {
-
- String target = ext.getExtensionPoint();
- int ix = target.lastIndexOf("."); //$NON-NLS-1$
- String pluginId = target.substring(0, ix);
- String extPtId = target.substring(ix + 1);
- String message;
-
- PluginDescriptorModel plugin = (PluginDescriptorModel) reg.getPlugin(pluginId);
- if (plugin == null) {
- message = Policy.bind("parse.extPointUnknown", target, ext.getParentPluginDescriptor().getId()); //$NON-NLS-1$
- error(message);
- return;
- }
- if (!plugin.getEnabled()) {
- message = Policy.bind("parse.extPointDisabled", target, ext.getParentPluginDescriptor().getId()); //$NON-NLS-1$
- error(message);
- return;
- }
-
- ExtensionPointModel extPt = (ExtensionPointModel) getExtensionPoint(plugin, extPtId);
- if (extPt == null) {
- message = Policy.bind("parse.extPointUnknown", target, ext.getParentPluginDescriptor().getId()); //$NON-NLS-1$
- error(message);
- return;
- }
-
- ExtensionModel[] oldValues = extPt.getDeclaredExtensions();
- ExtensionModel[] newValues = null;
- if (oldValues == null)
- newValues = new ExtensionModel[1];
- else {
- newValues = new ExtensionModel[oldValues.length + 1];
- System.arraycopy(oldValues, 0, newValues, 0, oldValues.length);
- }
- newValues[newValues.length - 1] = ext;
- extPt.setDeclaredExtensions(newValues);
-}
-private void resolveFragments() {
- PluginFragmentModel[] fragments = reg.getFragments();
- HashSet seen = new HashSet(5);
- for (int i = 0; i < fragments.length; i++) {
- PluginFragmentModel fragment = fragments[i];
- if (!requiredFragment(fragment))
- continue;
- if (seen.contains(fragment.getId()))
- continue;
- seen.add(fragment.getId());
- PluginDescriptorModel plugin = reg.getPlugin(fragment.getPluginId(), fragment.getPluginVersion());
- if (plugin == null)
- // XXX log something here?
- continue;
- resolvePluginFragments(plugin);
- }
-}
-private Cookie resolveNode(String child, PluginDescriptorModel parent, PluginPrerequisiteModel prq, Cookie cookie, Set orphans) {
- // This method is called recursively to setup dependency constraints.
- // Top invocation is passed null parent and null prerequisite.
- // We are trying to resolve for the plugin descriptor with id 'child'.
-
- if (DEBUG_RESOLVE)
- debug("PUSH> " + child); //$NON-NLS-1$
-
- if (cookie == null)
- cookie = new Cookie();
-
- // lookup child entry
- IndexEntry ix = (IndexEntry) idmap.get(child);
- // We should now have the IndexEntry for the plugin we
- // wish to resolve
- if (ix == null) {
- // If this is an optional prerequisite and not a root
- // node, we can just ignore this prerequisite if there
- // is no IndexEntry (as there is no corresponding plugin)
- // and continue processing.
- if (prq.getOptional() && parent != null && child != null)
- return cookie;
- if (parent != null)
- error(Policy.bind("parse.prereqDisabled", new String[] { parent.getId(), child })); //$NON-NLS-1$
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
- cookie.isOk(false);
- return cookie;
- }
-
- // try to add new dependency constraint
- Constraint currentConstraint = new Constraint(parent, prq);
- // A constraint will be added for each parent which requires us.
- PluginDescriptorModel childPd = null;
- if (parent != null) {
- childPd = ix.addConstraint(currentConstraint);
- if (childPd == null) {
- if (prq.getOptional()) {
- // This is an optional prerequisite. Ignore the conflict and this
- // prerequisite.
- orphans.add(ix.getId());
- information (Policy.bind("parse.unsatisfiedOptPrereq", parent.getId(), child)); //$NON-NLS-1$
- return cookie;
- } else {
- // This prerequisite is mandatory.
- String message = Policy.bind("parse.unsatisfiedPrereq", parent.getId(), child); //$NON-NLS-1$
- error(message);
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " unable to satisfy constraint"); //$NON-NLS-1$ //$NON-NLS-2$
- cookie.isOk(false);
- return cookie;
- }
- } else
- if (!cookie.addChange(currentConstraint)) {
- if (prq.getOptional()) {
- // This is an optional prerequisite. Ignore the loop, and the
- // prerequisite
- information (Policy.bind("parse.prereqOptLoop", parent.getId(), child)); //$NON-NLS-1$
- return cookie;
- } else {
- String message = Policy.bind("parse.prereqLoop", parent.getId(), child); //$NON-NLS-1$
- error(message);
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " prerequisite loop"); //$NON-NLS-1$ //$NON-NLS-2$
- cookie.isOk(false);
- return cookie;
- }
- }
- } else {
- // This is a root node. There is no prerequisite so this IndexEntry must
- // exist
- childPd = ix.getMatchingDescriptorFor(currentConstraint);
- if (childPd == null) {
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " not found (missing descriptor entry)"); //$NON-NLS-1$ //$NON-NLS-2$
- cookie.isOk(false);
- return cookie;
- }
- }
-
- // check to see if subtree is already resolved
- if (ix.isResolvedFor(currentConstraint)) {
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " already resolved"); //$NON-NLS-1$ //$NON-NLS-2$
- return cookie;
- }
-
- // select the subtree to resolve
- PluginPrerequisiteModel[] prereqs = childPd.getRequires();
- PluginPrerequisiteModel prereq;
- prereqs = prereqs == null ? new PluginPrerequisiteModel[0] : prereqs;
- for (int i = 0; cookie.isOk() && i < prereqs.length; i++) {
- prereq = (PluginPrerequisiteModel) prereqs[i];
- cookie = resolveNode(prereq.getPlugin(), childPd, prereq, cookie, orphans);
- }
-
- // if we failed, remove any constraints we added
- if (!cookie.isOk()) {
- Constraint cookieConstraint;
- for (Iterator change = cookie.getChanges().iterator(); change.hasNext();) {
- cookieConstraint = (Constraint) change.next();
- prereq = cookieConstraint.getPrerequisite();
- if (childPd == cookieConstraint.getParent()) {
- // keep track of orphaned subtrees
- if (!orphans.contains(prereq.getPlugin()) &&
- (idmap.get(prereq.getPlugin()) != null))
- orphans.add(prereq.getPlugin());
- }
- removeConstraintFor(prereq);
- }
- // Make sure you picked up all the orphaned subtrees
- // for this childPd
- for (int i = 0; i < prereqs.length; i++) {
- if (!orphans.contains(prereqs[i].getPlugin()) &&
- (idmap.get(prereqs[i].getPlugin()) != null))
- orphans.add(prereqs[i].getPlugin());
- }
- if (parent != null)
- error(Policy.bind("parse.prereqDisabled", parent.getId(), child)); //$NON-NLS-1$
- childPd.setEnabled(false);
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " failed to resolve subtree"); //$NON-NLS-1$ //$NON-NLS-2$
- return cookie;
- } else {
- // we're done
- ix.isResolvedFor(currentConstraint, true);
- if (DEBUG_RESOLVE)
- debug("<POP " + child + " " + getVersionIdentifier(childPd)); //$NON-NLS-1$ //$NON-NLS-2$
- return cookie;
- }
-}
-private void resolvePluginDescriptor(PluginDescriptorModel pd) {
- ExtensionModel[] list = pd.getDeclaredExtensions();
- if (list == null || list.length == 0 || !pd.getEnabled())
- // Can be disabled if all required attributes not present
- return;
- for (int i = 0; i < list.length; i++)
- resolveExtension((ExtensionModel) list[i]);
-}
-private void resolvePluginFragment(PluginFragmentModel fragment, PluginDescriptorModel plugin) {
- ExtensionModel[] extensions = fragment.getDeclaredExtensions();
- if (extensions != null)
- // Add all the fragment extensions to the plugin
- addExtensions(extensions, plugin);
-
- ExtensionPointModel[] points = fragment.getDeclaredExtensionPoints();
- if (points != null)
- // Add all the fragment extension points to the plugin
- addExtensionPoints(points, plugin);
-
- LibraryModel[] libraries = fragment.getRuntime();
- if (libraries != null)
- // Add all the fragment library entries to the plugin
- addLibraries(libraries, plugin);
-
- PluginPrerequisiteModel[] prerequisites = fragment.getRequires();
- if (prerequisites != null)
- // Add all the fragment prerequisites to the plugin
- addPrerequisites(prerequisites, plugin);
-}
-private void resolvePluginFragments(PluginDescriptorModel plugin) {
- /* For each fragment contained in the fragment list of this plugin,
- * apply all the fragment bits to the plugin (e.g. all of the fragment's
- * extensions are added to the list of extensions in the plugin). Be
- * sure to use only the latest version of any given fragment (in case
- * there are multiple versions of a given fragment id). So note that,
- * if there are multiple versions of a given fragment id, all but the
- * latest version will be discarded.
- */
-
- // The boolean 'dirty' will remain false if there is only one
- // version of every fragment id associated with this plugin
- boolean dirty = false;
-
- PluginFragmentModel[] fragmentList = plugin.getFragments();
- HashMap latestFragments = new HashMap(30);
- for (int i = 0; i < fragmentList.length; i++) {
- String fragmentId = fragmentList[i].getId();
- PluginFragmentModel latestVersion = (PluginFragmentModel)latestFragments.get(fragmentId);
- if (latestVersion == null) {
- // We don't have any fragments with this id yet
- latestFragments.put(fragmentId, fragmentList[i]);
- } else {
- dirty = true;
- if (getVersionIdentifier(fragmentList[i]).equals(getVersionIdentifier(latestVersion)))
- // ignore duplicates
- error (Policy.bind("parse.duplicateFragment", fragmentId, fragmentList[i].getVersion())); //$NON-NLS-1$
- if (getVersionIdentifier(fragmentList[i]).isGreaterThan(getVersionIdentifier(latestVersion))) {
- latestFragments.put(fragmentId, fragmentList[i]);
- }
- }
- }
-
- // latestFragments now contains the latest version of each fragment
- // id for this plugin
-
- // Now add the latest version of each fragment to the plugin
- Set latestOnly = new HashSet();
- for (Iterator list = latestFragments.values().iterator(); list.hasNext();) {
- PluginFragmentModel latestFragment = (PluginFragmentModel)list.next();
- if (dirty)
- latestOnly.add(latestFragment);
- resolvePluginFragment(latestFragment, plugin);
- }
- // Currently the fragments on the plugin include all fragment
- // versions. Now strip off all but the latest version of each
- // fragment id (only if necessary).
- if (dirty)
- plugin.setFragments((PluginFragmentModel[]) latestOnly.toArray(new PluginFragmentModel[latestOnly.size()]));
-
-}
-private void resolvePluginRegistry() {
- // filter out disabled plugins from "live" registry
- if (trimPlugins)
- trimRegistry();
-
- // resolve relationships
- if (crossLink) {
- // cross link all of the extensions and extension points.
- PluginDescriptorModel[] plugins = reg.getPlugins();
- for (int i = 0; i < plugins.length; i++)
- resolvePluginDescriptor(plugins[i]);
- }
-}
-private boolean requiredPluginDescriptor(PluginDescriptorModel plugin) {
- boolean retValue = true;
- retValue = plugin.getName() != null &&
- plugin.getId() != null &&
- plugin.getVersion() != null;
- if (!retValue)
- return retValue;
-
- PluginPrerequisiteModel[] requiresList = plugin.getRequires();
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
- LibraryModel[] libraryList = plugin.getRuntime();
- PluginFragmentModel[] fragments = plugin.getFragments();
-
- if (requiresList != null) {
- for (int i = 0; i < requiresList.length && retValue; i++) {
- retValue = retValue && requiredPrerequisite(requiresList[i]);
- }
- }
- if (extensions != null) {
- for (int i = 0; i < extensions.length && retValue; i++) {
- retValue = retValue && requiredExtension(extensions[i]);
- }
- }
- if (extensionPoints != null) {
- for (int i = 0; i < extensionPoints.length && retValue; i++) {
- retValue = retValue && requiredExtensionPoint(extensionPoints[i]);
- }
- }
- if (libraryList != null) {
- for (int i = 0; i < libraryList.length && retValue; i++) {
- retValue = retValue && requiredLibrary(libraryList[i]);
- }
- }
- if (fragments != null) {
- for (int i = 0; i < fragments.length && retValue; i++) {
- retValue = retValue && requiredFragment(fragments[i]);
- }
- }
-
- return retValue;
-}
-private boolean requiredPrerequisite (PluginPrerequisiteModel prerequisite) {
- return ((prerequisite.getPlugin() != null));
-}
-private boolean requiredExtension (ExtensionModel extension) {
- return (extension.getExtensionPoint() != null);
-}
-private boolean requiredExtensionPoint (ExtensionPointModel extensionPoint) {
- return ((extensionPoint.getName() != null) &&
- (extensionPoint.getId() != null));
-}
-private boolean requiredLibrary (LibraryModel library) {
- return (library.getName() != null);
-}
-private boolean requiredFragment (PluginFragmentModel fragment) {
- return ((fragment.getName() != null) &&
- (fragment.getId() != null) &&
- (fragment.getPlugin() != null) &&
- (fragment.getPluginVersion() != null) &&
- (fragment.getVersion() != null));
-}
-private List resolveRootDescriptors() {
-
- // Determine the roots of the dependency tree. Disable all
- // but one versions of the root descriptors.
-
- // get list of all plugin identifiers in the registry
- List ids = new ArrayList();
- ids.addAll(idmap.keySet());
-
- // ids is just a list of all the plugin id's
- // The following while loop will remove all id's that
- // appear in any prerequisite list.
-
- // iterate over the list eliminating targets of <requires> entries
- Iterator p = idmap.entrySet().iterator();
- while (p.hasNext()) {
- IndexEntry ix = (IndexEntry) ((Map.Entry) p.next()).getValue();
- if (ix != null) {
- List list = ix.versions();
- int ixSize = list.size();
- if (ixSize > 0) {
- // Remove any prerequisite mentioned in any version of this plugin
- for (int i = 0; i < ixSize; i++) {
- PluginDescriptorModel pd = (PluginDescriptorModel) list.get(i);
- PluginPrerequisiteModel[] prereqs = pd.getRequires();
- for (int j = 0; prereqs != null && j < prereqs.length; j++) {
- ids.remove(prereqs[j].getPlugin());
- }
- }
- }
- }
- }
-
- if (ids.size() > 0) {
- // disable all but the most recent version of root descriptors
- String id;
- p = ids.iterator();
- while (p.hasNext()) {
- id = (String) p.next();
- IndexEntry ix = (IndexEntry) idmap.get(id);
- if (ix != null) {
- List list = ix.versions();
- for (int i = 0; i < list.size(); i++) {
- PluginDescriptorModel pd = (PluginDescriptorModel) list.get(i);
- if (i == 0) {
- // Don't disable this one. It is the
- // one with the highest version number.
- if (DEBUG_RESOLVE)
- debug("root " + pd); //$NON-NLS-1$
- } else {
- // Disable all versions except the one with the
- // highest version number.
- if (DEBUG_RESOLVE)
- debug(" " + pd + " disabled"); //$NON-NLS-1$ //$NON-NLS-2$
- pd.setEnabled(false);
- }
- }
- }
- }
- } else {
- if (DEBUG_RESOLVE)
- debug("NO ROOTS"); //$NON-NLS-1$
- }
-
- return ids;
-}
-/**
- * Specifies whether extensions and extension points should be cross
- * linked during the resolve process.
- */
-public void setCrossLink(boolean value) {
- crossLink = value;
-}
-/**
- * Specified whether disabled plugins should to be removed when the resolve
- * is completed.
- */
-public void setTrimPlugins(boolean value) {
- trimPlugins = value;
-}
-private void trimRegistry() {
- PluginDescriptorModel[] list = reg.getPlugins();
- for (int i = 0; i < list.length; i++) {
- PluginDescriptorModel pd = (PluginDescriptorModel) list[i];
- if (!pd.getEnabled()) {
- if (DEBUG_RESOLVE)
- debug("removing " + pd.toString()); //$NON-NLS-1$
- reg.removePlugin(pd.getId(), pd.getVersion());
- }
- }
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java
deleted file mode 100644
index d713f9e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/plugins/RegistryWriter.java
+++ /dev/null
@@ -1,356 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.plugins;
-
-import org.eclipse.core.runtime.model.*;
-import java.io.PrintWriter;
-
-public class RegistryWriter {
-public RegistryWriter() {
- super();
-}
-public void writeConfigurationElement(ConfigurationElementModel configElement, PrintWriter w, int indent) {
- String element = configElement.getName();
- if (element == null)
- return;
-
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
- String gap2 = gap1;
- for (int i = 0; i < IModel.INDENT; i++)
- gap2 += " "; //$NON-NLS-1$
-
- w.print(gap1 + "<" + element); //$NON-NLS-1$
- ConfigurationPropertyModel[] propList = configElement.getProperties();
- int propSize = (propList == null) ? 0 : propList.length;
- for (int i = 0; i < propSize; i++)
- writeConfigurationProperty(propList[i], w, indent + IModel.INDENT);
-
- ConfigurationElementModel[] subElementList = configElement.getSubElements();
- int subElementSize = (subElementList == null) ? 0 : subElementList.length;
- if (configElement.getValue() == null && subElementSize == 0) {
- w.println("/>"); //$NON-NLS-1$
- return;
- }
- w.println(">"); //$NON-NLS-1$
-
- if (configElement.getValue() != null)
- w.println(gap2 + xmlSafe(configElement.getValue()));
- for (int i = 0; i < subElementSize; i++)
- writeConfigurationElement(subElementList[i], w, indent + IModel.INDENT);
-
- w.println(gap1 + "</" + element + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writeConfigurationProperty(ConfigurationPropertyModel configProp, PrintWriter w, int indent) {
- if (configProp.getName() == null)
- return;
- w.print(" " + xmlSafe(configProp.getName()) + "=\""); //$NON-NLS-1$ //$NON-NLS-2$
- if (configProp.getValue() != null)
- w.print(xmlSafe(configProp.getValue()));
- w.print("\""); //$NON-NLS-1$
-}
-public void writeExtension(ExtensionModel extension, PrintWriter w, int indent) {
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
-
- w.print(gap1 + "<" + IModel.EXTENSION); //$NON-NLS-1$
- if (extension.getExtensionPoint() != null)
- w.print(" " + IModel.EXTENSION_TARGET + "=\"" + xmlSafe(extension.getExtensionPoint()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (extension.getId() != null)
- w.print(" " + IModel.EXTENSION_ID + "=\"" + xmlSafe(extension.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (extension.getName() != null)
- w.print(" " + IModel.EXTENSION_NAME + "=\"" + xmlSafe(extension.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
- ConfigurationElementModel[] subElements = extension.getSubElements();
- int size = (subElements == null) ? 0 : subElements.length;
- if (size == 0) {
- w.println("/>"); //$NON-NLS-1$
- return;
- }
- w.println(">"); //$NON-NLS-1$
-
- for (int i = 0; i < size; i++)
- writeConfigurationElement(subElements[i], w, indent + IModel.INDENT);
-
- w.println(gap1 + "</" + IModel.EXTENSION + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writeExtensionPoint(ExtensionPointModel extPt, PrintWriter w, int indent) {
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
-
- w.print(gap1 + "<" + IModel.EXTENSION_POINT); //$NON-NLS-1$
- if (extPt.getId() != null)
- w.print(" " + IModel.EXTENSION_POINT_ID + "=\"" + xmlSafe(extPt.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (extPt.getName() != null)
- w.print(" " + IModel.EXTENSION_POINT_NAME + "=\"" + xmlSafe(extPt.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (extPt.getSchema() != null)
- w.print(" " + IModel.EXTENSION_POINT_SCHEMA + "=\"" + xmlSafe(extPt.getSchema()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- w.println("/>"); //$NON-NLS-1$
-}
-public void writeLibrary(LibraryModel library, PrintWriter w, int indent) {
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
- String gap2 = gap1;
- for (int i = 0; i < IModel.INDENT; i++)
- gap2 += " "; //$NON-NLS-1$
-
- w.print(gap1 + "<" + IModel.LIBRARY); //$NON-NLS-1$
- if (library.getName() != null)
- w.print(" " + IModel.LIBRARY_NAME + "=\"" + xmlSafe(library.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (library.getType() != null)
- w.print(" " + IModel.LIBRARY_TYPE + "=\"" + xmlSafe(library.getType()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (!library.isExported())
- w.println("/>"); //$NON-NLS-1$
- else {
- w.println(">"); //$NON-NLS-1$
- String[] exports = library.getExports();
- int size = (exports == null) ? 0 : exports.length;
- for (int i = 0; i < size; i++)
- w.println(gap2 + "<" + IModel.LIBRARY_EXPORT + " " + IModel.LIBRARY_EXPORT_MASK + "=\"" + xmlSafe(exports[i]) + "\"/>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- w.println(gap1 + "</" + IModel.LIBRARY + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-}
-public void writePluginDescriptor(PluginDescriptorModel plugin, PrintWriter w, int indent) {
-
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
- String gap2 = gap1;
- for (int i = 0; i < IModel.INDENT; i++)
- gap2 += " "; //$NON-NLS-1$
-
- w.println(""); //$NON-NLS-1$
- w.print(gap1 + "<" + IModel.PLUGIN); //$NON-NLS-1$
- if (plugin.getId() != null)
- w.print(" " + IModel.PLUGIN_ID + "=\"" + xmlSafe(plugin.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (plugin.getName() != null)
- w.print(" " + IModel.PLUGIN_NAME + "=\"" + xmlSafe(plugin.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (plugin.getProviderName() != null)
- w.print(" " + IModel.PLUGIN_PROVIDER + "=\"" + xmlSafe(plugin.getProviderName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (plugin.getVersion() != null)
- w.print(" " + IModel.PLUGIN_VERSION + "=\"" + xmlSafe(plugin.getVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (plugin.getPluginClass() != null)
- w.print(" " + IModel.PLUGIN_CLASS + "=\"" + xmlSafe(plugin.getPluginClass()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- w.println(">"); //$NON-NLS-1$
-
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- int reqSize = (requires == null) ? 0 : requires.length;
- if (reqSize != 0) {
- w.print(gap2 + "<" + IModel.PLUGIN_REQUIRES); //$NON-NLS-1$
- w.println(">"); //$NON-NLS-1$
- for (int i = 0; i < reqSize; i++)
- writePluginPrerequisite(requires[i], w, indent + 2 * IModel.INDENT);
- w.println(gap2 + "</" + IModel.PLUGIN_REQUIRES + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- LibraryModel[] runtime = plugin.getRuntime();
- int runtimeSize = (runtime == null) ? 0 : runtime.length;
- if (runtimeSize != 0) {
- w.println(gap2 + "<" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- for (int i = 0; i < runtimeSize; i++) {
- writeLibrary(runtime[i], w, indent + 2 * IModel.INDENT);
- }
- w.println(gap2 + "</" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
- int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
- if (extPointsSize != 0) {
- w.println(""); //$NON-NLS-1$
- for (int i = 0; i < extPointsSize; i++)
- writeExtensionPoint(extensionPoints[i], w, indent + IModel.INDENT);
- }
-
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- int extSize = (extensions == null) ? 0 : extensions.length;
- if (extSize != 0) {
- for (int i = 0; i < extSize; i++) {
- w.println(""); //$NON-NLS-1$
- writeExtension(extensions[i], w, indent + IModel.INDENT);
- }
- }
-
- // Don't write fragments here. If we do, XML won't be
- // able to parse what we write out. Fragments must be
- // entities separate from plugins.
- w.println(gap1 + "</" + IModel.PLUGIN + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writePluginFragment(PluginFragmentModel fragment, PrintWriter w, int indent) {
-
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
- String gap2 = gap1;
- for (int i = 0; i < IModel.INDENT; i++)
- gap2 += " "; //$NON-NLS-1$
-
- w.println(""); //$NON-NLS-1$
- w.print(gap1 + "<" + IModel.FRAGMENT); //$NON-NLS-1$
- if (fragment.getId() != null)
- w.print(" " + IModel.FRAGMENT_ID + "=\"" + xmlSafe(fragment.getId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fragment.getName() != null)
- w.print(" " + IModel.FRAGMENT_NAME + "=\"" + xmlSafe(fragment.getName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fragment.getProviderName() != null)
- w.print(" " + IModel.FRAGMENT_PROVIDER + "=\"" + xmlSafe(fragment.getProviderName()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fragment.getVersion() != null)
- w.print(" " + IModel.FRAGMENT_VERSION + "=\"" + xmlSafe(fragment.getVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fragment.getPluginId() != null)
- w.print(" " + IModel.FRAGMENT_PLUGIN_ID + "=\"" + xmlSafe(fragment.getPluginId()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fragment.getPluginVersion() != null)
- w.print(" " + IModel.FRAGMENT_PLUGIN_VERSION + "=\"" + xmlSafe(fragment.getPluginVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (fragment.getMatch() != PluginFragmentModel.FRAGMENT_MATCH_UNSPECIFIED) {
- switch (fragment.getMatch()) {
- case PluginFragmentModel.FRAGMENT_MATCH_PERFECT:
- w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_PERFECT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- case PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT:
- w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_EQUIVALENT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- case PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE:
- w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_COMPATIBLE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- case PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL:
- w.print(" " + IModel.FRAGMENT_PLUGIN_MATCH + "=\"" + IModel.FRAGMENT_PLUGIN_MATCH_GREATER_OR_EQUAL + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- }
- }
-
- w.println(">"); //$NON-NLS-1$
-
- PluginPrerequisiteModel[] requires = fragment.getRequires();
- int reqSize = (requires == null) ? 0 : requires.length;
- if (reqSize != 0) {
- w.print(gap2 + "<" + IModel.PLUGIN_REQUIRES); //$NON-NLS-1$
- w.println(">"); //$NON-NLS-1$
- for (int i = 0; i < reqSize; i++)
- writePluginPrerequisite(requires[i], w, indent + 2 * IModel.INDENT);
- w.println(gap2 + "</" + IModel.PLUGIN_REQUIRES + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- LibraryModel[] runtime = fragment.getRuntime();
- int runtimeSize = (runtime == null) ? 0 : runtime.length;
- if (runtimeSize != 0) {
- w.println(gap2 + "<" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- for (int i = 0; i < runtimeSize; i++) {
- writeLibrary(runtime[i], w, indent + 2 * IModel.INDENT);
- }
- w.println(gap2 + "</" + IModel.RUNTIME + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- }
-
- ExtensionPointModel[] extensionPoints = fragment.getDeclaredExtensionPoints();
- int extPointsSize = (extensionPoints == null) ? 0 : extensionPoints.length;
- if (extPointsSize != 0) {
- w.println(""); //$NON-NLS-1$
- for (int i = 0; i < extPointsSize; i++)
- writeExtensionPoint(extensionPoints[i], w, indent + IModel.INDENT);
- }
-
- ExtensionModel[] extensions = fragment.getDeclaredExtensions();
- int extSize = (extensions == null) ? 0 : extensions.length;
- if (extSize != 0) {
- for (int i = 0; i < extSize; i++) {
- w.println(""); //$NON-NLS-1$
- writeExtension(extensions[i], w, indent + IModel.INDENT);
- }
- }
-
- w.println(gap1 + "</" + IModel.FRAGMENT + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-}
-public void writePluginPrerequisite(PluginPrerequisiteModel req, PrintWriter w, int indent) {
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
-
- w.print(gap1 + "<" + IModel.PLUGIN_REQUIRES_IMPORT); //$NON-NLS-1$
- if (req.getPlugin() != null)
- w.print(" " + IModel.PLUGIN_REQUIRES_PLUGIN + "=\"" + xmlSafe(req.getPlugin()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (req.getVersion() != null)
- w.print(" " + IModel.PLUGIN_REQUIRES_PLUGIN_VERSION + "=\"" + xmlSafe(req.getVersion()) + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (req.getExport())
- w.print(" " + IModel.PLUGIN_REQUIRES_EXPORT + "=\"" + IModel.TRUE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- if (req.getOptional())
- w.print(" " + IModel.PLUGIN_REQUIRES_OPTIONAL + "=\"" + IModel.TRUE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- switch (req.getMatchByte()) {
- case PluginPrerequisiteModel.PREREQ_MATCH_PERFECT:
- w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_PERFECT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT:
- w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_EQUIVALENT + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE:
- w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_COMPATIBLE + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- case PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL:
- w.print(" " + IModel.PLUGIN_REQUIRES_MATCH + "=\"" + IModel.PLUGIN_REQUIRES_MATCH_GREATER_OR_EQUAL + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- break;
- }
- w.println("/>"); //$NON-NLS-1$
-}
-public void writePluginRegistry(PluginRegistryModel registry, PrintWriter w, int indent) {
- String gap1 = ""; //$NON-NLS-1$
- for (int i = 0; i < indent; i++)
- gap1 += " "; //$NON-NLS-1$
- w.println(gap1 + "<" + IModel.REGISTRY + ">"); //$NON-NLS-1$ //$NON-NLS-2$
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- for (int i = 0; i < pluginList.length; i++)
- writePluginDescriptor(pluginList[i], w, indent + IModel.INDENT);
-
- PluginFragmentModel[] fragmentList = registry.getFragments();
- for (int i = 0; i < fragmentList.length; i++)
- writePluginFragment(fragmentList[i], w, indent + IModel.INDENT);
-
- w.println(gap1 + "</" + IModel.REGISTRY + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-
-}
-private static void appendEscapedChar(StringBuffer buffer, char c) {
- String replacement = getReplacement(c);
- if (replacement != null) {
- buffer.append('&');
- buffer.append(replacement);
- buffer.append(';');
- } else {
- if ((c >= ' ' && c <= 0x7E) || c == '\n' || c == '\r' || c == '\t') {
- buffer.append(c);
- } else {
- buffer.append("&#"); //$NON-NLS-1$
- buffer.append(Integer.toString(c));
- buffer.append(';');
- }
- }
-}
-public static String xmlSafe(String s) {
- StringBuffer result = new StringBuffer(s.length() + 10);
- for (int i = 0; i < s.length(); ++i)
- appendEscapedChar(result, s.charAt(i));
- return result.toString();
-}
-private static String getReplacement(char c) {
- // Encode special XML characters into the equivalent character references.
- // These five are defined by default for all XML documents.
- switch (c) {
- case '<' :
- return "lt"; //$NON-NLS-1$
- case '>' :
- return "gt"; //$NON-NLS-1$
- case '"' :
- return "quot"; //$NON-NLS-1$
- case '\'' :
- return "apos"; //$NON-NLS-1$
- case '&' :
- return "amp"; //$NON-NLS-1$
- }
- return null;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java
deleted file mode 100644
index 6a2b783..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AdapterManager.java
+++ /dev/null
@@ -1,214 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.IAdapterFactory;
-import org.eclipse.core.runtime.IAdapterManager;
-
-/**
- * This class is a default implementation of <code>IAdapterManager</code>.
- * It provides fast lookup of property values with the following semantics:
- * <ul>
- * <li> At most one adapter will be invoked per property lookup
- * <li> If multiple installed adapters provide the same property, only
- * the first found in the search order is said to <i>define</i> the property
- * as it is the only adapter which will be invoked..
- * <li> The search order from a class with the definition<br>
- * <code>class X extends Y implements A, B</code><br>
- * is as follows:
- * <il>
- * <li>the target's class: X
- * <li>X's superclasses in order to <code>Object</code>
- * <li>a depth-first traversal of the target class's interaces in the order
- * returned by <code>getInterfaces</code> (in the example, A and
- * its superinterfaces then B and its superinterfaces)
- * </il>
- * </ul>
- *
- * @see IAdapter
- * @see IAdapterManager
- */
-public final class AdapterManager implements IAdapterManager {
-
- /** Table of factories, keyed by <code>Class</code>. */
- protected Hashtable factories;
-
- /** Cache of adapter search paths; <code>null</code> if none. */
- protected Hashtable lookup;
-/** Constructs a new extender manager.
- */
-public AdapterManager() {
- factories = new Hashtable(5);
- lookup = null;
-}
-/**
- * Given a list of types, add all of the property entries for the installed
- * extenders into the lookupTable. Each entry will be keyed by the property
- * identifier (supplied in IExtender.getPropertyList) and the extender
- * supplying that property.
- */
-private void addFactoriesFor(Vector types, Hashtable lookupTable) {
- for (Enumeration classes = types.elements(); classes.hasMoreElements();) {
- Class clazz = (Class) classes.nextElement();
- Vector factoryList = (Vector) factories.get(clazz);
- if (factoryList == null)
- continue;
- for (Enumeration list = factoryList.elements(); list.hasMoreElements();) {
- IAdapterFactory factory = (IAdapterFactory) list.nextElement();
- Object[] adapters = factory.getAdapterList();
- for (int i = 0; i < adapters.length; i++) {
- Object adapter = adapters[i];
- if (lookupTable.get(adapter) == null)
- lookupTable.put(adapter, factory);
- }
- }
- }
-}
-/**
- * Returns the class search order starting with <code>extensibleClass</code>.
- * The search order is defined in this class' comment.
- */
-private Vector computeClassOrder(Class extensibleClass) {
- Vector result = new Vector(4);
- Class clazz = extensibleClass;
- while (clazz != null) {
- result.addElement(clazz);
- clazz = clazz.getSuperclass();
- }
- return result;
-}
-/**
- * Returns the interface search order for the class hierarchy described
- * by <code>classList</code>.
- * The search order is defined in this class' comment.
- */
-private Vector computeInterfaceOrder(Vector classList) {
- Vector result = new Vector(4);
- Hashtable seen = new Hashtable(4);
- for (Enumeration list = classList.elements(); list.hasMoreElements();) {
- Class[] interfaces = ((Class) list.nextElement()).getInterfaces();
- internalComputeInterfaceOrder(interfaces, result, seen);
- }
- return result;
-}
-/**
- * Flushes the cache of extender search paths. This is generally required
- * whenever an extender is added or removed.
- * <p>
- * It is likely easier to just toss the whole cache rather than trying to be
- * smart and remove only those entries affected.
- * </p>
- */
-public void flushLookup() {
- lookup = null;
-}
-/*
- * @see IAdapterManager#getAdapter
- */
-public Object getAdapter(Object object, Class target) {
- IAdapterFactory factory = getFactory(object.getClass(), target);
- Object result = null;
- if (factory != null)
- result = factory.getAdapter(object, target);
- if (result == null && target.isInstance(object))
- return object;
- return result;
-}
-/**
- * Gets the extender installed for objects of class <code>extensibleClass</code>
- * which defines the property identified by <code>key</code>. If no such
- * extender exists, returns null.
- */
-private IAdapterFactory getFactory(Class extensibleClass, Class adapter) {
- Hashtable table;
- // check the cache first.
- if (lookup != null) {
- table = (Hashtable) lookup.get(extensibleClass);
- if (table != null)
- return (IAdapterFactory) table.get(adapter);
- }
- // Its not in the cache so we have to build the extender table for this class.
- // The table is keyed by property identifier. The
- // value is the <b>sole<b> extender which defines that property. Note that if
- // if multiple extenders technically define the same property, only the first found
- // in the search order is considered.
- table = new Hashtable(4);
- // get the list of all superclasses and add the extenders installed for each
- // of those classes to the table.
- Vector classList = computeClassOrder(extensibleClass);
- addFactoriesFor(classList, table);
- // get the ordered set of all interfaces for the extensible class and its
- // superclasses and add the extenders installed for each
- // of those interfaces to the table.
- classList = computeInterfaceOrder(classList);
- addFactoriesFor(classList, table);
- //cache the table and do the lookup again.
- if (lookup == null)
- lookup = new Hashtable(5);
- lookup.put(extensibleClass, table);
- return (IAdapterFactory) table.get(adapter);
-}
-private void internalComputeInterfaceOrder(Class[] interfaces, Vector result, Hashtable seen) {
- Vector newInterfaces = new Vector(seen.size());
- for (int i = 0; i < interfaces.length; i++) {
- Class interfac = interfaces[i];
- if (seen.get(interfac) == null) {
- result.addElement(interfac);
- seen.put(interfac, interfac);
- newInterfaces.addElement(interfac);
- }
- }
- for (Enumeration newList = newInterfaces.elements(); newList.hasMoreElements();)
- internalComputeInterfaceOrder(((Class) newList.nextElement()).getInterfaces(), result, seen);
-}
-/*
- * @see IAdapterManager#registerAdapters
- */
-public void registerAdapters(IAdapterFactory factory, Class extensibleType) {
- Vector list = (Vector) factories.get(extensibleType);
- if (list == null) {
- list = new Vector(5);
- factories.put(extensibleType, list);
- }
- list.addElement(factory);
- flushLookup();
-}
-/*
- * @see IAdapterManager#unregisterAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory) {
- for (Enumeration enum = factories.elements(); enum.hasMoreElements();) {
- Vector list = (Vector) enum.nextElement();
- list.removeElement(factory);
- }
- flushLookup();
-}
-/*
- * @see IAdapterManager#unregisterAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory, Class extensibleType) {
- Vector factoryList = (Vector) factories.get(extensibleType);
- if (factoryList == null)
- return;
- factoryList.removeElement(factory);
- flushLookup();
-}
-/*
- * @see IAdapterManager#unregisterAllAdapters
- */
-public void unregisterAllAdapters() {
- factories = new Hashtable(5);
- flushLookup();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java
deleted file mode 100644
index 6ed761c..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Assert.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-/**
- * <code>Assert</code> is useful for for embedding runtime sanity checks
- * in code.
- * The predicate methods all test a condition and throw some
- * type of unchecked exception if the condition does not hold.
- * <p>
- * Assertion failure exceptions, like most runtime exceptions, are
- * thrown when something is misbehaving. Assertion failures are invariably
- * unspecified behavior; consequently, clients should never rely on
- * these being thrown (and certainly should not being catching them
- * specifically).
- * </p>
- */
-public final class Assert {
-/* This class is not intended to be instantiated. */
-private Assert() {
-}
-/** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
-public static boolean isLegal(boolean expression) {
- return isLegal(expression, ""); //$NON-NLS-1$
-}
-/** Asserts that an argument is legal. If the given boolean is
- * not <code>true</code>, an <code>IllegalArgumentException</code>
- * is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- * @exception IllegalArgumentException if the legality test failed
- */
-public static boolean isLegal(boolean expression, String message) {
- if (!expression)
- throw new IllegalArgumentException(message);
- return expression;
-}
-/** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- *
- * @param object the value to test
- * @exception IllegalArgumentException if the object is <code>null</code>
- */
-public static void isNotNull(Object object) {
- isNotNull(object, ""); //$NON-NLS-1$
-}
-/** Asserts that the given object is not <code>null</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param object the value to test
- * @param message the message to include in the exception
- * @exception IllegalArgumentException if the object is <code>null</code>
- */
-public static void isNotNull(Object object, String message) {
- if (object == null)
- throw new AssertionFailedException("null argument:" + message); //$NON-NLS-1$
-}
-/** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- *
- * @param expression the outcode of the check
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- */
-public static boolean isTrue(boolean expression) {
- return isTrue(expression, ""); //$NON-NLS-1$
-}
-/** Asserts that the given boolean is <code>true</code>. If this
- * is not the case, some kind of unchecked exception is thrown.
- * The given message is included in that exception, to aid debugging.
- *
- * @param expression the outcode of the check
- * @param message the message to include in the exception
- * @return <code>true</code> if the check passes (does not return
- * if the check fails)
- */
-public static boolean isTrue(boolean expression, String message) {
- if (!expression)
- throw new AssertionFailedException("assertion failed: "+message); //$NON-NLS-1$
- return expression;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java
deleted file mode 100644
index 2e3fe16..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AssertionFailedException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-/**
- * <code>AssertionFailedException</code> is a runtime exception thrown
- * by some of the methods in <code>Assert</code>.
- * <p>
- * This class is not declared public to prevent some misuses; programs that catch
- * or otherwise depend on assertion failures are susceptible to unexpected
- * breakage when assertions in the code are added or removed.
- * </p>
- */
-/* package */
-class AssertionFailedException extends RuntimeException {
-/** Constructs a new exception.
- */
-public AssertionFailedException() {
-}
-/** Constructs a new exception with the given message.
- */
-public AssertionFailedException(String detail) {
- super(detail);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java
deleted file mode 100644
index efd841d..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/AuthorizationDatabase.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-/**
- * A database that remembers information, such as usernames and
- * passwords. The information is stored in memory and can be saved
- * to disk in an encrypted format. While the API is phrased in terms of
- * URLs, realms and authentication schemes, not all of these must have
- * significant values. For example, if "realm" is not relevant to a
- * particular application, it can be left blank (though not
- * <code>null</code>).
- */
-public class AuthorizationDatabase {
- /**
- * Version number for the format of the keyring file.
- */
- private static final int KEYRING_FILE_VERSION = 1;
- /**
- * A nested hashtable that stores authorization information. The
- * table maps server URLs to realms to authentication schemes to
- * authorization information.
- */
- private Hashtable authorizationInfo = new Hashtable(5);
-
- /**
- * A hashtable mapping resource URLs to realms.
- */
- private Hashtable protectionSpace = new Hashtable(5);
-
- private File file = null;
- private String password = null;
- private boolean needsSaving = true;
-/**
- * Creates a new authorization database whose data cannot be saved to
- * disk.
- */
-public AuthorizationDatabase() {
-}
-/**
- * Creates a new authorization database, or opens an existing one, whose
- * data is, or can be, saved to a file with the given filename. A
- * password must be given to create a new database and an existing
- * database is opened by supplying the password that was given to create
- * it.
- *
- * @param filename the location of the database on disk. For example,
- * "c:/temp/database"
- * @param password the password to access the database. For example,
- * "secret"
- * @exception Exception if there are problems creating the database.
- * Reasons include:
- * <ul>
- * <li>The database could not be opened because the wrong password was given.
- * <li>The database could not be opened because the specified file is corrupt.
- * </ul>
- */
-public AuthorizationDatabase(String filename, String password) throws CoreException {
- Assert.isNotNull(filename);
- Assert.isNotNull(password);
- this.password = password;
- file = new File(filename);
- load();
-}
-/**
- * Adds the given authorization information to the database. The
- * information is relevant for the specified protection space and the
- * given authorization scheme. The protection space is defined by the
- * combination of the given server URL and realm. The authorization
- * scheme determines what the authorization information contains and how
- * it should be used. The authorization information is a <code>Map</code>
- * of <code>String</code> to <code>String</code> and typically
- * contain information such as usernames and passwords.
- *
- * @param serverUrl the URL identifying the server for this authorization
- * information. For example, "http://www.hostname.com/".
- * @param realm the subsection of the given server to which this
- * authorization information applies. For example,
- * "realm1@hostname.com" or "" for no realm.
- * @param authScheme the scheme for which this authorization information
- * applies. For example, "Basic" or "" for no authorization scheme
- * @param info a <code>Map</code> containing authorization information
- * such as usernames and passwords
- */
-public void addAuthorizationInfo(URL serverUrl, String realm, String authScheme, Map info){
- Assert.isNotNull(serverUrl);
- Assert.isNotNull(realm);
- Assert.isNotNull(authScheme);
- Assert.isNotNull(info);
-
- String url = serverUrl.toString();
- Hashtable realmToAuthScheme = (Hashtable)authorizationInfo.get(url);
- if(realmToAuthScheme == null){
- realmToAuthScheme = new Hashtable(5);
- authorizationInfo.put(url, realmToAuthScheme);
- }
-
- Hashtable authSchemeToInfo = (Hashtable)realmToAuthScheme.get(realm);
- if(authSchemeToInfo == null){
- authSchemeToInfo = new Hashtable(5);
- realmToAuthScheme.put(realm, authSchemeToInfo);
- }
-
- authSchemeToInfo.put(authScheme.toLowerCase(), info);
- needsSaving = true;
-}
-/**
- * Adds the specified resource to the protection space specified by the
- * given realm. All resources at or deeper than the depth of the last
- * symbolic element in the path of the given resource URL are assumed to
- * be in the same protection space.
- *
- * @param resourceUrl the URL identifying the resources to be added to
- * the specified protection space. For example,
- * "http://www.hostname.com/folder/".
- * @param realm the name of the protection space. For example,
- * "realm1@hostname.com"
- */
-public void addProtectionSpace(URL resourceUrl, String realm){
- Assert.isNotNull(resourceUrl);
- Assert.isNotNull(realm);
-
- String file = resourceUrl.getFile();
- if(!file.endsWith("/")){ //$NON-NLS-1$
- resourceUrl = URLTool.getParent(resourceUrl);
- }
-
- String oldRealm = getProtectionSpace(resourceUrl);
- if(oldRealm != null && oldRealm.equals(realm)){
- return;
- }
-
- String url1 = resourceUrl.toString();
- Enumeration urls = protectionSpace.keys();
- while(urls.hasMoreElements()){
- String url2 = (String)urls.nextElement();
- if(url1.startsWith(url2) || url2.startsWith(url1)){
- protectionSpace.remove(url2);
- break;
- }
- }
-
- protectionSpace.put(url1, realm);
- needsSaving = true;
-}
-/**
- * Removes the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm.
- *
- * @param serverUrl the URL identifying the server to remove the
- * authorization information for. For example,
- * "http://www.hostname.com/".
- * @param realm the subsection of the given server to remove the
- * authorization information for. For example,
- * "realm1@hostname.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- * to remove applies. For example, "Basic" or "" for no
- * authorization scheme.
- */
-public void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) {
- Hashtable realmToAuthScheme = (Hashtable)authorizationInfo.get(serverUrl.toString());
-
- if(realmToAuthScheme == null){
- return;
- }
-
- Hashtable authSchemeToInfo = (Hashtable)realmToAuthScheme.get(realm);
-
- if(authSchemeToInfo == null){
- return;
- }
-
- authSchemeToInfo.remove(authScheme.toLowerCase());
-
- needsSaving = true;
-}
-/**
- * Returns the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm. Returns <code>null</code> if no
- * such information exists.
- *
- * @param serverUrl the URL identifying the server for the authorization
- * information. For example, "http://www.hostname.com/".
- * @param realm the subsection of the given server to which the
- * authorization information applies. For example,
- * "realm1@hostname.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- * applies. For example, "Basic" or "" for no authorization scheme
- * @return the authorization information for the specified protection
- * space and given authorization scheme, or <code>null</code> if no
- * such information exists
- */
-public Map getAuthorizationInfo(URL serverUrl, String realm, String authScheme){
- Hashtable realmToAuthScheme = (Hashtable)authorizationInfo.get(serverUrl.toString());
- if(realmToAuthScheme == null){
- return null;
- }
-
- Hashtable authSchemeToInfo = (Hashtable)realmToAuthScheme.get(realm);
- if(authSchemeToInfo == null){
- return null;
- }
-
- return (Map)authSchemeToInfo.get(authScheme.toLowerCase());
-}
-/**
- * Returns the protection space (realm) for the specified resource, or
- * <code>null</code> if the realm is unknown.
- *
- * @param resourceUrl the URL of the resource whose protection space is
- * returned. For example, "http://www.hostname.com/folder/".
- * @return the protection space (realm) for the specified resource, or
- * <code>null</code> if the realm is unknown
- */
-public String getProtectionSpace(URL resourceUrl){
- while(resourceUrl != null){
- String realm = (String)protectionSpace.get(resourceUrl.toString());
- if(realm != null){
- return realm;
- }
- resourceUrl = URLTool.getParent(resourceUrl);
- }
-
- return null;
-}
-private void load() throws CoreException {
- if (file == null)
- return;
- if (!file.exists()) {
- save();
- return;
- }
- try {
- InputStream input = new FileInputStream(file);
- try {
- load(input);
- } finally {
- input.close();
- }
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR,Platform.PI_RUNTIME,Platform.FAILED_READ_METADATA,Policy.bind("meta.unableToReadAuthorization",file.toString()),e)); //$NON-NLS-1$
- } catch (ClassNotFoundException e) {
- throw new CoreException(new Status(IStatus.ERROR,Platform.PI_RUNTIME,Platform.FAILED_READ_METADATA,Policy.bind("meta.unableToReadAuthorization",file.toString()),e)); //$NON-NLS-1$
- }
-}
-private void load(InputStream is) throws IOException, ClassNotFoundException, CoreException {
- //try to read the file version number. Pre 2.0 versions had no number
- int version = is.read();
- if (version == KEYRING_FILE_VERSION) {
- //read the authorization data
- CipherInputStream cis = new CipherInputStream(is, password);
- ObjectInputStream ois = new ObjectInputStream(cis);
- try {
- authorizationInfo = (Hashtable) ois.readObject();
- protectionSpace = (Hashtable) ois.readObject();
- } finally {
- ois.close();
- }
- } else {
- //the format has changed, just log a warning
- InternalPlatform.log(new Status(
- IStatus.WARNING,
- Platform.PI_RUNTIME,
- Platform.FAILED_READ_METADATA,
- Policy.bind("meta.authFormatChanged"), //$NON-NLS-1$
- null));
- //close the stream and save a new file in the correct format
- try {
- is.close();
- } catch (IOException e) {
- //ignore failure to close
- }
- needsSaving = true;
- save();
- }
-}
-/**
- * Saves the authorization database to disk.
- */
-public void save() throws CoreException {
- if (!needsSaving || file == null)
- return;
- try {
- file.delete();
- file.createNewFile();
- FileOutputStream out = new FileOutputStream(file);
- try {
- save(out);
- } finally {
- out.close();
- }
- } catch (IOException e) {
- throw new CoreException(new Status(IStatus.ERROR,Platform.PI_RUNTIME,Platform.FAILED_WRITE_METADATA,Policy.bind("meta.unableToWriteAuthorization",file.toString()),e)); //$NON-NLS-1$
- }
- needsSaving = false;
-}
-private void save(OutputStream os) throws IOException {
- //write the version number
- os.write(KEYRING_FILE_VERSION);
-
- CipherOutputStream cos = new CipherOutputStream(os, password);
- ObjectOutputStream oos = new ObjectOutputStream(cos);
- //write the data
- try {
- oos.writeObject(authorizationInfo);
- oos.writeObject(protectionSpace);
- } finally {
- oos.close();
- }
-}
-/**
- * Sets the password to use for accessing this database. If the database
- * is subsequently saved, this new password is used.
- */
-public boolean setPassword(String oldValue, String newValue) {
- if (!oldValue.equals(password))
- return false;
- password = newValue;
- needsSaving = true;
- return true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java
deleted file mode 100644
index 39db531..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Cipher.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial implementation
- ******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.UnsupportedEncodingException;
-import java.security.MessageDigest;
-import java.util.Random;
-
-/**
- * <P>Encrypts or decrypts a sequence of bytes. The bytes are decrypted
- * by supplying the same password that was given when the bytes were
- * encrypted.
- * <P>Here is an example showing how to encrypt and then decrypt the
- * string "Hello, world!" using the password "music":
- * <pre>
- * String password = "music";
- * byte[] data = "Hello, world!".getBytes("UTF8");
- *
- * // Encrypt
- * Cipher cipher = new Cipher(ENCRYPT_MODE, password);
- * byte[] encrypted = cipher.cipher(data);
- *
- * // Decrypt
- * cipher = new Cipher(DECRYPT_MODE, password);
- * byte[] decrypted = cipher.cipher(encrypted);
- * </pre>
- */
-public class Cipher {
- public static final int DECRYPT_MODE = -1;
- public static final int ENCRYPT_MODE = 1;
- private static final int RANDOM_SIZE = 16;
-
- private int mode = 0;
- private byte[] password = null;
-
- //the following fields are used for generating a secure byte stream
- //used by the decryption algorithm
- private byte[] byteStream;
- private int byteStreamOffset;
- private MessageDigest digest;
- private Random random;
- private final byte[] toDigest;
-/**
- * Initializes the cipher with the given mode and password. This method
- * must be called first (before any encryption of decryption takes
- * place) to specify whether the cipher should be in encrypt or decrypt
- * mode and to set the password.
- *
- * @param mode
- * @param password
- */
-public Cipher (int mode, String passwordString){
- this.mode = mode;
- try {
- this.password = passwordString.getBytes("UTF8");//$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- this.password = passwordString.getBytes();
- }
- toDigest = new byte[password.length+RANDOM_SIZE];
-}
-/**
- * Encrypts or decrypts (depending on which mode the cipher is in) the
- * given data and returns the result.
- *
- * @param data
- * @return the result of encrypting or decrypting the given data
- */
-public byte[] cipher(byte[] data) throws Exception {
- return transform(data, 0, data.length, mode);
-}
-/**
- * Encrypts or decrypts (depending on which mode the cipher is in) the
- * given data and returns the result.
- *
- * @param data the byte array containg the given data
- * @param off the index of the first byte in the given byte array
- * to be transformed
- * @param len the number of bytes to be transformed
- * @return the result of encrypting or decrypting the given data
- */
-public byte[] cipher(byte[] data, int off, int len) throws Exception {
- return transform(data, off, len, mode);
-}
-/**
- * Encrypts or decrypts (depending on which mode the cipher is in) the
- * given byte and returns the result.
- *
- * @param datum the given byte
- * @return the result of encrypting or decrypting the given byte
- */
-public byte cipher(byte datum) throws Exception {
- byte[] data = { datum };
- return cipher(data)[0];
-}
-/**
- * Generates a secure stream of bytes based on the input seed.
- * This routine works by combining the input seed with random bytes
- * generated by a random number generator, and then computing the
- * SHA-1 hash of those bytes.
- */
-private byte[] generateBytes() throws Exception {
- if (digest == null) {
- digest = MessageDigest.getInstance("SHA"); //$NON-NLS-1$
- //also seed random number generator based on password
- long seed = 0;
- for (int i = 0; i < password.length; i++)
- //this function is known to give good hash distribution for character data
- seed = (seed * 37) + password[i];
- random = new Random(seed);
- }
- //add random bytes to digest array
- random.nextBytes(toDigest);
-
- //overlay password onto digest array
- System.arraycopy(password, 0, toDigest, 0, password.length);
-
- //compute and return SHA-1 hash of digest array
- return digest.digest(toDigest);
-}
-/**
- * Returns a stream of cryptographically secure bytes of the given length.
- * The result is deterministically based on the input seed (password).
- */
-private byte[] nextRandom(int length) throws Exception {
- byte[] nextRandom = new byte[length];
- int nextRandomOffset = 0;
- while (nextRandomOffset < length) {
- if (byteStream == null || byteStreamOffset >= byteStream.length) {
- byteStream = generateBytes();
- byteStreamOffset = 0;
- }
- nextRandom[nextRandomOffset++] = byteStream[byteStreamOffset++];
- }
- return nextRandom;
-}
-private byte[] transform(byte[] data, int off, int len, int mode) throws Exception {
- byte[] result = nextRandom(len);
- for (int i = 0; i < len; ++i) {
- result[i] = (byte) (data[i + off] + mode * result[i]);
- }
- return result;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java
deleted file mode 100644
index ffa8226..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherInputStream.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-
-/**
- * Decrypts a stream of data that was encrypted using the
- * <code>Cipher</code> or <code>CipherOutputStream</code>.
- *
- * @see Cipher
- * @see CipherOutputStream
- */
-public class CipherInputStream extends FilterInputStream {
- private static final int SKIP_BUFFER_SIZE = 2048;
- private Cipher cipher;
-/**
- * Constructs a new <code>CipherInputStream</code> that decrypts the
- * data in the given <code>InputStream</code>. The data can only be
- * decrypted if the given password is the same as that which was used
- * to encrypt it.
- *
- * @param is
- * @param password
- */
-public CipherInputStream(InputStream is, String password) {
- super(is);
- cipher = new Cipher(Cipher.DECRYPT_MODE, password);
-}
-/**
- * @see InputStream#markSupported
- */
-public boolean markSupported() {
- return false;
-}
-/**
- * @see InputStream#read
- */
-public int read() throws IOException {
- int b = super.read();
- if (b == -1)
- return -1;
- try {
- return ((int) cipher.cipher((byte) b)) & 0x00ff;
- } catch (Exception e) {
- throw new IOException(e.getMessage());
- }
-}
-/**
- * @see InputStream#read(byte, int, int)
- */
-public int read(byte b[], int off, int len) throws IOException {
- int bytesRead = in.read(b, off, len);
- if (bytesRead == -1)
- return -1;
- try {
- byte[] result = cipher.cipher(b, off, bytesRead);
- for (int i = 0; i < result.length; ++i)
- b[i + off] = result[i];
- return bytesRead;
- } catch (Exception e) {
- throw new IOException(e.getMessage());
- }
-}
-/**
- * @see InputStream#skip(long)
- */
-public long skip(long n) throws IOException {
- byte[] buffer = new byte[SKIP_BUFFER_SIZE];
-
- int bytesRead = 0;
- long bytesRemaining = n;
-
- while(bytesRead != -1 && bytesRemaining > 0){
- bytesRead = read(buffer, 0, (int)Math.min(SKIP_BUFFER_SIZE, bytesRemaining));
- if(bytesRead > 0){
- bytesRemaining -= bytesRead;
- }
- }
-
- return n - bytesRemaining;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java
deleted file mode 100644
index 61828f3..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/CipherOutputStream.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-
-/**
- * Encrypts a stream of data that can be decrypted using the
- * <code>Cipher</code> or <code>CipherInputStream</code>.
- *
- * @see Cipher
- * @see CipherInputStream
- */
-public class CipherOutputStream extends FilterOutputStream {
- private Cipher cipher;
-/**
- * Constructs a new <code>CipherOutputStream</code> that encrypts the
- * data in the given <code>OutputStream</code>. Once the data is
- * encrypted it can be decrypted by suppying the encrupted data and
- * given password to a <code>Cipher</code> or
- * <code>CipherInputStream</code>.
- *
- * @param os
- * @param password
- */
-public CipherOutputStream(OutputStream os, String password) {
- super(os);
- cipher = new Cipher(Cipher.ENCRYPT_MODE, password);
-}
-/**
- * @see OutputStream#write(int)
- */
-public void write(int b) throws IOException {
- try {
- out.write(cipher.cipher((byte) b));
- } catch (Exception e) {
- throw new IOException(e.getMessage());
- }
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
deleted file mode 100644
index 8469fbd..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/InternalPlatform.java
+++ /dev/null
@@ -1,1209 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial implementation
- ******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.boot.*;
-import org.eclipse.core.internal.boot.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-
-/**
- * Bootstrap class for the platform. It is responsible for setting up the
- * platform class loader and passing control to the actual application class
- */
-public final class InternalPlatform {
- private static IAdapterManager adapterManager;
- private static PluginRegistry registry;
- // registry index - used to store last modified times for
- // registry caching
- // ASSUMPTION: Only the plugin registry in 'registry' above
- // will be cached
- private static Map regIndex = null;
-
- private static ArrayList logListeners = new ArrayList(5);
- private static Map logs = new HashMap(5);
- private static PlatformLogWriter platformLog = null;
- private static PlatformMetaArea metaArea;
- private static boolean initialized;
- private static Runnable endOfInitializationHandler = null;
- private static IPath location;
- private static PluginClassLoader xmlClassLoader = null;
- private static long cacheReadTimeStamp;
-
- private static boolean debugEnabled = false;
- private static boolean consoleLogEnabled = false;
- private static ILogListener consoleLog = null;
- private static Properties options = null;
- private static AuthorizationDatabase keyring = null;
- private static String keyringFile = null;
- private static String password = ""; //$NON-NLS-1$
- private static boolean splashDown = false;
- private static boolean cacheRegistry = true;
- private static boolean noLazyRegistryCacheLoading = false;
- private static String pluginCustomizationFile = null;
-
- private static File lockFile = null;
- private static RandomAccessFile lockRAF = null;
-
- /**
- * Name of the plug-in customization file (value "plugin_customization.ini")
- * located in the root of the primary feature plug-in and it's
- * companion nl-specific file with externalized strings (value
- * "plugin_customization.properties"). The companion file can
- * be contained in any nl-specific subdirectories of the primary
- * feature or any fragment of this feature.
- */
- private static final String PLUGIN_CUSTOMIZATION_BASE_NAME = "plugin_customization"; //$NON-NLS-1$
- private static final String PLUGIN_CUSTOMIZATION_FILE_NAME = PLUGIN_CUSTOMIZATION_BASE_NAME + ".ini"; //$NON-NLS-1$
-
- // default plugin data
- private static final String PI_XML = "org.apache.xerces"; //$NON-NLS-1$
- private static final String PLUGINSDIR = "plugins/"; //$NON-NLS-1$
- private static final String XML_LOCATION = "plugins/" + PI_XML + "/"; //$NON-NLS-1$ //$NON-NLS-2$
-
- // execution options
- private static final String OPTION_DEBUG = Platform.PI_RUNTIME + "/debug"; //$NON-NLS-1$
- private static final String OPTION_DEBUG_SYSTEM_CONTEXT = Platform.PI_RUNTIME + "/debug/context"; //$NON-NLS-1$
- private static final String OPTION_DEBUG_STARTUP = Platform.PI_RUNTIME + "/timing/startup"; //$NON-NLS-1$
- private static final String OPTION_DEBUG_SHUTDOWN = Platform.PI_RUNTIME + "/timing/shutdown"; //$NON-NLS-1$
- private static final String OPTION_DEBUG_PLUGINS = Platform.PI_RUNTIME + "/registry/debug"; //$NON-NLS-1$
- private static final String OPTION_DEBUG_PLUGINS_DUMP = Platform.PI_RUNTIME + "/registry/debug/dump"; //$NON-NLS-1$
- private static final String OPTION_DEBUG_PREFERENCES = Platform.PI_RUNTIME + "/preferences/debug"; //$NON-NLS-1$
-
- // command line options
- private static final String LOG = "-consolelog"; //$NON-NLS-1$
- private static final String KEYRING = "-keyring"; //$NON-NLS-1$
- protected static final String PASSWORD = "-password"; //$NON-NLS-1$
- private static final String NOREGISTRYCACHE = "-noregistrycache"; //$NON-NLS-1$
- private static final String NO_LAZY_REGISTRY_CACHE_LOADING = "-noLazyRegistryCacheLoading"; //$NON-NLS-1$
- private static final String PLUGIN_CUSTOMIZATION = "-plugincustomization"; //$NON-NLS-1$
- private static final String NO_PACKAGE_PREFIXES = "-noPackagePrefixes"; //$NON-NLS-1$
-
- // debug support: set in loadOptions()
- public static boolean DEBUG = false;
- public static boolean DEBUG_CONTEXT = false;
- public static boolean DEBUG_PLUGINS = false;
- public static boolean DEBUG_STARTUP = false;
- public static boolean DEBUG_SHUTDOWN = false;
- public static String DEBUG_PLUGINS_DUMP = null;
- public static boolean DEBUG_PREFERENCES = false;
-
- private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
- private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-
-
-/**
- * Private constructor to block instance creation.
- */
-private InternalPlatform() {
-}
-/**
- * The runtime plug-in is not totally real due to bootstrapping problems.
- * This method builds the required constructs to activate and install
- * the runtime plug-in.
- */
-private static void activateDefaultPlugins() throws CoreException {
- // for now, simply do the default activation. This does not do the right thing
- // wrt the plugin class loader.
- PluginDescriptor descriptor = (PluginDescriptor) registry.getPluginDescriptor(Platform.PI_RUNTIME);
- DelegatingURLClassLoader loader = PlatformClassLoader.getDefault();
- descriptor.activateDefaultPlugins(loader);
- loader.setPackagePrefixes(PluginClassLoader.initializePrefixes(descriptor, loader.getPrefixId()));
- descriptor.setPluginClassLoader(loader);
- descriptor.getPlugin();
-
- descriptor = (PluginDescriptor) registry.getPluginDescriptor(PI_XML, xmlClassLoader.getPluginDescriptor().getVersionIdentifier());
- descriptor.activateDefaultPlugins(xmlClassLoader);
- xmlClassLoader.setPackagePrefixes(PluginClassLoader.initializePrefixes(descriptor, xmlClassLoader.getPrefixId()));
- descriptor.setPluginClassLoader(xmlClassLoader);
- xmlClassLoader.setPluginDescriptor(descriptor);
- descriptor.getPlugin();
-}
-/**
- * @see Platform
- */
-public static void addAuthorizationInfo(URL serverUrl, String realm, String authScheme, Map info) throws CoreException {
- keyring.addAuthorizationInfo(serverUrl, realm, authScheme, new HashMap(info));
- keyring.save();
-}
-/**
- * @see Platform#addLogListener
- */
-public static void addLogListener(ILogListener listener) {
- assertInitialized();
- synchronized (logListeners) {
- // replace if already exists (Set behaviour but we use an array
- // since we want to retain order)
- logListeners.remove(listener);
- logListeners.add(listener);
- }
-}
-/**
- * @see Platform
- */
-public static void addProtectionSpace(URL resourceUrl, String realm) throws CoreException {
- keyring.addProtectionSpace(resourceUrl, realm);
- keyring.save();
-}
-/**
- * @see Platform
- */
-public static URL asLocalURL(URL url) throws IOException {
- if (!url.getProtocol().equals(PlatformURLHandler.PROTOCOL))
- return url;
- URLConnection connection = url.openConnection();
- if (!(connection instanceof PlatformURLConnection))
- return url;
- String file = connection.getURL().getFile();
- if (file.endsWith("/") && !file.endsWith(PlatformURLHandler.JAR_SEPARATOR)) //$NON-NLS-1$
- throw new IOException();
- return ((PlatformURLConnection) connection).getURLAsLocal();
-}
-private static void assertInitialized() {
- //avoid the Policy.bind if assertion is true
- if (!initialized)
- Assert.isTrue(false, Policy.bind("meta.appNotInit")); //$NON-NLS-1$
-}
-/**
- * Closes the open lock file handle, and makes a silent best
- * attempt to delete the file.
- */
-private static synchronized void clearLockFile() {
- try {
- if (lockRAF != null) {
- lockRAF.close();
- lockRAF = null;
- }
- } catch (IOException e) {
- //don't complain, we're making a best effort to clean up
- }
- if (lockFile != null) {
- lockFile.delete();
- lockFile = null;
- }
-}
-/**
- * Creates a lock file in the meta-area that indicates the meta-area
- * is in use, preventing other eclipse instances from concurrently
- * using the same meta-area.
- */
-private static synchronized void createLockFile() throws CoreException {
- String lockLocation = metaArea.getLocation().append(PlatformMetaArea.F_LOCK_FILE).toOSString();
- lockFile = new File(lockLocation);
- //if the lock file already exists, try to delete,
- //assume failure means another eclipse has it open
- if (lockFile.exists())
- lockFile.delete();
- if (lockFile.exists()) {
- String message = Policy.bind("meta.inUse", lockLocation); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, null));
- }
- try {
- //open the lock file so other instances can't co-exist
- lockRAF = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
- lockRAF.writeByte(0);
- } catch (IOException e) {
- String message = Policy.bind("meta.failCreateLock", lockLocation); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, e));
- }
-}
-
-/**
- * Creates and remembers a spoofed up class loader which loads the
- * classes from a predefined XML plugin.
- */
-private static void createXMLClassLoader() {
- // create a plugin descriptor which is sufficient to be able to create
- // the class loader through the normal channels.
- Factory factory = new InternalFactory(null);
- PluginDescriptor descriptor = (PluginDescriptor) factory.createPluginDescriptor();
- descriptor.setEnabled(true);
- descriptor.setId(PI_XML);
- PlatformConfiguration config = InternalBootLoader.getCurrentPlatformConfiguration();
- PlatformConfiguration.BootDescriptor bd = config.getPluginBootDescriptor(PI_XML);
- descriptor.setVersion(bd.getVersion());
- try {
- URL url = bd.getPluginDirectoryURL();
- if (url == null)
- url = new URL(BootLoader.getInstallURL(), XML_LOCATION);
- descriptor.setLocation(url.toExternalForm());
- } catch (MalformedURLException e) {
- // ISSUE: What to do when this fails. It's pretty serious
- e.printStackTrace();
- }
-
- ArrayList libList = new ArrayList();
- String[] libs = bd.getLibraries();
- for (int i=0; i<libs.length; i++) {
- LibraryModel lib = factory.createLibrary();
- lib.setName(libs[i]);
- lib.setExports(new String[] { "*" }); //$NON-NLS-1$
- libList.add(lib);
- }
- descriptor.setRuntime((LibraryModel[]) libList.toArray(new LibraryModel[0]));
-
- // use the fake plugin descriptor to create the desired class loader.
- // Since this class loader will be used before the plugin registry is installed,
- // ensure that the URLs on its class path are raw as opposed to eclipse:
- xmlClassLoader = (PluginClassLoader) descriptor.getPluginClassLoader(false);
-}
-/**
- * @see Platform
- */
-public static void endSplash() {
- if (DEBUG) {
- String startString = Platform.getDebugOption(Platform.OPTION_STARTTIME);
- if (startString != null)
- try {
- long start = Long.parseLong(startString);
- long end = System.currentTimeMillis();
- System.out.println("Startup complete: " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
- } catch (NumberFormatException e) {
- //this is just debugging code -- ok to swallow exception
- }
- }
- if (splashDown)
- return;
-
- splashDown = true;
- if (DelegatingURLClassLoader.MONITOR_PLUGINS)
- PluginStats.setBooting(false);
- if (DelegatingURLClassLoader.MONITOR_CLASSES)
- ClassStats.setBooting(false);
- run(endOfInitializationHandler);
-}
-
-/**
- * @see Platform
- */
-public static void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) throws CoreException {
- keyring.flushAuthorizationInfo(serverUrl, realm, authScheme);
- keyring.save();
-}
-/**
- * @see Platform#getAdapterManager
- */
-public static IAdapterManager getAdapterManager() {
- assertInitialized();
- return adapterManager;
-}
-
-/**
- * Augments the plugin path with extra entries.
- */
-private static URL[] getAugmentedPluginPath(URL[] pluginPath) {
-
- // ISSUE: this code needs to be reworked so that the platform
- // does not have logical reference to plug-in-specific
- // function
-
- IPath result = metaArea.getLocation().append(PlatformMetaArea.F_PLUGIN_DATA).append("org.eclipse.scripting").append("plugin.xml"); //$NON-NLS-1$ //$NON-NLS-2$
- String userScriptName = result.toString();
- URL userScriptUrl = null;
- try {
- userScriptUrl = new URL("file",null,0,userScriptName); //$NON-NLS-1$
- } catch(MalformedURLException e) {
- return pluginPath;
- }
-
- URL[] newPath = new URL[pluginPath.length+1];
- System.arraycopy(pluginPath,0,newPath,0, pluginPath.length);
- newPath[newPath.length-1] = userScriptUrl;
- return newPath;
-}
-/**
- * @see Platform
- */
-public static Map getAuthorizationInfo(URL serverUrl, String realm, String authScheme) {
- Map info = keyring.getAuthorizationInfo(serverUrl, realm, authScheme);
- return info == null ? null : new HashMap(info);
-}
-public static boolean getBooleanOption(String option, boolean defaultValue) {
- String optionValue = getDebugOption(option);
- return (optionValue != null && optionValue.equalsIgnoreCase("true")) || defaultValue; //$NON-NLS-1$
-}
-/**
- * @see Platform
- */
-public static String getDebugOption(String option) {
- return debugEnabled ? options.getProperty(option) : null;
-}
-public static int getIntegerOption(String option, int defaultValue) {
- String value = getDebugOption(option);
- try {
- return value == null ? defaultValue : Integer.parseInt(value);
- } catch (NumberFormatException e) {
- return defaultValue;
- }
-}
-/**
- * @see Platform#getLocation
- */
-public static IPath getLocation() {
- assertInitialized();
- return location;
-}
-/**
- * Returns a log for the given plugin or <code>null</code> if none exists.
- */
-public static ILog getLog(Plugin plugin) {
- ILog result = (ILog) logs.get(plugin);
- if (result != null)
- return result;
- result = new Log(plugin);
- logs.put(plugin, result);
- return result;
-}
-/**
- * Returns the object which defines the location and organization
- * of the platform's meta area.
- */
-public static PlatformMetaArea getMetaArea() {
- return metaArea;
-}
-/**
- * @see Platform#getPlugin
- */
-public static Plugin getPlugin(String id) {
- assertInitialized();
- IPluginDescriptor descriptor = getPluginRegistry().getPluginDescriptor(id);
- if (descriptor == null)
- return null;
- try {
- return descriptor.getPlugin();
- } catch (CoreException e) {
- //failed to activate the plugin -- return null
- log(e.getStatus());
- return null;
- }
-}
-/**
- * @see Platform#getPluginRegistry
- */
-public static IPluginRegistry getPluginRegistry() {
- assertInitialized();
- return registry;
-}
-/**
- * @see Platform#getPluginStateLocation
- */
-public static IPath getPluginStateLocation(IPluginDescriptor descriptor, boolean create) {
- assertInitialized();
- IPath result = metaArea.getPluginStateLocation(descriptor);
- if (create)
- result.toFile().mkdirs();
- return result;
-}
-/**
- * @see Platform
- */
-public static String getProtectionSpace(URL resourceUrl) {
- return keyring.getProtectionSpace(resourceUrl);
-}
-public static Plugin getRuntimePlugin() {
- try {
- return getPluginRegistry().getPluginDescriptor(Platform.PI_RUNTIME).getPlugin();
- } catch (CoreException e) {
- //impossible for the runtime plugin to be missing
- log(e.getStatus());
- return null;
- }
-}
-private static void handleException(ISafeRunnable code, Throwable e) {
- if (!(e instanceof OperationCanceledException)) {
- // try to figure out which plugin caused the problem. Derive this from the class
- // of the code arg. Attribute to the Runtime plugin if we can't figure it out.
- Plugin plugin = getRuntimePlugin();
- try {
- plugin = ((PluginClassLoader)code.getClass().getClassLoader()).getPluginDescriptor().getPlugin();
- } catch (ClassCastException e1) {
- //ignore and attribute exception to runtime
- } catch (CoreException e1) {
- //ignore and attribute exception to runtime
- }
- String pluginId = plugin.getDescriptor().getUniqueIdentifier();
- String message = Policy.bind("meta.pluginProblems", pluginId); //$NON-NLS-1$
- IStatus status;
- if (e instanceof CoreException) {
- status = new MultiStatus(pluginId, Platform.PLUGIN_ERROR, message, e);
- ((MultiStatus)status).merge(((CoreException)e).getStatus());
- } else {
- status = new Status(Status.ERROR, pluginId, Platform.PLUGIN_ERROR, message, e);
- }
- plugin.getLog().log(status);
- }
- code.handleException(e);
-}
-/**
- * Internal method for finding and returning a runnable instance of the
- * given class as defined in the specified plug-in.
- * The returned object is initialized with the supplied arguments.
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @see BootLoader
- */
-public static IPlatformRunnable loaderGetRunnable(String applicationName) {
- assertInitialized();
- IExtension extension = registry.getExtension(Platform.PI_RUNTIME, Platform.PT_APPLICATIONS, applicationName);
- if (extension == null)
- return null;
- IConfigurationElement[] configs = extension.getConfigurationElements();
- if (configs.length == 0)
- return null;
- try {
- IConfigurationElement config = configs[0];
- return (IPlatformRunnable) config.createExecutableExtension("run"); //$NON-NLS-1$
- } catch (CoreException e) {
- getRuntimePlugin().getLog().log(e.getStatus());
- return null;
- }
-}
-/**
- * Internal method for finding and returning a runnable instance of the
- * given class as defined in the specified plug-in.
- * The returned object is initialized with the supplied arguments.
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @see BootLoader
- */
-public static IPlatformRunnable loaderGetRunnable(String pluginId, String className, Object args) {
- assertInitialized();
- PluginDescriptor descriptor = (PluginDescriptor) registry.getPluginDescriptor(pluginId);
- try {
- return (IPlatformRunnable) descriptor.createExecutableExtension(className, args, null, null);
- } catch (CoreException e) {
- getRuntimePlugin().getLog().log(e.getStatus());
- return null;
- }
-}
-/**
- * Internal method for shutting down the platform. All active plug-ins
- * are notified of the impending shutdown.
- * The exact order of notification is unspecified;
- * however, each plug-in is assured that it will be told to shut down
- * before any of its prerequisites. Plug-ins are expected to free any
- * shared resources they manage. Plug-ins should not store state at
- * this time; a separate <b>save</b> lifecycle event preceding the
- * shutdown notice tells plug-ins the right time to be saving their state.
- * <p>
- * On exit, the platform will no longer be initialized and any objects derived from
- * or based on the running platform are invalidated.
- * </p>
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @see BootLoader
- */
-public static void loaderShutdown() {
- assertInitialized();
- registry.shutdown(null);
- clearLockFile();
- if (DEBUG_PLUGINS && DEBUG_PLUGINS_DUMP != null) {
- // We are debugging so output the registry in XML
- // format.
- registry.debugRegistry(DEBUG_PLUGINS_DUMP);
- }
-
- if (cacheRegistry) {
- // Write the registry in cache format
- try {
- registry.saveRegistry();
- } catch (IOException e) {
- String message = Policy.bind("meta.unableToWriteRegistry"); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, message, e);
- getRuntimePlugin().getLog().log(status);
- if (DEBUG)
- System.out.println(status.getMessage());
- }
- } else {
- // get rid of the cache file if it exists
- registry.flushRegistry();
- }
- if (platformLog != null)
- platformLog.shutdown();
- initialized = false;
-}
-/**
- * Internal method for starting up the platform. The platform is started at the
- * given location. The plug-ins found at the supplied
- * collection of plug-in locations are loaded into the newly started platform.
- * <p>
- * This method is used by the platform boot loader; is must
- * not be called directly by client code.
- * </p>
- * @param pluginPath the list of places to look for plug-in specifications. This may
- * identify individual plug-in files or directories containing directories which contain
- * plug-in files.
- * @param location the local filesystem location at which the newly started platform
- * should be started. If the location does not contain the saved state of a platform,
- * the appropriate structures are created on disk (if required).
- * @param bootOptions the debug options loaded by the boot loader. If the argument
- * is <code>null</code> then debugging enablement was not requested by the
- * person starting the platform.
- * @see BootLoader
- */
-public static void loaderStartup(URL[] pluginPath, String locationString, Properties bootOptions, String[] args, Runnable handler) throws CoreException {
- endOfInitializationHandler = handler;
- processCommandLine(args);
- setupMetaArea(locationString);
- createLockFile();
- adapterManager = new AdapterManager();
- loadOptions(bootOptions);
- createXMLClassLoader();
- MultiStatus problems = loadRegistry(pluginPath);
- initialized = true;
- // can't register url handlers until after the plugin registry is loaded
- PlatformURLPluginHandlerFactory.startup();
- activateDefaultPlugins();
- if (DEBUG_CONTEXT)
- System.out.println("OS: " + BootLoader.getOS() + " WS: " + BootLoader.getWS() + //$NON-NLS-1$ //$NON-NLS-2$
- " NL: " + BootLoader.getNL() + " ARCH: " + BootLoader.getOSArch()); //$NON-NLS-1$ //$NON-NLS-2$
- // can't install the log or log problems until after the platform has been initialized.
- platformLog = new PlatformLogWriter(metaArea.getLogLocation().toFile());
- addLogListener(platformLog);
- if (consoleLogEnabled) {
- consoleLog = new PlatformLogWriter(System.out);
- addLogListener(consoleLog);
- }
- if (!problems.isOK())
- getRuntimePlugin().getLog().log(problems);
- loadKeyring();
-}
-/**
- * Opens the password database (if any) initally provided to the platform at startup.
- */
-private static void loadKeyring() {
- if (keyringFile != null) {
- try {
- keyring = new AuthorizationDatabase(keyringFile, password);
- } catch (CoreException e) {
- log(e.getStatus());
- }
- if (keyring == null) {
- //try deleting the file and loading again - format may have changed
- new java.io.File(keyringFile).delete();
- try {
- keyring = new AuthorizationDatabase(keyringFile, password);
- } catch (CoreException e) {
- //don't bother logging a second failure
- }
- }
- }
- if (keyring == null)
- keyring = new AuthorizationDatabase();
-}
-static void loadOptions(Properties bootOptions) {
- // If the boot loader passed <code>null</code> for the boot options, the user
- // did not specify debug options so no debugging should be enabled.
- if (bootOptions == null) {
- debugEnabled = false;
- return;
- }
- debugEnabled = true;
- options = new Properties(bootOptions);
- try {
- InputStream input = new FileInputStream(InternalPlatform.getMetaArea().getOptionsLocation().toFile());
- try {
- options.load(input);
- } finally {
- input.close();
- }
- } catch (FileNotFoundException e) {
- // Its not an error to not find the options file
- } catch (IOException e) {
- // Platform.RuntimePlugin.getLog().log();
- }
- // trim off all the blanks since properties files don't do that.
- for (Iterator i = options.keySet().iterator(); i.hasNext();) {
- Object key = i.next();
- options.put(key, ((String) options.get(key)).trim());
- }
- DEBUG = getBooleanOption(OPTION_DEBUG, false);
- if (DEBUG) {
- DEBUG_CONTEXT = getBooleanOption(OPTION_DEBUG_SYSTEM_CONTEXT, false);
- DEBUG_STARTUP = getBooleanOption(OPTION_DEBUG_STARTUP, false);
- DEBUG_SHUTDOWN = getBooleanOption(OPTION_DEBUG_SHUTDOWN, false);
- DEBUG_PLUGINS = getBooleanOption(OPTION_DEBUG_PLUGINS, false);
- DEBUG_PLUGINS_DUMP = getDebugOption(OPTION_DEBUG_PLUGINS_DUMP);
- DEBUG_PREFERENCES = getBooleanOption(OPTION_DEBUG_PREFERENCES, false);
- }
- InternalBootLoader.setupOptions();
-}
-/**
- * Parses, resolves and rememberhs the plugin registry. The multistatus returned
- * details any problems/issues encountered during this process.
- */
-private static MultiStatus loadRegistry(URL[] pluginPath) {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("parse.registryProblems"), null); //$NON-NLS-1$
- InternalFactory factory = new InternalFactory(problems);
-
- IPath path = getMetaArea().getRegistryPath();
- File cacheFile = path.toFile();
- DataInputStream input = null;
- registry = null;
- // augment the plugin path with any additional platform entries
- // (eg. user scripts)
- URL[] augmentedPluginPath = getAugmentedPluginPath(pluginPath);
- if (cacheFile.exists() && cacheRegistry) {
- try {
- input = new DataInputStream(new BufferedInputStream(new FileInputStream(path.toFile())));
- try {
- long start = System.currentTimeMillis();
- if (DEBUG && !noLazyRegistryCacheLoading)
- System.out.println("Lazily loading plug-in registry cache"); //$NON-NLS-1$
- // read the registry cache
- RegistryCacheReader cacheReader = new RegistryCacheReader(factory, !noLazyRegistryCacheLoading);
- registry = (PluginRegistry) cacheReader.readPluginRegistry(input, augmentedPluginPath, DEBUG && DEBUG_PLUGINS);
- // turn off lazy loading from now on if it was on
- if (!noLazyRegistryCacheLoading)
- cacheReader.setLazilyLoadExtensions(false);
- if (DEBUG)
- System.out.println("Read registry cache: " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
- } finally {
- input.close();
- }
- } catch (IOException ioe) {
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.PLUGIN_ERROR, Policy.bind("meta.unableToReadCache"), ioe); //$NON-NLS-1$
- problems.merge(status);
- }
- }
- if (registry == null) {
- clearRegIndex();
- if (cacheFile.exists()) {
- // Delete the cache file so we know to re-write the
- // cache when we shutdown. If the cache file exists
- // on shutdown, we won't bother re-writing it.
- if (!cacheFile.delete()) {
- IStatus status = new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.FAILED_DELETE_METADATA, Policy.bind("meta.unableToDeleteCache", cacheFile.getAbsolutePath()), null); //$NON-NLS-1$
- problems.merge(status);
- }
- }
- long start = System.currentTimeMillis();
- InternalPlatform.setRegistryCacheTimeStamp(BootLoader.getCurrentPlatformConfiguration().getPluginsChangeStamp());
- registry = (PluginRegistry) parsePlugins(augmentedPluginPath, factory, DEBUG && DEBUG_PLUGINS);
- IStatus resolveStatus = registry.resolve(true, true);
- problems.merge(resolveStatus);
- registry.markReadOnly();
- if (DEBUG)
- System.out.println("Parse and resolve registry: " + (System.currentTimeMillis() - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$
- }
- registry.startup(null);
- return problems;
-}
-/**
- * Notifies all listeners of the platform log. This includes the console log, if
- * used, and the platform log file. All Plugin log messages get funnelled
- * through here as well.
- */
-public static void log(final IStatus status) {
- assertInitialized();
- // create array to avoid concurrent access
- ILogListener[] listeners;
- synchronized (logListeners) {
- listeners = (ILogListener[]) logListeners.toArray(new ILogListener[logListeners.size()]);
- }
- for (int i = 0; i < listeners.length; i++) {
- final ILogListener listener = listeners[i];
- ISafeRunnable code = new ISafeRunnable() {
- public void run() throws Exception {
- listener.logging(status, Platform.PI_RUNTIME);
- }
- public void handleException(Throwable e) {
- }
- };
- run(code);
- }
-}
-/**
- * @see Platform#parsePlugins
- */
-public static PluginRegistryModel parsePlugins(URL[] pluginPath, Factory factory) {
- return parsePlugins(pluginPath, factory, false);
-}
-/**
- * @see Platform#parsePlugins
- */
-public synchronized static PluginRegistryModel parsePlugins(URL[] pluginPath, Factory factory, boolean debug) {
- // If the platform is not running then simply parse the registry. We don't need to play
- // any funny class loader games as we assume the XML classes are on the class path
- // This happens when we are running this code as part of a utility (as opposed to starting
- // or inside the platform).
- if (!(InternalBootLoader.isRunning() || InternalBootLoader.isStarting()))
- return RegistryLoader.parseRegistry(pluginPath, factory, debug);
-
- // If we are running the platform, we want to conserve class loaders.
- // Temporarily install the xml class loader as a prerequisite of the platform class loader
- // This allows us to find the xml classes. Be sure to reset the prerequisites after loading.
- PlatformClassLoader.getDefault().setImports(new DelegatingURLClassLoader[] { xmlClassLoader });
- try {
- return RegistryLoader.parseRegistry(pluginPath, factory, debug);
- } finally {
- PlatformClassLoader.getDefault().setImports(null);
- }
-}
-private static String[] processCommandLine(String[] args) {
- int[] configArgs = new int[100];
- configArgs[0] = -1; // need to initialize the first element to something that could not be an index.
- int configArgIndex = 0;
- for (int i = 0; i < args.length; i++) {
- boolean found = false;
- // check for args without parameters (i.e., a flag arg)
-
- // look for the log flag
- if (args[i].equalsIgnoreCase(LOG)) {
- consoleLogEnabled = true;
- found = true;
- }
-
- // look for the no registry cache flag
- if (args[i].equalsIgnoreCase(NOREGISTRYCACHE)) {
- cacheRegistry = false;
- found = true;
- }
-
- // check to see if we should NOT be lazily loading plug-in definitions from the registry cache file.
- // This will be processed below.
- if (args[i].equalsIgnoreCase(NO_LAZY_REGISTRY_CACHE_LOADING)) {
- noLazyRegistryCacheLoading = true;
- found = true;
- }
-
- // look for the flag to turn off using package prefixes
- if (args[i].equalsIgnoreCase(NO_PACKAGE_PREFIXES)) {
- PluginClassLoader.usePackagePrefixes = false;
- found = true;
- }
-
- // done checking for args. Remember where an arg was found
- if (found) {
- configArgs[configArgIndex++] = i;
- continue;
- }
- // check for args with parameters
- if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
- continue;
- String arg = args[++i];
-
- // look for the keyring file
- if (args[i - 1].equalsIgnoreCase(KEYRING)) {
- keyringFile = arg;
- found = true;
- }
-
- // look for the user password.
- if (args[i - 1].equalsIgnoreCase(PASSWORD)) {
- password = arg;
- found = true;
- }
-
- // look for the plug-in customization file
- if (args[i - 1].equalsIgnoreCase(PLUGIN_CUSTOMIZATION)) {
- pluginCustomizationFile = arg;
- found = true;
- }
-
- // done checking for args. Remember where an arg was found
- if (found) {
- configArgs[configArgIndex++] = i - 1;
- configArgs[configArgIndex++] = i;
- }
- }
- // remove all the arguments consumed by this argument parsing
- if (configArgIndex == 0)
- return args;
- String[] passThruArgs = new String[args.length - configArgIndex];
- configArgIndex = 0;
- int j = 0;
- for (int i = 0; i < args.length; i++) {
- if (i == configArgs[configArgIndex])
- configArgIndex++;
- else
- passThruArgs[j++] = args[i];
- }
- return passThruArgs;
-}
-/**
- * @see Platform#removeLogListener
- */
-public static void removeLogListener(ILogListener listener) {
- assertInitialized();
- synchronized (logListeners) {
- logListeners.remove(listener);
- }
-}
-/**
- * @see Platform
- */
-public static URL resolve(URL url) throws IOException {
- if (!url.getProtocol().equals(PlatformURLHandler.PROTOCOL))
- return url;
- URLConnection connection = url.openConnection();
- if (connection instanceof PlatformURLConnection)
- return ((PlatformURLConnection) connection).getResolvedURL();
- else
- return url;
-}
-public static void run(ISafeRunnable code) {
- Assert.isNotNull(code);
- try {
- code.run();
- } catch (Exception e) {
- handleException(code, e);
- } catch (LinkageError e) {
- handleException(code, e);
- }
-}
-private static void run(Runnable handler) {
- // run end-of-initialization handler
- if (handler == null)
- return;
-
- final Runnable finalHandler = handler;
- ISafeRunnable code = new ISafeRunnable() {
- public void run() throws Exception {
- finalHandler.run();
- }
- public void handleException(Throwable e) {
- // just continue ... the exception has already been logged by
- // the platform (see handleException(ISafeRunnable)
- }
- };
- Platform.run(code);
-}
-public static void setDebugOption(String option, String value) {
- if (debugEnabled)
- options.setProperty(option, value);
-}
-/**
- * Sets the plug-in registry for the platform to the given value.
- * This method should only be called by the registry loader
- */
-public static void setPluginRegistry(IPluginRegistry value) {
- registry = (PluginRegistry) value;
-}
-private static void setupMetaArea(String locationString) throws CoreException {
- location = new Path(locationString);
- if (!location.isAbsolute())
- location = new Path(System.getProperty("user.dir")).append(location); //$NON-NLS-1$
- // must create the meta area first as it defines all the other locations.
- if (location.toFile().exists()) {
- if (!location.toFile().isDirectory()) {
- String message = Policy.bind("meta.notDir", location.toString()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, null));
- }
- }
- metaArea = new PlatformMetaArea(location);
- metaArea.createLocation();
- if (keyringFile == null)
- keyringFile = metaArea.getLocation().append(PlatformMetaArea.F_KEYRING).toOSString();
-}
-public static void addLastModifiedTime (String pathKey, long lastModTime) {
- if (regIndex == null)
- regIndex = new HashMap(30);
- regIndex.put(pathKey, new Long(lastModTime));
-}
-public static Map getRegIndex() {
- return regIndex;
-}
-public static void clearRegIndex() {
- regIndex = null;
-}
-
-/**
- * Look for the companion preference translation file for a group
- * of preferences. This method will attempt to find a companion
- * ".properties" file first. This companion file can be in an
- * nl-specific directory for this plugin or any of its fragments or
- * it can be in the root of this plugin or the root of any of the
- * plugin's fragments. This properties file can be used to translate
- * preference values.
- *
- * @param pluginDescriptor the descriptor of the plugin
- * who has the preferences
- * @param basePrefFileName the base name of the preference file
- * This base will be used to construct the name of the
- * companion translation file.
- * Example: If basePrefFileName is "plugin_customization",
- * the preferences are in "plugin_customization.ini" and
- * the translations are found in
- * "plugin_customization.properties".
- * @return the properties file
- *
- * @since 2.0
- */
-public static Properties getPreferenceTranslator (IPluginDescriptor pluginDescriptor, String basePrefFileName) {
- URL pluginExternalURL = pluginDescriptor.find(new Path("$nl$").append(basePrefFileName + ".properties")); //$NON-NLS-1$ //$NON-NLS-2$
- if (pluginExternalURL == null)
- return null;
-
- Properties propFile = new Properties();
- try {
- InputStream input = new BufferedInputStream(new FileInputStream(pluginExternalURL.getFile()));
- try {
- propFile.load(input);
- } finally {
- if (input != null)
- input.close();
- }
- } catch (IOException e) {
- if (DEBUG_PREFERENCES) {
- System.out.println("Exception loading preference translations from file: " + pluginExternalURL); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
-
- return propFile;
-}
-
-/**
- * Takes a preference value and a related resource bundle and
- * returns the translated version of this value (if one exists).
- *
- * @param value the preference value for potential translation
- * @param bundle the bundle containing the translated values
- *
- * @since 2.0
- */
-public static String translatePreference (String value, Properties props) {
- value = value.trim();
- if (props == null || value.startsWith(KEY_DOUBLE_PREFIX))
- return value;
- if (value.startsWith(KEY_PREFIX)) {
-
- int ix = value.indexOf(" "); //$NON-NLS-1$
- String key = ix == -1 ? value : value.substring(0,ix);
- String dflt = ix == -1 ? value : value.substring(ix+1);
- return props.getProperty(key.substring(1), dflt);
- }
- return value;
-}
-
-/**
- * Applies primary feature-specific overrides to default preferences for the
- * plug-in with the given id.
- * <p>
- * Note that by the time this method is called, the default settings
- * for the plug-in itself should have already have been filled in.
- * </p>
- *
- * @param id the unique identifier of the plug-in
- * @param preferences the preference store for the specified plug-in
- *
- * @since 2.0
- */
-public static void applyPrimaryFeaturePluginDefaultOverrides(
- String id,
- Preferences preferences) {
-
- // carefully navigate to the plug-in for the primary feature
- IPlatformConfiguration cfg = BootLoader.getCurrentPlatformConfiguration();
- if (cfg == null) {
- // bail if we don't seem to have one for whatever reason (!)
- if (DEBUG_PREFERENCES) {
- System.out.println("Plugin preferences unable to find a platform configuration"); //$NON-NLS-1$
- }
- return;
- }
- String primaryFeaturePluginId = cfg.getPrimaryFeatureIdentifier();
- if (primaryFeaturePluginId == null) {
- // bail if we don't seem to have one of these (!)
- if (DEBUG_PREFERENCES) {
- System.out.println("Plugin preferences unable to find a primary feature plugin id"); //$NON-NLS-1$
- }
- return;
- }
- IPluginDescriptor primaryFeatureDescriptor = getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
- if (primaryFeatureDescriptor == null) {
- // bail if primary feature is missing (!)
- if (DEBUG_PREFERENCES) {
- System.out.println("Plugin preferences unable to find a primary feature"); //$NON-NLS-1$
- }
- return;
- }
- // locate plug-in customization file within primary feature plug-in (or fragment)
- URL pluginCustomizationURL = primaryFeatureDescriptor.find(new Path(PLUGIN_CUSTOMIZATION_FILE_NAME));
- if (pluginCustomizationURL == null) {
- if (DEBUG_PREFERENCES) {
- System.out.println("Preferences file " + PLUGIN_CUSTOMIZATION_FILE_NAME + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return;
- }
- if (DEBUG_PREFERENCES) {
- System.out.println("Loading preferences from " + pluginCustomizationURL); //$NON-NLS-1$
- }
- // Now see if we have a file with externalized strings for
- // this preference file
- Properties props = getPreferenceTranslator(primaryFeatureDescriptor, PLUGIN_CUSTOMIZATION_BASE_NAME);
- // apply any defaults for the given plug-in
- applyPluginDefaultOverrides(pluginCustomizationURL, id, preferences, props);
-}
-
-/**
- * Applies command line-supplied overrides to default preferences for the
- * plug-in with the given id.
- * <p>
- * Note that by the time this method is called, the default settings
- * for the plug-in itself should have already have been filled in, along
- * with any default overrides supplied by the primary feature.
- * </p>
- *
- * @param id the unique identifier of the plug-in
- * @param preferences the preference store for the specified plug-in
- *
- * @since 2.0
- */
-public static void applyCommandLinePluginDefaultOverrides(
- String id,
- Preferences preferences) {
-
- if (pluginCustomizationFile == null) {
- // no command line overrides to process
- if (DEBUG_PREFERENCES) {
- System.out.println("Command line argument -pluginCustomization not used."); //$NON-NLS-1$
- }
- return;
- }
-
- try {
- URL pluginCustomizationURL = new File(pluginCustomizationFile).toURL();
- if (DEBUG_PREFERENCES) {
- System.out.println("Loading preferences from " + pluginCustomizationURL); //$NON-NLS-1$
- }
- applyPluginDefaultOverrides(pluginCustomizationURL, id, preferences, null);
- } catch (MalformedURLException e) {
- // fail silently
- if (DEBUG_PREFERENCES) {
- System.out.println("MalformedURLException creating URL for plugin customization file " //$NON-NLS-1$
- + pluginCustomizationFile);
- e.printStackTrace();
- }
- return;
- }
-}
-
-/**
- * Applies overrides to default preferences for the plug-in with the given id.
- * The data is contained in the <code>java.io.Properties</code> style file at
- * the given URL. The property names consist of "/'-separated plug-in id and
- * name of preference; e.g., "com.example.myplugin/mypref".
- *
- * @param propertiesURL the URL of a <code>java.io.Properties</code> style file
- * @param id the unique identifier of the plug-in
- * @param preferences the preference store for the specified plug-in
- *
- * @since 2.0
- */
-private static void applyPluginDefaultOverrides(
- URL propertiesURL,
- String id,
- Preferences preferences,
- Properties props) {
-
- // read the java.io.Properties file at the given URL
- Properties overrides = new Properties();
- SafeFileInputStream in = null;
-
- try {
- File inFile = new File(propertiesURL.getFile());
- if (!inFile.exists()) {
- // We don't have a preferences file to worry about
- if (DEBUG_PREFERENCES) {
- System.out.println("Preference file " + //$NON-NLS-1$
- propertiesURL + " not found."); //$NON-NLS-1$
- }
- return;
- }
-
- in = new SafeFileInputStream(inFile);
- if (in == null) {
- // fail quietly
- if (DEBUG_PREFERENCES) {
- System.out.println("Failed to open " + //$NON-NLS-1$
- propertiesURL);
- }
- return;
- }
- overrides.load(in);
- } catch (IOException e) {
- // cannot read ini file - fail silently
- if (DEBUG_PREFERENCES) {
- System.out.println("IOException reading preference file " + //$NON-NLS-1$
- propertiesURL);
- e.printStackTrace();
- }
- return;
- } finally {
- try {
- if (in != null) {
- in.close();
- }
- } catch (IOException e) {
- // ignore problems closing file
- if (DEBUG_PREFERENCES) {
- System.out.println("IOException closing preference file " + //$NON-NLS-1$
- propertiesURL);
- e.printStackTrace();
- }
- }
- }
-
- for (Iterator it = overrides.entrySet().iterator(); it.hasNext();) {
- Map.Entry entry = (Map.Entry) it.next();
- String qualifiedKey = (String) entry.getKey();
- // Keys consist of "/'-separated plug-in id and name of preference
- // e.g., "com.example.myplugin/mypref"
- int s = qualifiedKey.indexOf('/');
- if (s < 0 || s == 0 || s == qualifiedKey.length() - 1) {
- // skip mangled entry
- continue;
- }
- // plug-in id is non-empty string before "/"
- String pluginId = qualifiedKey.substring(0, s);
- if (pluginId.equals(id)) {
- // override property in the given plug-in
- // plig-in-specified property name is non-empty string after "/"
- String propertyName = qualifiedKey.substring(s + 1);
- String value = (String) entry.getValue();
- value = translatePreference(value, props);
- preferences.setDefault(propertyName, value);
- }
- }
- if (DEBUG_PREFERENCES) {
- System.out.println("Preferences now set as follows:"); //$NON-NLS-1$
- String[] prefNames = preferences.propertyNames();
- for (int i = 0; i < prefNames.length; i++) {
- String value = preferences.getString(prefNames[i]);
- System.out.println("\t" + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
- prefNames = preferences.defaultPropertyNames();
- for (int i = 0; i < prefNames.length; i++) {
- String value = preferences.getDefaultString(prefNames[i]);
- System.out.println("\tDefault values: " + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-}
-public static long getRegistryCacheTimeStamp() {
- return cacheReadTimeStamp;
-}
-public static void setRegistryCacheTimeStamp(long timeStamp) {
- cacheReadTimeStamp = timeStamp;
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
deleted file mode 100644
index bfe0075..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Log.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.util.*;
-
-/**
- *
- */
-public class Log implements ILog{
- Plugin plugin;
- Set logListeners = new HashSet(5);
-Log(Plugin plugin) {
- this.plugin = plugin;
-}
-/**
- * Adds the given log listener to this log. Subsequently the log listener will
- * receive notification of all log events passing through this log.
- *
- * @see Platform#addLogListener
- */
-public void addLogListener(ILogListener listener) {
- synchronized (logListeners) {
- logListeners.add(listener);
- }
-}
-/**
- * Returns the plug-in with which this log is associated.
- */
-public Plugin getPlugin() {
- return plugin;
-}
-/**
- * Logs the given status. The status is distributed to the log listeners
- * installed on this log and then to the log listeners installed on the platform.
- *
- * @see Plugin#getLogMask
- */
-public void log(final IStatus status) {
- // Log to the platform log first in case a listener throws an error.
- InternalPlatform.log(status);
- // create array to avoid concurrent access
- ILogListener[] listeners;
- synchronized (logListeners) {
- listeners = (ILogListener[]) logListeners.toArray(new ILogListener[logListeners.size()]);
- }
- for (int i = 0; i < listeners.length; i++) {
- final ILogListener listener = listeners[i];
- ISafeRunnable code = new ISafeRunnable() {
- public void run() throws Exception {
- listener.logging(status, plugin.getDescriptor().getUniqueIdentifier());
- }
- public void handleException(Throwable e) {
- }
- };
- InternalPlatform.run(code);
- }
-}
-/**
- * Removes the given log listener to this log. Subsequently the log listener will
- * no longer receive notification of log events passing through this log.
- *
- * @see Platform#removeLogListener
- */
-public void removeLogListener(ILogListener listener) {
- synchronized (logListeners) {
- logListeners.remove(listener);
- }
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java
deleted file mode 100644
index 63fbe35..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformLogWriter.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.runtime.*;
-/**
- * A log writer that writes log entries.
- * See PlatformLogReader for reading logs back into memory.
- */
-public class PlatformLogWriter implements ILogListener {
- protected File logFile = null;
- protected Writer log = null;
- protected boolean newSession = true;
-
- protected static final String SESSION = "!SESSION";//$NON-NLS-1$
- protected static final String ENTRY = "!ENTRY";//$NON-NLS-1$
- protected static final String SUBENTRY = "!SUBENTRY";//$NON-NLS-1$
- protected static final String MESSAGE = "!MESSAGE";//$NON-NLS-1$
- protected static final String STACK = "!STACK";//$NON-NLS-1$
-
- protected static final String LINE_SEPARATOR;
- protected static final String TAB_STRING = "\t";//$NON-NLS-1$
-
- static {
- String s = System.getProperty("line.separator");//$NON-NLS-1$
- LINE_SEPARATOR = s == null ? "\n" : s;//$NON-NLS-1$
- }
-
-public PlatformLogWriter(File file) {
- this.logFile = file;
-}
-/**
- * This constructor should only be used to pass System.out .
- */
-public PlatformLogWriter(OutputStream out) {
- this.log = logForStream(out);
-}
-protected void closeLogFile() throws IOException {
- try {
- if (log != null) {
- log.flush();
- log.close();
- }
- } finally {
- log = null;
- }
-}
-/**
- * @see ILogListener#logging.
- */
-public synchronized void logging(IStatus status, String plugin) {
- // thread safety: (Concurrency003)
- if (logFile != null)
- openLogFile();
- if (log == null)
- log = logForStream(System.err);
- try {
- try {
- write(status, 0);
- } finally {
- if (logFile != null)
- closeLogFile();
- else
- log.flush();
- }
- } catch (Exception e) {
- System.err.println("An exception occurred while writing to the platform log:");//$NON-NLS-1$
- e.printStackTrace(System.err);
- System.err.println("Logging to the console instead.");//$NON-NLS-1$
- //we failed to write, so dump log entry to console instead
- try {
- log = logForStream(System.err);
- write(status, 0);
- log.flush();
- } catch (Exception e2) {
- System.err.println("An exception occurred while logging to the console:");//$NON-NLS-1$
- e2.printStackTrace(System.err);
- }
- } finally {
- log = null;
- }
-}
-protected void openLogFile() {
- try {
- log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true), "UTF-8"));//$NON-NLS-1$
- if (newSession) {
- writeHeader();
- newSession = false;
- }
- } catch (IOException e) {
- // there was a problem opening the log file so log to the console
- log = logForStream(System.err);
- }
-}
-protected void writeHeader() throws IOException {
- write(SESSION);
- writeSpace();
- String date = getDate();
- write(date);
- writeSpace();
- for (int i=SESSION.length()+date.length(); i<78; i++) {
- write("-");//$NON-NLS-1$
- }
- writeln();
-
- // Write out certain values found in System.getProperties()
- try {
- String key = "java.fullversion";//$NON-NLS-1$
- String value = System.getProperty(key);
- if (value == null) {
- key = "java.version";//$NON-NLS-1$
- value = System.getProperty(key);
- writeln(key + "=" + value);//$NON-NLS-1$
- key = "java.vendor";//$NON-NLS-1$
- value = System.getProperty(key);
- writeln(key + "=" + value);//$NON-NLS-1$
- } else {
- writeln(key + "=" + value);//$NON-NLS-1$
- }
- } catch (Exception e) {
- // If we're not allowed to get the values of these properties
- // then just skip over them.
- }
-
- // The Bootloader has some information that we might be interested in.
- write("BootLoader constants: OS=" + BootLoader.getOS());//$NON-NLS-1$
- write(", ARCH=" + BootLoader.getOSArch());//$NON-NLS-1$
- write(", WS=" + BootLoader.getWS());//$NON-NLS-1$
- writeln(", NL=" + BootLoader.getNL());//$NON-NLS-1$
-
- // Add the command-line arguments used to envoke the platform.
- String[] args = BootLoader.getCommandLineArgs();
- if (args != null && args.length > 0) {
- write("Command-line arguments:");//$NON-NLS-1$
- for (int i=0; i<args.length; i++) {
- //mask out the password argument for security
- if (i > 0 && InternalPlatform.PASSWORD.equals(args[i-1]))
- write(" (omitted)");//$NON-NLS-1$
- else
- write(" " + args[i]);//$NON-NLS-1$
- }
- writeln();
- }
-
-}
-protected String getDate() {
- try {
- DateFormat formatter = new SimpleDateFormat("MMM dd, yyyy HH:mm:ss.SS"); //$NON-NLS-1$
- return formatter.format(new Date());
- } catch (Exception e) {
- // If there were problems writing out the date, ignore and
- // continue since that shouldn't stop us from losing the rest
- // of the information
- }
- return Long.toString(System.currentTimeMillis());
-}
-protected Writer logForStream(OutputStream output) {
- try {
- return new BufferedWriter(new OutputStreamWriter(output, "UTF-8"));//$NON-NLS-1$
- } catch (UnsupportedEncodingException e) {
- return new BufferedWriter(new OutputStreamWriter(output));
- }
-}
-/**
- * Writes the given string to the log, followed by the line terminator string.
- */
-protected void writeln(String s) throws IOException {
- write(s);
- writeln();
-}
-/**
- * Shuts down the platform log.
- */
-public synchronized void shutdown() {
- try {
- if (logFile != null) {
- closeLogFile();
- logFile = null;
- } else {
- if (log != null) {
- Writer old = log;
- log = null;
- old.flush();
- old.close();
- }
- }
- } catch (Exception e) {
- //we've shutdown the log, so not much else we can do!
- e.printStackTrace();
- }
-}
-
-protected void write(Throwable throwable) throws IOException {
- if (throwable == null)
- return;
- write(STACK);
- writeSpace();
- boolean isCoreException = throwable instanceof CoreException;
- if (isCoreException)
- writeln("1");//$NON-NLS-1$
- else
- writeln("0");//$NON-NLS-1$
- throwable.printStackTrace(new PrintWriter(log));
- if (isCoreException) {
- CoreException e = (CoreException) throwable;
- write(e.getStatus(), 0);
- }
-}
-
-
-protected void write(IStatus status, int depth) throws IOException {
- if (depth == 0) {
- write(ENTRY);
- } else {
- write(SUBENTRY);
- writeSpace();
- write(Integer.toString(depth));
- }
- writeSpace();
- write(status.getPlugin());
- writeSpace();
- write(Integer.toString(status.getSeverity()));
- writeSpace();
- write(Integer.toString(status.getCode()));
- writeSpace();
- write(getDate());
- writeln();
-
- write(MESSAGE);
- writeSpace();
- writeln(status.getMessage());
-
- write(status.getException());
-
- if (status.isMultiStatus()) {
- IStatus[] children = status.getChildren();
- for (int i = 0; i < children.length; i++) {
- write(children[i], depth+1);
- }
- }
-}
-
-protected void writeln() throws IOException {
- write(LINE_SEPARATOR);
-}
-protected void write(String message) throws IOException {
- if (message != null)
- log.write(message);
-}
-protected void writeSpace() throws IOException {
- write(" ");//$NON-NLS-1$
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java
deleted file mode 100644
index 680c255..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformMetaArea.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.util.*;
-import java.io.*;
-
-public class PlatformMetaArea {
- IPath location;
-
- /* package */ static final String F_DESCRIPTION = ".platform"; //$NON-NLS-1$
- /* package */ static final String F_META_AREA = ".metadata"; //$NON-NLS-1$
- /* package */ static final String F_PLUGIN_PATH = ".plugin-path"; //$NON-NLS-1$
- /* package */ static final String F_PLUGIN_DATA = ".plugins"; //$NON-NLS-1$
- /* package */ static final String F_REGISTRY = ".registry"; //$NON-NLS-1$
- /* package */ static final String F_SNAP = ".snap"; //$NON-NLS-1$
- /* package */ static final String F_LOG = ".log"; //$NON-NLS-1$
- /* package */ static final String F_BACKUP = ".bak"; //$NON-NLS-1$
- /* package */ static final String F_OPTIONS = ".options"; //$NON-NLS-1$
- /* package */ static final String F_KEYRING = ".keyring"; //$NON-NLS-1$
- /* package */ static final String F_LOCK_FILE = ".lock"; //$NON-NLS-1$
- /**
- * Internal name of the preference storage file (value
- * <code>"pref_store.ini"</code>) in this plug-in's (read-write) state area.
- */
- /* package */ static final String PREFERENCES_FILE_NAME = "pref_store.ini";//$NON-NLS-1$
-
-/**
- *
- */
-public PlatformMetaArea(IPath location) {
- super();
- this.location = location;
-}
-private Properties buildPathProperties(Hashtable paths) {
- Properties result = new Properties();
- for (Enumeration keys = paths.keys(); keys.hasMoreElements();) {
- String key = (String) keys.nextElement();
- StringBuffer entry = new StringBuffer(100);
- IPath[] list = (IPath[]) paths.get(key);
- for (int i = 0; i < list.length; i++) {
- entry.append(list[i].toOSString());
- entry.append(";"); //$NON-NLS-1$
- }
- result.put(key, entry.toString());
- }
- return result;
-}
-/**
- *
- */
-public void createLocation() throws CoreException {
- File file = getLocation().toFile();
- try {
- file.mkdirs();
- } catch (Exception e) {
- String message = Policy.bind("meta.couldNotCreate", file.getAbsolutePath()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, e));
- }
- if (!file.canWrite()) {
- String message = Policy.bind("meta.readonly", file.getAbsolutePath()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, null));
- }
-}
-public IPath getBackupFilePathFor(IPath file) {
- return file.removeLastSegments(1).append(file.lastSegment() + F_BACKUP);
-}
-/**
- * Returns the location of the platform's meta area.
- */
-public IPath getLocation() {
- return location.append(F_META_AREA);
-}
-/**
- *
- */
-public IPath getLogLocation() {
- return getLocation().append(F_LOG);
-}
-/**
- *
- */
-public IPath getOptionsLocation() {
- return getLocation().append(F_OPTIONS);
-}
-/**
- * Returns the read/write location of the file for storing plugin preferences.
- */
-public IPath getPluginPreferenceLocation(IPluginDescriptor descriptor, boolean create) {
- IPath result = getPluginStateLocation(descriptor);
- if (create)
- result.toFile().mkdirs();
- return result.append(PREFERENCES_FILE_NAME);
-}
-/**
- * Returns the read/write location in which the given plugin can manage
- * private state.
- */
-public IPath getPluginStateLocation(IPluginDescriptor descriptor) {
- return getLocation().append(F_PLUGIN_DATA).append(descriptor.getUniqueIdentifier());
-}
-/**
- *
- */
-public IPath getRegistryPath() {
- return getLocation().append(F_REGISTRY);
-}
-/**
- *
- */
-public IPath getSnapshotPath() {
- return getLocation().append(F_SNAP);
-}
-private Hashtable parsePathProperties(Properties props) {
- Hashtable result = new Hashtable(5);
- for (Enumeration keys = props.propertyNames(); keys.hasMoreElements();) {
- String key = (String) keys.nextElement();
- String entry = props.getProperty(key);
- Vector list = new Vector(4);
- for (StringTokenizer tokens = new StringTokenizer(entry, ";"); tokens.hasMoreTokens();) //$NON-NLS-1$
- list.addElement(new Path(tokens.nextToken()));
- IPath[] paths = new IPath[list.size()];
- list.copyInto(paths);
- result.put(key, paths);
- }
- return result;
-}
-public Hashtable readPluginPath(IPath location) throws CoreException {
- Properties props = new Properties();
- location = location.append(F_PLUGIN_PATH);
- IPath tempLocation = getBackupFilePathFor(location);
- SafeFileInputStream stream = null;
- try {
- try {
- stream = new SafeFileInputStream(location.toOSString(), tempLocation.toOSString());
- props.load(stream);
- } finally {
- if (stream != null)
- stream.close();
- }
- } catch (IOException e) {
- String message = Policy.bind("meta.readPlatformMeta", location.toString()); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_READ_METADATA, message, e);
- throw new CoreException (status);
-}
- return parsePathProperties(props);
-}
-/**
- * @see IWorkbenchProtected#setPluginPath
- */
-public void writePluginPath(Hashtable paths, IPath location) throws CoreException {
- Properties props = buildPathProperties(paths);
- location = location.append(F_PLUGIN_PATH);
- IPath tempLocation = getBackupFilePathFor(location);
- SafeFileOutputStream stream = null;
- try {
- try {
- stream = new SafeFileOutputStream(location.toOSString(), tempLocation.toOSString());
- props.store(stream, null);
- } finally {
- if (stream != null)
- stream.close();
- }
- } catch (IOException e) {
- String message = Policy.bind("meta.writePlatformMeta", location.toString()); //$NON-NLS-1$
- IStatus status = new Status(IStatus.ERROR, Platform.PI_RUNTIME, Platform.FAILED_WRITE_METADATA, message, e);
- throw new CoreException (status);
- }
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java
deleted file mode 100644
index f961664..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLFragmentConnection.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-/**
- * Platform URL support
- * platform:/fragment/<fragmentId>/ maps to fragmentDescriptor.getInstallURLInternal()
- */
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.core.internal.boot.PlatformURLConnection;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.runtime.model.PluginRegistryModel;
-
-public class PlatformURLFragmentConnection extends PlatformURLConnection {
-
- // fragment/ protocol
- private PluginFragmentModel fd = null;
- private static boolean isRegistered = false;
- public static final String FRAGMENT = "fragment"; //$NON-NLS-1$
-public PlatformURLFragmentConnection(URL url) {
- super(url);
-}
-protected boolean allowCaching() {
- return true;
-}
-protected URL resolve() throws IOException {
- String spec = url.getFile().trim();
- if (spec.startsWith("/")) //$NON-NLS-1$
- spec = spec.substring(1);
- if (!spec.startsWith(FRAGMENT))
- throw new IOException(Policy.bind("url.badVariant", url.toString())); //$NON-NLS-1$
- int ix = spec.indexOf("/",FRAGMENT.length()+1); //$NON-NLS-1$
- String ref = ix==-1 ? spec.substring(FRAGMENT.length()+1) : spec.substring(FRAGMENT.length()+1,ix);
- String id = getId(ref);
- String vid = getVersion(ref);
- PluginRegistryModel registry = (PluginRegistryModel)Platform.getPluginRegistry();
- fd = vid==null ? registry.getFragment(id) : registry.getFragment(id,vid);
- if (fd == null)
- throw new IOException(Policy.bind("url.resolveFragment", url.toString())); //$NON-NLS-1$
- URL result = new URL (fd.getLocation());
- if (ix == -1 || (ix + 1) >= spec.length())
- return result;
- else
- return new URL(result, spec.substring(ix+1));
-}
-
-public static void startup() {
-
- // register connection type for platform:/fragment handling
- if (isRegistered) return;
- PlatformURLHandler.register(FRAGMENT, PlatformURLFragmentConnection.class);
- isRegistered = true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java
deleted file mode 100644
index e0ca6e5..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginConnection.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java
deleted file mode 100644
index 6409573..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PlatformURLPluginHandlerFactory.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.net.URLStreamHandler;
-import java.net.URLStreamHandlerFactory;
-
-import org.eclipse.core.internal.boot.PlatformURLHandlerFactory;
-import org.eclipse.core.runtime.*;
-
-public class PlatformURLPluginHandlerFactory implements URLStreamHandlerFactory {
-
- IConfigurationElement ce = null;
-
- private static final String URL_HANDLERS_POINT = "org.eclipse.core.runtime.urlHandlers"; //$NON-NLS-1$
- private static final String PROTOCOL = "protocol"; //$NON-NLS-1$
- private static final String HANDLER = "class"; //$NON-NLS-1$
-public PlatformURLPluginHandlerFactory(IConfigurationElement ce) {
- super();
- this.ce = ce;
-}
-public URLStreamHandler createURLStreamHandler(String protocol) {
-
- URLStreamHandler handler = null;
- try {
- handler = (URLStreamHandler)ce.createExecutableExtension(HANDLER);
- } catch (CoreException e) {}
- return handler;
-}
-public static void startup() {
-
- // register URL handler extensions
- IPluginRegistry r = Platform.getPluginRegistry();
- IConfigurationElement[] ce = r.getConfigurationElementsFor(URL_HANDLERS_POINT);
- String protocol;
- for (int i=0; i<ce.length; i++) {
- // register factory elements (actual handlers lazily created on request)
- protocol = ce[i].getAttribute(PROTOCOL);
- if (protocol!=null) PlatformURLHandlerFactory.register(protocol,new PlatformURLPluginHandlerFactory(ce[i]));
- }
-
- // initialize plugin and fragment connection support
- PlatformURLPluginConnection.startup();
- PlatformURLFragmentConnection.startup();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java
deleted file mode 100644
index fa49e27..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PluginStats.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others. All rights reserved. This
- * program and the accompanying materials are made available under the terms of
- * the Common Public License v1.0 which accompanies this distribution, and is
- * available at http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.util.*;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.boot.*;
-
-/**
- * Contains information about activated plugins and acts as the main
- * entry point for logging plugin activity.
- */
-
-public class PluginStats {
- public String pluginId;
- public int activationOrder;
- private long timestamp; //timeStamp at which this plugin has been activated
- private boolean duringStartup; // indicate if the plugin has been activated during startup
- private long startupTime; // the time took by the plugin to startup
- private long startupMethodTime; // the time took to run the startup method
-
- // Indicate the position of the activation trace in the file
- private long traceStart=-1;
- private long traceEnd =-1;
-
- //To keep plugins parentage
- private ArrayList pluginsActivated = new ArrayList(3); // TODO create lazily
- private PluginStats activatedBy=null;
-
- // This connect plugins and their info, and so allows to access the info without running through
- // the plugin registry. This map only contains activated plugins. The key is the plugin Id
- private static Map plugins = new HashMap(20);
- private static Stack activationStack = new Stack(); // a stack of the plugins being activated
- private static boolean booting = true; // the state of the platform. This value is changed by the InternalPlatform itself.
-
- static {
- // activate the boot plugin manually since we do not control the classloader
- activateBootPlugin();
- }
-
- // hard code the starting of the boot plugin as it does not go through the normal sequence
- private static void activateBootPlugin() {
- PluginStats plugin = findPlugin(BootLoader.PI_BOOT);
- plugin.setTimestamp(System.currentTimeMillis());
- plugin.setActivationOrder(plugins.size());
- }
-
- public static void startActivation(String pluginId) {
- // should be called from a synchronized location to protect against concurrent updates
- PluginStats plugin = findPlugin(pluginId);
- plugin.setTimestamp(System.currentTimeMillis());
- plugin.setActivationOrder(plugins.size());
-
- // set the parentage of activation
- if (activationStack.size() != 0) {
- PluginStats activatedBy = (PluginStats) activationStack.peek();
- activatedBy.activated(plugin);
- plugin.setActivatedBy(activatedBy);
- }
- activationStack.push(plugin);
-
- if (DelegatingURLClassLoader.TRACE_PLUGINS) {
- traceActivate(pluginId, plugin);
- }
- }
-
- private static void traceActivate(String id, PluginStats plugin) {
- try {
- PrintWriter output = new PrintWriter(new FileOutputStream(ClassloaderStats.traceFile.getAbsolutePath(), true));
- try {
- long startPosition = ClassloaderStats.traceFile.length();
- output.println("Activating plugin: " + id); //$NON-NLS-1$
- output.println("Plugin activation stack:"); //$NON-NLS-1$
- for (int i = activationStack.size() - 1; i >= 0 ; i--)
- output.println("\t" + ((PluginStats)activationStack.get(i)).getPluginId()); //$NON-NLS-1$
- output.println("Class loading stack:"); //$NON-NLS-1$
- Stack classStack = ClassloaderStats.getClassStack();
- for (int i = classStack.size() - 1; i >= 0 ; i--)
- output.println("\t" + ((ClassStats) classStack.get(i)).getClassName()); //$NON-NLS-1$
- output.println("Stack trace:"); //$NON-NLS-1$
- new Throwable().printStackTrace(output);
- plugin.setTraceStart(startPosition);
- } finally {
- output.close();
- plugin.setTraceEnd(ClassloaderStats.traceFile.length());
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
-
- public static void endActivation(String pluginId) {
- // should be called from a synchronized location to protect against concurrent updates
- if (!DelegatingURLClassLoader.MONITOR_PLUGINS)
- return;
- PluginStats plugin = (PluginStats) activationStack.pop();
- plugin.endActivation();
- }
-
- // Get the pluginInfo if available, or create it.
- private static PluginStats findPlugin(String id) {
- PluginStats result = (PluginStats)plugins.get(id);
- if (result == null) {
- result = new PluginStats(id);
- plugins.put(id, result);
- }
- return (PluginStats)result;
- }
-
- public static PluginStats[] getPlugins() {
- return (PluginStats[])plugins.values().toArray(new PluginStats[plugins.size()]);
- }
-
- static public PluginStats getPlugin(String id) {
- return (PluginStats) plugins.get(id);
- }
-
- private PluginStats(String pluginId) {
- this.pluginId = pluginId;
- duringStartup = booting;
- }
-
- public long getTimestamp() {
- return timestamp;
- }
-
- public int getActivationOrder() {
- return activationOrder;
- }
-
- private void activated(PluginStats plugin) {
- pluginsActivated.add(plugin);
- }
-
- public PluginStats getActivatedBy() {
- return activatedBy;
- }
-
- public String getPluginId() {
- return pluginId;
- }
-
- public long getStartupTime() {
- return startupTime;
- }
-
- public long getStartupMethodTime() {
- return startupMethodTime;
- }
-
- public boolean isStartupPlugin() {
- return duringStartup;
- }
-
- public int getClassLoadCount() {
- if (!DelegatingURLClassLoader.MONITOR_CLASSES)
- return 0;
- ClassloaderStats loader = ClassloaderStats.getLoader(pluginId);
- return loader == null ? 0 : loader.getClassLoadCount();
- }
-
- public long getClassLoadTime() {
- if (!DelegatingURLClassLoader.MONITOR_CLASSES)
- return 0;
- ClassloaderStats loader = ClassloaderStats.getLoader(pluginId);
- return loader == null ? 0 : loader.getClassLoadTime();
- }
-
- public ArrayList getPluginsActivated() {
- return pluginsActivated;
- }
-
- public long getTraceStart() {
- return traceStart;
- }
-
- public long getTraceEnd() {
- return traceEnd;
- }
-
- private void setTimestamp(long value) {
- timestamp = value;
- }
-
- private void setActivationOrder(int value) {
- activationOrder = value;
- }
-
- private void setTraceStart(long time) {
- traceStart = time;
- }
-
- public static void setBooting(boolean boot) {
- booting = boot;
- }
-
- private void endActivation() {
- startupTime = System.currentTimeMillis() - timestamp;
- }
-
- private void setTraceEnd(long position) {
- traceEnd = position;
- }
-
- private void setStartupMethodTime(long time) {
- startupMethodTime = time;
- }
-
- private void setActivatedBy(PluginStats value) {
- activatedBy = value;
- }
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java
deleted file mode 100644
index 8d0ed6a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/Policy.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.text.MessageFormat;
-import java.util.*;
-
-public class Policy {
- private static String bundleName = "org.eclipse.core.internal.runtime.messages";//$NON-NLS-1$
- private static ResourceBundle bundle = ResourceBundle.getBundle(bundleName, Locale.getDefault());
-
-/**
- * Lookup the message with the given ID in this catalog
- */
-public static String bind(String id) {
- return bind(id, (String[])null);
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string.
- */
-public static String bind(String id, String binding) {
- return bind(id, new String[] {binding});
-}
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given strings.
- */
-public static String bind(String id, String binding1, String binding2) {
- return bind(id, new String[] {binding1, binding2});
-}
-
-/**
- * Lookup the message with the given ID in this catalog and bind its
- * substitution locations with the given string values.
- */
-public static String bind(String id, String[] bindings) {
- if (id == null)
- return "No message available";//$NON-NLS-1$
- String message = null;
- try {
- message = bundle.getString(id);
- } catch (MissingResourceException e) {
- // If we got an exception looking for the message, fail gracefully by just returning
- // the id we were looking for. In most cases this is semi-informative so is not too bad.
- return "Missing message: " + id + " in: " + bundleName;//$NON-NLS-1$ //$NON-NLS-2$
- }
- if (bindings == null)
- return message;
- return MessageFormat.format(message, bindings);
-}
-public static IProgressMonitor monitorFor(IProgressMonitor monitor) {
- if (monitor == null)
- return new NullProgressMonitor();
- return monitor;
-}
-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks) {
- if (monitor == null)
- return new NullProgressMonitor();
- if (monitor instanceof NullProgressMonitor)
- return monitor;
- return new SubProgressMonitor(monitor, ticks);
-}
-public static IProgressMonitor subMonitorFor(IProgressMonitor monitor, int ticks, int style) {
- if (monitor == null)
- return new NullProgressMonitor();
- if (monitor instanceof NullProgressMonitor)
- return monitor;
- return new SubProgressMonitor(monitor, ticks, style);
-}
-/**
- * Print a debug message to the console. If the given boolean is <code>true</code> then
- * pre-pend the message with the current date.
- */
-public static void debug(boolean includeDate, String message) {
- if (includeDate)
- message = new Date(System.currentTimeMillis()).toString() + " - "+ message; //$NON-NLS-1$
- System.out.println(message);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java
deleted file mode 100644
index 6f06fc2..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/PreferenceExporter.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.runtime.*;
-
-/**
- * Utility class for exporting and importing the complete set of user-defined
- * preferences for all plugins in the platform. The global preference file
- * is written in the following format:
- *
- * <plugin-id1>=<plugin-version1>
- * <plugin-id1>/<property-key1>=<property-value1>
- * <plugin-id1>/<property-key2>=<property-value2>
- * ...
- * <plugin-id2>=<plugin-version2>
- * <plugin-id2>/<property-key1>=<property-value1>
- * <plugin-id2>/<property-key2>=<property-value2>
- * ...
- */
-public class PreferenceExporter {
- /**
- * The character that separates the plug-in id from the property key.
- */
- private static final char PLUGIN_SEPARATOR = '/';
-
- /**
- * @see Preferences#exportPreferences
- */
- public static void exportPreferences(IPath file) throws CoreException {
- //collect all plugin preferences into a single global preference object
- Preferences globalPreferences = new Preferences();
- IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
- for (int i = 0; i < descriptors.length; i++) {
- IPluginDescriptor descriptor = descriptors[i];
- //save current preferences to ensure most recent values are exported
- if (descriptor.isPluginActivated()) {
- descriptor.getPlugin().savePluginPreferences();
- }
- //now merge the plugin preferences into the global preference object
- if (mergePluginPreferences(descriptor, globalPreferences)) {
- //write the property that indicates the plugin version
- globalPreferences.setValue(descriptor.getUniqueIdentifier(), descriptor.getVersionIdentifier().toString());
- }
-
- }
- storePreferences(file, globalPreferences);
- }
- /**
- * @see Preferences#importPreferences
- */
- public static void importPreferences(IPath file) throws CoreException {
- if (!file.toFile().exists()) {
- String msg = Policy.bind("preferences.fileNotFound", file.toOSString()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, null));
- }
- Map idsToPreferences = splitPreferences(file);
- IPluginDescriptor[] descriptors = Platform.getPluginRegistry().getPluginDescriptors();
- for (int i = 0; i < descriptors.length; i++) {
- setPluginPreferences(descriptors[i],
- (Preferences) idsToPreferences.get(descriptors[i].getUniqueIdentifier()));
- }
- }
- /**
- * Loads preferences from the given file into the provided preferences instance.
- * Returns the preferences instance.
- */
- private static Preferences loadPreferences(IPath properties, Preferences preferences) throws CoreException {
- File propertiesFile = properties.toFile();
- if (propertiesFile.exists()) {
- InputStream in = null;
- try {
- in = new BufferedInputStream(new FileInputStream(propertiesFile));
- preferences.load(in);
- } catch (IOException e) {
- String msg = Policy.bind("preferences.errorReading", propertiesFile.toString(), e.getMessage()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e));
- } catch (IllegalArgumentException e) {
- //properties.load throws IllegalArgumentException if the file encoding is wrong
- String msg = Policy.bind("preferences.errorReading", propertiesFile.toString(), e.getMessage()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e));
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- //ignore failure to close
- }
- }
- }
- }
- return preferences;
- }
- /**
- * Adds all preferences for the given plugin descriptor to the provided
- * preferences instance. Returns true if any properties were added,
- * and false otherwise.
- */
- private static boolean mergePluginPreferences(IPluginDescriptor descriptor, Preferences preferences) throws CoreException {
- boolean found = false;
- IPath propertiesFile = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, false);
- if (propertiesFile.toFile().exists()) {
- Preferences pluginPreferences = loadPreferences(propertiesFile, new Preferences());
- String pluginId = descriptor.getUniqueIdentifier();
- String[] keys = pluginPreferences.propertyNames();
- found = keys.length > 0;
- for (int i = 0; i < keys.length; i++) {
- String longKey = pluginId + PLUGIN_SEPARATOR + keys[i];
- preferences.setValue(longKey, pluginPreferences.getString(keys[i]));
- }
- }
- return found;
- }
-
-
- /**
- * Sets the given preferences as the preferences for the plugin with the
- * given descriptor, overwriting any previously defined preferences. If
- * the given preferences is null, all values are returned to their default value.
- */
- private static void setPluginPreferences(IPluginDescriptor descriptor, Preferences newPreferences) throws CoreException {
- IPath location = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, false);
- if (descriptor.isPluginActivated()) {
- Plugin plugin = descriptor.getPlugin();
- if (plugin != null) {
- Preferences oldPreferences = plugin.getPluginPreferences();
- //remove all old values
- String[] keys = oldPreferences.propertyNames();
- for (int i = 0; i < keys.length; i++) {
- keys[i] = keys[i].intern();
- oldPreferences.setToDefault(keys[i]);
- }
- //add new values
- if (newPreferences != null) {
- keys = newPreferences.propertyNames();
- for (int i = 0; i < keys.length; i++) {
- keys[i] = keys[i].intern();
- oldPreferences.setValue(keys[i], newPreferences.getString(keys[i]));
- }
- }
- //save the preferences file
- storePreferences(location, oldPreferences);
- }
- } else {
- //if the plugin isn't loaded, just save the preferences file directly
- storePreferences(location, newPreferences);
- }
- }
- /**
- * Splits up a global preference file into preferences for each plugin
- * descriptor. Returns a map of plugin IDs to Preferences objects
- * for that plugin.
- */
- private static Map splitPreferences(IPath file) throws CoreException {
- Preferences globalPreferences = loadPreferences(file, new Preferences());
- validatePreferenceFileFormat(globalPreferences);
- Map idsToPreferences = new HashMap();
- String[] keys = globalPreferences.propertyNames();
- for (int i = 0; i < keys.length; i++) {
- String longKey = keys[i];
- int index = longKey.indexOf(PLUGIN_SEPARATOR);
- if (index >= 0) {
- String pluginId = longKey.substring(0, index);
- String key = longKey.substring(index + 1);
- Preferences preferences = (Preferences) idsToPreferences.get(pluginId);
- if (preferences == null) {
- preferences = new Preferences();
- idsToPreferences.put(pluginId, preferences);
- }
- preferences.setValue(key, globalPreferences.getString(longKey));
- }
- }
- return idsToPreferences;
- }
-
-
-
-
- /**
- * Writes the given preferences to the given file. If the preferences are
- * null or empty, the file is deleted.
- */
- private static void storePreferences(IPath destination, Preferences preferences) throws CoreException {
- File propertiesFile = destination.toFile();
- if (preferences == null || preferences.propertyNames().length == 0) {
- propertiesFile.delete();
- return;
- }
- File parent = propertiesFile.getParentFile();
- if (!parent.exists()) {
- parent.mkdirs();
- }
- OutputStream out = null;
- try {
- out = new BufferedOutputStream(new FileOutputStream(propertiesFile));
- preferences.store(out, null);
- } catch (IOException e) {
- String msg = Policy.bind("preferences.errorWriting", propertiesFile.toString(), e.getMessage()); //$NON-NLS-1$
- throw new CoreException(new Status(IStatus.ERROR, Platform.PI_RUNTIME, 1, msg, e));
- } finally {
- if (out != null) {
- try {
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
- }
- /**
- * Compares two plugin version identifiers to see if their preferences
- * are compatible. If they are not compatible, a warning message is
- * added to the given multistatus, according to the following rules:
- *
- * - plugins that differ in service number: no status
- * - plugins that differ in minor version: WARNING status
- * - plugins that differ in major version:
- * - where installed plugin is newer: WARNING status
- * - where installed plugin is older: ERROR status
- * @param pref The version identifer of the preferences to be loaded
- * @param installed The version identifier of the installed plugin
- */
- private static void validatePluginVersions(
- String pluginId,
- PluginVersionIdentifier pref,
- PluginVersionIdentifier installed,
- MultiStatus result) {
-
- if (installed.getMajorComponent() == pref.getMajorComponent() &&
- installed.getMinorComponent() == pref.getMinorComponent()) {
- return;
- }
- int severity;
- if (installed.getMajorComponent() < pref.getMajorComponent()) {
- severity = IStatus.ERROR;
- } else {
- severity = IStatus.WARNING;
- }
- String msg = Policy.bind("preferences.incompatible", new String[] { //$NON-NLS-1$
- pref.toString(), pluginId, installed.toString()});
- result.add(new Status(severity, Platform.PI_RUNTIME, 1, msg, null));
- }
- /**
- * Throws an exception if the supplied preferences do not comply
- * with the preference export file format.
- */
- private static void validatePreferenceFileFormat(Preferences preferences) throws CoreException {
- String[] names = preferences.propertyNames();
- for (int i = 0; i < names.length; i++) {
- String pluginId = null;
- int separator = names[i].indexOf(PLUGIN_SEPARATOR);
- if (separator >= 0) {
- //should be of the form <plugin-id>/<key>=<value>
- pluginId = names[i].substring(0, separator);
- //ensure there is a corresponding plugin version property
- String versionId = preferences.getString(pluginId);
- if (versionId == null || versionId.length() == 0) {
- String msg = Policy.bind("preferences.invalidProperty", names[i], //$NON-NLS-1$
- preferences.getString(names[i]));
- throw new CoreException(
- new Status(IStatus.ERROR, Platform.PI_RUNTIME, 0, msg, null));
- }
- } else {
- //should be of the form <plugin-id>=<plugin-version-id>
- pluginId = names[i];
- //verify that the versionId has the correct format
- String versionId = preferences.getString(pluginId);
- if (!PluginVersionIdentifier.validateVersion(versionId).isOK()) {
- String msg = Policy.bind("preferences.invalidProperty", names[i], //$NON-NLS-1$
- preferences.getString(names[i]));
- throw new CoreException(
- new Status(IStatus.ERROR, Platform.PI_RUNTIME, 0, msg, null));
- }
- }
- }
- }
- /**
- * @see Preferences#validatePreferenceVersions
- */
- public static IStatus validatePreferenceVersions(IPath file) {
- String msg = Policy.bind("preferences.validate"); //$NON-NLS-1$
- MultiStatus result = new MultiStatus(Platform.PI_RUNTIME, 1, msg, null);
- Preferences globalPreferences = null;
- try {
- globalPreferences = loadPreferences(file, new Preferences());
- } catch (CoreException e) {
- return e.getStatus();
- }
- IPluginRegistry registry = Platform.getPluginRegistry();
- String[] keys = globalPreferences.propertyNames();
- for (int i = 0; i < keys.length; i++) {
- String pluginId = keys[i];
- //if the key does not contain the separator character, it is a plugin version property
- if (pluginId.indexOf(PLUGIN_SEPARATOR) < 0) {
- IPluginDescriptor descriptor = registry.getPluginDescriptor(pluginId);
- if (descriptor != null) {
- String version = globalPreferences.getString(pluginId);
- if (PluginVersionIdentifier.validateVersion(version).isOK()) {
- PluginVersionIdentifier preferenceVersion = new PluginVersionIdentifier(version);
- PluginVersionIdentifier installedVersion = descriptor.getVersionIdentifier();
- validatePluginVersions(pluginId, preferenceVersion, installedVersion, result);
- }
- }
- }
- }
- return result;
- }
-}
-
-
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java
deleted file mode 100644
index f80fc64..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileInputStream.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.io.*;
-/**
- * Given a target and a temporary locations, it tries to read the contents
- * from the target. If a file does not exist at the target location, it tries
- * to read the contents from the temporary location.
- *
- * @see SafeFileOutputStream
- */
-public class SafeFileInputStream extends FilterInputStream {
- protected static final String EXTENSION = ".bak"; //$NON-NLS-1$
-public SafeFileInputStream(File file) throws IOException {
- this(file.getAbsolutePath(), null);
-}
-public SafeFileInputStream(String targetName) throws IOException {
- this(targetName, null);
-}
-/**
- * If targetPath is null, the file will be created in the default-temporary directory.
- */
-public SafeFileInputStream(String targetPath, String tempPath) throws IOException {
- super(getInputStream(targetPath, tempPath));
-}
-private static InputStream getInputStream(String targetPath, String tempPath) throws IOException {
- File target = new File(targetPath);
- if (!target.exists()) {
- if (tempPath == null)
- tempPath = target.getAbsolutePath() + EXTENSION;
- target = new File(tempPath);
- }
- return new BufferedInputStream(new FileInputStream(target));
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java
deleted file mode 100644
index 8a24dcf..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/SafeFileOutputStream.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java
deleted file mode 100644
index fe4fbae..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/URLTool.java
+++ /dev/null
@@ -1,488 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-
-package org.eclipse.core.internal.runtime;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Vector;
-
-/**
- * A utility for manipulating <code>URL</code>s.
- */
-public class URLTool {
-/**
- * Returns the given URL with a trailing slash appended to it. If the URL
- * already has a trailing slash the URL is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Returned URL</th>
- * <tr>
- * <td>"http://hostname/folder"</td>
- * <td>"http://hostname/folder/"</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>"http://hostname/folder/"</td>
- * </table>
- *
- * @param url a URL
- * @return the given URL with a trailing slash
- * @throws MalformedURLException if the given URL is malformed
- */
-public static URL appendTrailingSlash(String url) throws MalformedURLException {
- return appendTrailingSlash(new URL(url));
-}
-/**
- * Returns the given <code>URL</code> with a trailing slash appended to
- * it. If the <code>URL</code> already has a trailing slash the
- * <code>URL</code> is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Returned URL</th>
- * <tr>
- * <td>"http://hostname/folder"</td>
- * <td>"http://hostname/folder/"</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>"http://hostname/folder/"</td>
- * </table>
- *
- * @param url a URL
- * @return the given URL with a trailing slash
- */
-public static URL appendTrailingSlash(URL url){
- String file = url.getFile();
- if (file.endsWith("/")) //$NON-NLS-1$
- return url;
- try {
- return new URL(url.getProtocol(), url.getHost(), url.getPort(), file + "/"); //$NON-NLS-1$
- } catch(MalformedURLException e){
- Assert.isTrue(false, "internal error"); //$NON-NLS-1$
- }
- return null;
-}
-/**
- * Returns the child URL formed by joining the given member with the
- * given parent URL.
- *
- * @return a child URL of the given parent
- * @throws MalformedURLException if the given parent is malformed
- */
-public static URL getChild(String parent, String member) throws MalformedURLException {
- return getChild(new URL(parent), member);
-}
-/**
- * Returns the child URL formed by joining the given member with the
- * given parent URL.
- *
- * @return a child URL of the given parent
- */
-public static URL getChild(URL parent, String member){
- String file = parent.getFile();
- if (!file.endsWith("/")) //$NON-NLS-1$
- file = file + "/"; //$NON-NLS-1$
- try {
- return new URL(parent.getProtocol(), parent.getHost(), parent.getPort(), file + member);
- } catch(MalformedURLException e){
- Assert.isTrue(false, "internal error"); //$NON-NLS-1$
- }
- return null;
-}
-/**
- * Returns all elements in the given URLs path.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Element</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>[]</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>[folder]</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>[folder, file]</td>
- * </table>
- * @param url a URL
- * @return all elements in the given URLs path
- * @throws MalformedURLException if the given URL is malformed
- */
-public static Vector getElements(String url) throws MalformedURLException {
- return getElements(new URL(url));
-}
-/**
- * Returns all elements in the given URLs path.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Element</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>[]</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>[folder]</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>[folder, file]</td>
- * </table>
- * @param url a URL
- * @return all elements in the given URLs path
- */
-public static Vector getElements(URL url){
- Vector result = new Vector(5);
- String lastElement = null;
- while((lastElement = getLastElement(url)) != null){
- result.insertElementAt(lastElement, 0);
- url = getParent(url);
- }
- return result;
-}
-/**
- * Returns the last element in the given URLs path, or <code>null</code>
- * if the URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Last Element</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>null</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>folder</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>file</td>
- * </table>
- * @param url a URL
- * @return the last element in the given URLs path, or
- * <code>null</code> if the URL is the root
- * @throws MalformedURLException if the given URL is malformed
- */
-public static String getLastElement(String url) throws MalformedURLException {
- return getLastElement(new URL(url));
-}
-/**
- * Returns the last element in the given URLs path, or <code>null</code>
- * if the URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Last Element</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>null</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>folder</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>file</td>
- * </table>
- * @param url a URL
- * @return the last element in the given URLs path, or
- * <code>null</code> if the URL is the root
- */
-public static String getLastElement(URL url){
- String file = url.getFile();
- int len = file.length();
- if (len == 0 || len == 1 && file.charAt(0) == '/')
- return null;
-
- int lastSlashIndex = -1;
- for(int i = len - 2; lastSlashIndex == -1 && i >= 0; --i) {
- if (file.charAt(i) == '/')
- lastSlashIndex = i;
- }
- boolean isDirectory = file.charAt(len - 1) == '/';
- if (lastSlashIndex == -1) {
- if (isDirectory){
- return file.substring(0, len - 1);
- } else {
- return file;
- }
- } else {
- if (isDirectory) {
- return file.substring(lastSlashIndex + 1, len - 1);
- } else {
- return file.substring(lastSlashIndex + 1, len);
- }
- }
-}
-/**
- * Returns the parent URL of the given URL, or <code>null</code> if the
- * given URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Parent URL</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>null</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>"http://hostname/folder/</td>
- * </table>
- *
- * @param url a URL
- * @return the parent of the given URL
- * @throws MalformedURLException if the given URL is malformed
- */
-public static URL getParent(String url) throws MalformedURLException {
- return getParent(new URL(url));
-}
-/**
- * Returns the parent URL of the given URL, or <code>null</code> if the
- * given URL is the root.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Parent URL</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>null</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>"http://hostname/folder/</td>
- * </table>
- *
- * @param url a URL
- * @return the parent of the given URL
- */
-public static URL getParent(URL url) {
- String file = url.getFile();
- int len = file.length();
- if (len == 0 || len == 1 && file.charAt(0) == '/')
- return null;
- int lastSlashIndex = -1;
- for (int i = len - 2; lastSlashIndex == -1 && i >= 0; --i){
- if (file.charAt(i) == '/')
- lastSlashIndex = i;
- }
- if (lastSlashIndex == -1)
- file = ""; //$NON-NLS-1$
- else
- file = file.substring(0, lastSlashIndex + 1);
-
- try {
- url = new URL(url.getProtocol(), url.getHost(), url.getPort(), file);
- } catch(MalformedURLException e){
- Assert.isTrue(false, e.getMessage());
- }
- return url;
-}
-/**
- * Returns the root URL of the given URL.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Root URL</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>"http://hostname/"</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>"http://hostname/"</td>
- * </table>
- *
- * @param urlString a URL
- * @return the root url of the given URL
- * @throws MalformedURLException if the given URL is malformed
- */
-public static URL getRoot(String urlString) throws MalformedURLException {
- return getRoot(new URL(urlString));
-}
-/**
- * Returns the root URL of the given URL.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Root URL</th>
- * <tr>
- * <td>"http://hostname/"</td>
- * <td>"http://hostname/"</td>
- * <tr>
- * <td>"http://hostname/folder/file</td>
- * <td>"http://hostname/"</td>
- * </table>
- *
- * @param url a URL
- * @return the root URL of the given URL
- */
-public static URL getRoot(URL url) {
- try {
- return new URL(url.getProtocol(), url.getHost(), url.getPort(), "/"); //$NON-NLS-1$
- } catch(MalformedURLException e){
- Assert.isTrue(false, "internal error"); //$NON-NLS-1$
- }
-
- return null;
-}
-/**
- * Returns the given URL with its trailing slash removed. If the URL has
- * no trailing slash, the URL is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Returned URL</th>
- * <tr>
- * <td>"http://hostname/folder"</td>
- * <td>"http://hostname/folder"</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>"http://hostname/folder"</td>
- * </table>
- *
- * @param url a URL
- * @return the given URL with its last slash removed
- * @throws MalformedURLException if the given URL is malformed
- */
-public static URL removeTrailingSlash(String url) throws MalformedURLException {
- return removeTrailingSlash(new URL(url));
-}
-/**
- * Returns the given URL with its trailing slash removed. If the URL has
- * no trailing slash, the URL is returned unchanged.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>Given URL</th>
- * <th>Returned URL</th>
- * <tr>
- * <td>"http://hostname/folder"</td>
- * <td>"http://hostname/folder"</td>
- * <tr>
- * <td>"http://hostname/folder/</td>
- * <td>"http://hostname/folder"</td>
- * </table>
- *
- * @param url a URL
- * @return the given URL with its last slash removed
- */
-public static URL removeTrailingSlash(URL url) {
- String file = url.getFile();
-
- if(file.endsWith("/")){ //$NON-NLS-1$
- file = file.substring(0, file.length() - 1);
- try {
- return new URL(
- url.getProtocol(),
- url.getHost(),
- url.getPort(),
- file);
- } catch(MalformedURLException e){
- Assert.isTrue(false, e.getMessage());
- }
- } else {
- return url;
- }
-
- return null;
-}
-/**
- * Returns a boolean indicating whether the given URLs overlap.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>First URL</th>
- * <th>Second URL</th>
- * <th>Do they overlap</th>
- * <tr>
- * <td>"http://hostname/folder/"</td>
- * <td>"http://hostname/folder/"</td>
- * <td>true</td>
- * <tr>
- * <td>"http://hostname/folder/"</td>
- * <td>"http://hostname/folder/file"</td>
- * <td>true</td>
- * <tr>
- * <td>"http://hostname/folder/file"</td>
- * <td>"http://hostname/folder/"</td>
- * <td>true</td>
- * <tr>
- * <td>"http://hostname/folder1/"</td>
- * <td>"http://hostname/folder2/"</td>
- * <td>false</td>
- * </table>
- * @param url1 firt URL
- * @param url2 second URL
- * @return a boolean indicating whether the given URLs overlap
- */
-public static boolean urlsOverlap(String url1, String url2) throws MalformedURLException {
- return urlsOverlap(new URL(url1), new URL(url2));
-}
-/**
- * Returns a boolean indicating whether the given URLs overlap.
- * <table>
- * <caption>Example</caption>
- * <tr>
- * <th>First URL</th>
- * <th>Second URL</th>
- * <th>Do they overlap</th>
- * <tr>
- * <td>"http://hostname/folder/"</td>
- * <td>"http://hostname/folder/"</td>
- * <td>true</td>
- * <tr>
- * <td>"http://hostname/folder/"</td>
- * <td>"http://hostname/folder/file"</td>
- * <td>true</td>
- * <tr>
- * <td>"http://hostname/folder/file"</td>
- * <td>"http://hostname/folder/"</td>
- * <td>true</td>
- * <tr>
- * <td>"http://hostname/folder1/"</td>
- * <td>"http://hostname/folder2/"</td>
- * <td>false</td>
- * <tr>
- * <td>"http://hostname1/folder/"</td>
- * <td>"http://hostname2/folder/"</td>
- * <td>false</td>
- * </table>
- * @param url1 firt URL
- * @param url2 second URL
- * @return a boolean indicating whether the given URLs overlap
- */
-public static boolean urlsOverlap(URL url1, URL url2){
- if(!getRoot(url1).equals(getRoot(url2))){
- return false;
- }
-
- Vector elements1 = URLTool.getElements(url1);
- Vector elements2 = URLTool.getElements(url2);
-
- for(int i = 0; i < elements1.size() && i < elements2.size(); ++i){
- String element1 = (String)elements1.elementAt(i);
- String element2 = (String)elements2.elementAt(i);
- if(!element1.equals(element2)){
- return false;
- }
- }
-
- return true;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties
deleted file mode 100644
index b3a1097..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/internal/runtime/messages.properties
+++ /dev/null
@@ -1,109 +0,0 @@
-### Runtime plugin message catalog
-
-ok = OK
-
-### plugins
-plugin.extDefNotFound = Executable extension definition for \"{0}\" not found.
-plugin.extDefNoClass = Executable extension definition \"{0}\" does not specify a class name.
-plugin.deactivatedLoad = Attempt to load class \"{0}\" from deactivated plug-in \"{1}\".
-plugin.loadClassError = Plug-in {0} was unable to load class {1}.
-plugin.instantiateClassError = Plug-in \"{0}\" was unable to instantiate class \"{1}\".
-plugin.initObjectError = Plug-in \"{0}\" was unable to execute setInitializationData on an instance of \"{1}\".
-plugin.bundleNotFound = Plug-in \"{0}\" could not find resource bundle \"{1}\".
-plugin.notPluginClass = Supplied runtime class \"{0}\" does not extend class Plugin.
-plugin.startupProblems = Problems encountered starting up plug-in: \"{0}\".
-plugin.pluginDisabled = Attempt to activate a disabled plug-in: \"{0}\".
-plugin.unableToResolve = Unable to resolve plug-in registry.
-plugin.mismatchRuntime = Runtime class declaration mismatch for plug-in: \"{0}\".
-plugin.delegatingLoaderTrouble = "Plug-in \"{0}\" activation failed while loading class \"{1}\".
-
-### parsing/resolve
-parse.error = Parsing error: \"{0}\".
-parse.errorProcessing = Error while processing \"{0}\".
-parse.errorNameLineColumn = Parsing error in \"{0}\" [line {1}, column {2}]: \"{3}\".
-parse.extPointUnknown = Unknown extension point \"{0}\" specified in plug-in \"{1}\".
-parse.extPointDisabled = Extension point \"{0}\" specified in plug-in \"{1}\" is disabled.
-parse.prereqDisabled = Plug-in \"{0}\" was disabled due to missing or disabled prerequisite plug-in \"{1}\".
-parse.unsatisfiedPrereq = Unable to satisfy prerequisite constraint from \"{0}\" to \"{1}\".
-parse.prereqLoop = Detected prerequisite loop from \"{0}\" to \"{1}\".
-parse.registryProblems = Problems encountered loading the plug-in registry.
-parse.fragmentMissingAttr = Fragment \"{0}\" ignored due to missing attributes.
-parse.fragmentMissingIdName = Fragment ignored due to missing attributes (including name and id).
-parse.pluginMissingAttr = Plug-in \"{0}\" disabled due to missing attributes.
-parse.pluginMissingIdName = Plug-in disabled due to missing attributes (including name and id).
-parse.unknownElement = Unknown element \"{1}\", found within a \"{0}\", ignored.
-parse.unknownTopElement = Unknown element \"{0}\", found at the top level, ignored.
-parse.initializationTrouble = Parser initialization using setFeature failed.
-parse.internalStack = Element/end element mismatch for element \"{0}\".
-parse.validMatch = \"{0}\" is not a valid value for the attribute \"match\". Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".
-parse.validExport = \"{0}\" is not a valid value for the attribute \"export\". Use \"true\" or \"false\".
-parse.unknownAttribute = Unknown attribute \"{1}\" for element \"{0}\" ignored.
-parse.missingFragmentPd = Plug-in descriptor \"{0}\" not found for fragment \"{1}\". Fragment ignored.
-parse.unsatisfiedOptPrereq = Optional prerequisite constraint from \"{0}\" to\" {1}\" ignored.
-parse.prereqOptLoop = Optional prerequisite from \"{0}\" to \"{1}\" produced loop. Prerequisite ignored.
-parse.unknownLibraryType = Unknown library type \"{0}\" for library \"{1}\".
-parse.duplicatePlugin= Two plug-ins found with the same id: \"{0}\". Ignoring duplicate at \"{1}\".
-parse.unknownEntry=Unknown element parsed by plug-in registry: \"{0}\".
-parse.nullPluginIdentifier=Plug-in not loaded due to missing id or version number: \"{0}\".
-parse.nullFragmentIdentifier=Fragment not loaded due to missing id or version number: \"{0}\".
-parse.missingPluginName=Name attribute missing from plug-in or fragment at \"{0}\".
-parse.missingPluginId=Id attribute missing from plug-in or fragment at \"{0}\".
-parse.missingPluginVersion=Version attribute missing from plug-in or fragment at \"{0}\".
-parse.missingFPName=Plug-in name attribute missing from fragment at \"{0}\".
-parse.missingFPVersion=Plug-in version attribute missing from fragment at \"{0}\".
-parse.postiveMajor=Plug-in version identifier, \"{0}\", must have a positive major (1st) component.
-parse.postiveMinor=Plug-in version identifier, \"{0}\", must have a positive minor (2nd) component.
-parse.postiveService=Plug-in version identifier, \"{0}\", must have a positive service (3rd) component.
-parse.emptyPluginVersion=A plug-in version identifier must be non-empty.
-parse.separatorStartVersion=Plug-in version identifier, \"{0}\", must not start with a separator character.
-parse.separatorEndVersion=Plug-in version identifier, \"{0}\", must not end with a separator character.
-parse.doubleSeparatorVersion=Plug-in version identifier, \"{0}\", must not contain two consecutive separator characters.
-parse.oneElementPluginVersion=Plug-in version identifier, \"{0}\", must contain at least one component.
-parse.fourElementPluginVersion=Plug-in version identifier, \"{0}\", can contain a maximum of four components.
-parse.numericMajorComponent=The major (1st) component of plug-in version identifier, \"{0}\", must be numeric.
-parse.numericMinorComponent=The minor (2nd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse.numericServiceComponent=The service (3rd) component of plug-in version identifier, \"{0}\", must be numeric.
-parse.badPrereqOnFrag=Fragment \"{0}\" requires non-existant plug-in \"{1}\". Fragment ignored.
-parse.duplicateFragment=Duplicate fragment found with id \"{0}\" and version \"{1}\".
-
-### metadata
-meta.appNotInit = The application has not been initialized.
-meta.authFormatChanged = The platform's authorization database file format has changed. Cached authorization information will be lost.
-meta.couldNotCreate = Error trying to create the platform metadata area: {0}.
-meta.exceptionParsingLog = An exception occurred while parsing the log file: {0}
-meta.failCreateLock = Unable to create platform lock file: {0}.
-meta.inUse = \nThe platform metadata area is already in use by another platform instance, or there was a failure\n\
- in deleting the old lock file. If no other platform instances are running, delete the \n\
- lock file ({0}) and try starting the platform again.
-meta.notDir = Specified platform location \"{0}\" is not a directory.
-meta.pluginProblems = Problems occurred when invoking code from plug-in: \"{0}\".
-meta.readonly = The platform metadata area could not be written: {0}. By default the platform writes its content\nunder the current working directory when the platform is launched. Use the -data parameter to\nspecify a different content area for the platform.
-meta.readPlatformMeta = Could not read platform metadata: {0}.
-meta.registryCacheWriteProblems = Trouble writing to the registry cache file.
-meta.registryCacheReadProblems = Trouble reading from the registry cache file.
-meta.regCacheIOException = IOException encountered while writing \"{0}\".
-meta.registryCacheEOFException = Unexpected end-of-file when reading registry cache. Defaulting to not using cached file.
-meta.unableToWriteRegistry = Unable to write plug-in registry to cache.
-meta.unableToCreateCache = Unable to create output stream for registry cache.
-meta.unableToReadCache = Unable to create input stream for registry cache.
-meta.unableToCreateRegDebug = Unable to create output stream for registry debug information in \"{0}\".
-meta.unableToWriteDebugRegistry = Unable to write plug-in registry debug information to \"{0}\".
-meta.unableToReadAuthorization = Unable to read authorization database: {0}.
-meta.unableToWriteAuthorization = Unable to write to authorization database: {0}.
-meta.writePlatformMeta = Could not write platform metadata: {0}.
-meta.invalidRegDebug = Unable to create file \"{0}\" for plugin-in registry debug information.
-meta.infoRegDebug = Plug-in registry debug information created in file \"{0}\".
-meta.unableToDeleteCache = Unable to delete registry cache file \"{0}\".
-
-### URL
-url.badVariant=Unsupported \"platform:\" protocol variation \"{0}\".
-url.resolveFragment=Unable to resolve fragment \"{0}\".
-url.resolvePlugin=Unable to resolve plug-in \"{0}\".
-
-### Preferences
-preferences.errorReading=Error reading exported preferences file: {0}. {1}
-preferences.errorWriting=Error writing preference file {0}. {1}
-preferences.fileNotFound=Preference export file not found: {0}.
-preferences.incompatible=The preference file contains preferences for version \"{0}\" of plug-in \"{1}\", but version \"{2}\" is currently installed.
-preferences.invalidProperty=The preference export file contained an invalid entry: {0}={1}.
-preferences.validate=Some preferences may not be compatible with the currently installed plug-ins.
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java
deleted file mode 100644
index 525a50e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/CoreException.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.PrintStream;
-import java.io.PrintWriter;
-/**
- * A checked exception representing a failure.
- * <p>
- * Core exceptions contain a status object describing the
- * cause of the exception.
- * </p>
- *
- * @see IStatus
- */
-public class CoreException extends Exception {
-
- /** Status object. */
- private IStatus status;
-/**
- * Creates a new exception with the given status object. The message
- * of the given status is used as the exception message.
- *
- * @param status the status object to be associated with this exception
- */
-public CoreException(IStatus status) {
- super(status.getMessage());
- this.status = status;
-}
-/**
- * Returns the status object for this exception.
- *
- * @return a status object
- */
-public final IStatus getStatus() {
- return status;
-}
-/**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
-public void printStackTrace() {
- printStackTrace(System.err);
-}
-/**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
-public void printStackTrace(PrintStream output) {
- synchronized (output) {
- if (status.getException() != null) {
- output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
- status.getException().printStackTrace(output);
- } else
- super.printStackTrace(output);
- }
-}
-/**
- * Prints a stack trace out for the exception, and
- * any nested exception that it may have embedded in
- * its Status object.
- */
-public void printStackTrace(PrintWriter output) {
- synchronized (output) {
- if (status.getException() != null) {
- output.print(getClass().getName() + "[" + status.getCode() + "]: "); //$NON-NLS-1$ //$NON-NLS-2$
- status.getException().printStackTrace(output);
- } else
- super.printStackTrace(output);
- }
-}
-
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java
deleted file mode 100644
index 6ab844c..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdaptable.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An interface for an adaptable object.
- * <p>
- * Adaptable objects can be dynamically extended to provide different
- * interfaces (or "adapters"). Adapters are created by adapter
- * factories, which are in turn managed by type by adapter managers.
- * </p>
- * For example,
- * <pre>
- * IAdaptable a = [some adaptable];
- * IFoo x = (IFoo)a.getAdapter(IFoo.class);
- * if (x != null)
- * [do IFoo things with x]
- * </pre>
- * <p>
- * Clients may implement this interface.
- * </p>
- * @see IAdapterFactory
- * @see IAdapterManager
- */
-public interface IAdaptable {
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adapter the adapter class to look up
- * @return a object castable to the given class,
- * or <code>null</code> if this object does not
- * have an adapter for the given class
- */
-public Object getAdapter(Class adapter);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java
deleted file mode 100644
index 424fd34..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterFactory.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An adapter factory defines behavioral extensions for
- * one or more classes that implements the <code>IAdaptable</code>
- * interface. Adapter factories are registered with an
- * adapter manager.
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see IAdapterManager
- * @see IAdaptable
- */
-public interface IAdapterFactory {
-/**
- * Returns an object which is an instance of the given class
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adaptableObject the adaptable object being queried
- * (usually an instance of <code>IAdaptable</code>)
- * @param adapterType the type of adapter to look up
- * @return a object castable to the given adapter type,
- * or <code>null</code> if this adapter factory
- * does not have an adapter of the given type for the
- * given object
- */
-public Object getAdapter(Object adaptableObject, Class adapterType);
-/**
- * Returns the collection of adapter types handled by this
- * factory.
- * <p>
- * This method is generally used by an adapter manager
- * to discover which adapter types are supported, in advance
- * of dispatching any actual <code>getAdapter</code> requests.
- * </p>
- *
- * @return the collection of adapter types
- */
-public Class[] getAdapterList();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java
deleted file mode 100644
index a0e0e3a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IAdapterManager.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An adapter manager maintains a registry of adapter factories.
- * Clients directly invoke methods on an adapter manager to register
- * and unregister adapters.
- * All adaptable objects (that is, objects that implement the
- * <code>IAdaptable</code> interface) funnel
- * <code>IAdaptable.getAdapter</code> invocations to their
- * adapter manager's <code>IAdapterManger.getAdapter</code>
- * method. The adapter manager then forwards this request
- * unmodified to the <code>IAdapterFactory.getAdapter</code>
- * method on one of the registered adapter factories.
- * <p>
- * The following code snippet shows how one might register
- * an adapter of type <code>com.example.acme.Sticky</code>
- * on resources in the workspace.
- * <p>
- * <pre>
- * IAdapterFactory pr = new IAdapterFactory() {
- * public Class[] getAdapterList() {
- * return new Class[] { com.example.acme.Sticky.class };
- * }
- * public Object getAdapter(Object adaptableObject, adapterType) {
- * IResource res = (IResource) adaptableObject;
- * QualifiedName key = new QualifiedName("com.example.acme", "sticky-note");
- * try {
- * com.example.acme.Sticky v = (com.example.acme.Sticky) res.getSessionProperty(key);
- * if (v == null) {
- * v = new com.example.acme.Sticky();
- * res.setSessionProperty(key, v);
- * }
- * } catch (CoreException e) {
- * // unable to access session property - ignore
- * }
- * return v;
- * }
- * }
- * Platform.getAdapterManager().registerAdapters(pr, IResource.class);
-</pre>
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IAdaptable
- * @see IAdapterFactory
- */
-public interface IAdapterManager {
-/**
- * Returns an object which is an instance of the given class
- * associated with the given object. Returns <code>null</code> if
- * no such object can be found.
- *
- * @param adaptable the adaptable object being queried
- * (usually an instance of <code>IAdaptable</code>)
- * @param adapterType the type of adapter to look up
- * @return a object castable to the given adapter type,
- * or <code>null</code> if the given adaptable object does not
- * have an adapter of the given type
- */
-public Object getAdapter(Object adaptable, Class adapterType);
-/**
- * Registers the given adapter factory as extending objects of
- * the given type.
- * <p>
- * If the type being extended is a class,
- * the given factory's adapters are available on instances
- * of that class and any of its subclasses. If it is an interface,
- * the adapters are available to all classes that directly
- * or indirectly implement that interface.
- * </p>
- *
- * @param factory the adapter factory
- * @param adaptable the type being extended
- * @see #unregisterAdapters
- */
-public void registerAdapters(IAdapterFactory factory, Class adaptable);
-/**
- * Removes the given adapter factory completely from the list of
- * registered factories. Equivalent to calling
- * <code>unregisterAdapters(IAdapterFactory,Class)</code>
- * on all classes against which it had been explicitly registered.
- * Does nothing if the given factory is not currently registered.
- *
- * @param factory the adapter factory to remove
- * @see #registerAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory);
-/**
- * Removes the given adapter factory from the list of factories
- * registered as extending the given class.
- * Does nothing if the given factory and type combination is not
- * registered.
- *
- * @param factory the adapter factory to remove
- * @param adaptable one of the types against which the given
- * factory is registered
- * @see #registerAdapters
- */
-public void unregisterAdapters(IAdapterFactory factory, Class adaptable);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java
deleted file mode 100644
index 3d343ac..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IConfigurationElement.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A configuration element, with its attributes and children,
- * directly reflects the content and structure of the extension section
- * within the declaring plug-in's manifest (<code>plugin.xml</code>) file.
- * <p>
- * This interface also provides a way to create executable extension
- * objects.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IConfigurationElement {
-/**
- * Creates and returns a new instance of the executable extension
- * identified by the named attribute of this configuration element.
- * The named attribute value must contain a fully qualified name
- * of a Java class implementing the executable extension.
- * <p>
- * The specified class is instantiated using its 0-argument public
- * constructor. If the specified class implements the
- * <code>IExecutableExtension</code> interface, the method
- * <code>setInitializationData</code> is called, passing to the object
- * the configuration information that was used to create it.
- * </p>
- * <p>
- * Unlike other methods on this object, invoking this method may activate
- * the plug-in.
- * </p>
- *
- * @param propertyName the name of the property
- * @return the executable instance
- * @exception CoreException if an instance of the executable extension
- * could not be created for any reason.
- * @see IExecutableExtension#setInitializationData
- */
-public Object createExecutableExtension(String propertyName) throws CoreException;
-/**
- * Returns the named attribute of this configuration element, or
- * <code>null</code> if none.
- * <p>
- * The names of configuration element attributes
- * are the same as the attribute names of the corresponding XML element.
- * For example, the configuration markup
- * <pre>
- * <bg pattern="stripes"/>
- * </pre>
- * corresponds to a configuration element named <code>"bg"</code>
- * with an attribute named <code>"pattern"</code>
- * with attribute value <code>"stripes"</code>.
- * </p>
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @see IPluginDescriptor#getResourceString
- *
- * @param name the name of the attribute
- * @return attribute value, or <code>null</code> if none
- */
-public String getAttribute(String name);
-/**
- * Returns the named attribute of this configuration element, or
- * <code>null</code> if none.
- * <p>
- * The names of configuration element attributes
- * are the same as the attribute names of the corresponding XML element.
- * For example, the configuration markup
- * <pre>
- * <bg pattern="stripes"/>
- * </pre>
- * corresponds to a configuration element named <code>"bg"</code>
- * with an attribute named <code>"pattern"</code>
- * with attribute value <code>"stripes"</code>.
- * </p>
- * <p>
- * Note that any translation specified in the plug-in manifest
- * file for this attribute is <b>not</b> automatically applied.
- * </p>
- *
- * @param name the name of the attribute
- * @return attribute value, or <code>null</code> if none
- */
-public String getAttributeAsIs(String name);
-/**
- * Returns the names of the attributes of this configuration element.
- * Returns an empty array if this configuration element has no attributes.
- * <p>
- * The names of configuration element attributes
- * are the same as the attribute names of the corresponding XML element.
- * For example, the configuration markup
- * <pre>
- * <bg color="blue" pattern="stripes"/>
- * </pre>
- * corresponds to a configuration element named <code>"bg"</code>
- * with attributes named <code>"color"</code>
- * and <code>"pattern"</code>.
- * </p>
- *
- * @return the names of the attributes
- */
-public String[] getAttributeNames();
-/**
- * Returns all configuration elements that are children of this
- * configuration element.
- * Returns an empty array if this configuration element has no children.
- * <p>
- * Each child corresponds to a nested
- * XML element in the configuration markup.
- * For example, the configuration markup
- * <pre>
- * <view>
- *     <verticalHint>top</verticalHint>
- *     <horizontalHint>left</horizontalHint>
- * </view>
- * </pre>
- * corresponds to a configuration element, named <code>"view"</code>,
- * with two children.
- * </p>
- *
- * @return the child configuration elements
- */
-public IConfigurationElement[] getChildren();
-/**
- * Returns all child configuration elements with the given name.
- * Returns an empty array if this configuration element has no children
- * with the given name.
- *
- * @param name the name of the child configuration element
- * @return the child configuration elements with that name
- * @see #getChildren
- */
-public IConfigurationElement[] getChildren(String name);
-/**
- * Returns the extension that declares this configuration element.
- *
- * @return the extension
- */
-public IExtension getDeclaringExtension();
-/**
- * Returns the name of this configuration element.
- * The name of a configuration element is the same as
- * the XML tag of the corresponding XML element.
- * For example, the configuration markup
- * <pre>
- * <wizard name="Create Project"/>
- * </pre>
- * corresponds to a configuration element named <code>"wizard"</code>.
- *
- * @return the name of this configuration element
- */
-public String getName();
-/**
- * Returns the text value of this configuration element.
- * For example, the configuration markup
- * <pre>
- * <script lang="javascript">.\scripts\cp.js</script>
- * </pre>
- * corresponds to a configuration element <code>"script"</code>
- * with value <code>".\scripts\cp.js"</code>.
- * <p> Values may span multiple lines (i.e., contain carriage returns
- * and/or line feeds).
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @see IPluginDescriptor#getResourceString
- *
- * @return the text value of this configuration element or <code>null</code>
- */
-public String getValue();
-/**
- * Returns the untranslated text value of this configuration element.
- * For example, the configuration markup
- * <pre>
- * <script lang="javascript">.\scripts\cp.js</script>
- * </pre>
- * corresponds to a configuration element <code>"script"</code>
- * with value <code>".\scripts\cp.js"</code>.
- * <p> Values may span multiple lines (i.e., contain carriage returns
- * and/or line feeds).
- * <p>
- * Note that translation specified in the plug-in manifest
- * file is <b>not</b> automatically applied.
- * For example, the configuration markup
- * <pre>
- * <tooltip>#hattip</tooltip>
- * </pre>
- * corresponds to a configuration element, named <code>"tooltip"</code>,
- * with value <code>"#hattip"</code>.
- * </p>
- *
- * @return the untranslated text value of this configuration element or <code>null</code>
- */
-public String getValueAsIs();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java
deleted file mode 100644
index b1cf7a7..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExecutableExtension.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * Interface for executable extension classes that require access to
- * their configuration element, or implement an extension adapter.
- * <p>
- * Extension adapters are typically required in cases where the extension
- * implementation does not follow the interface rules specified
- * by the provider of the extension point. In these
- * cases, the role of the adapter is to map between the extension point
- * interface, and the actual extension implementation. In general, adapters
- * are used when attempting to plug-in existing Java implementations, or
- * non-Java implementations (e.g., external executables).
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see IConfigurationElement#createExecutableExtension
- */
-public interface IExecutableExtension {
-/**
- * This method is called by the implementation of the method
- * <code>IConfigurationElement.createExecutableExtension</code>
- * on a newly constructed extension, passing it its relevant configuration
- * information. Most executable extensions only make use of the first
- * two call arguments.
- * <p>
- * Regular executable extensions specify their Java implementation
- * class name as an attribute of the configuration element for the
- * extension. For example
- * <pre>
- * <action run="com.example.BaseAction"/>
- * </pre>
- * In the above example, this method would be called with a reference
- * to the <code><action></code> element (first argument), and
- * <code>"run"</code> as the name of the attribute that defined
- * this executable extension (second argument).
- * </p>
- * <p>
- * The last parameter is for the specific use of extension adapters
- * and is typically not used by regular executable extensions.
- * </p>
- * <p>
- * There are two supported ways of associating additional
- * adapter-specific data with the configuration in a way that
- * is transparent to the extension point implementor:
- * </p>
- * <p>
- * (1) by specifying adapter data as part of the implementation
- * class attribute value. The Java class name can be followed
- * by a ":" separator, followed by any adapter data in string
- * form. For example, if the extension point specifies an attribute
- * <code>"run"</code> to contain the name of the extension implementation,
- * an adapter can be configured as
- * <pre>
- * <action run="com.example.ExternalAdapter:./cmds/util.exe -opt 3"/>
- * </pre>
- * </p>
- * <p>
- * (2) by converting the attribute used to specify the executable
- * extension to a child element of the original configuration element,
- * and specifying the adapter data in the form of xml markup.
- * Using this form, the example above would become
- * <pre>
- * <action>
- * <<it>run</it> class="com.xyz.ExternalAdapter">
- * <parameter name="exec" value="./cmds/util.exe"/>
- * <parameter name="opt" value="3"/>
- * </<it>run</it>>
- * </action>
- * </pre>
- * </p>
- * <p>
- * Form (2) will typically only be
- * used for extension points that anticipate the majority of
- * extensions configured into it will in fact be in the form
- * of adapters.
- * </p>
- * <p>
- * In either case, the specified adapter class is instantiated using its
- * 0-argument public constructor. The adapter data is passed as the
- * last argument of this method. The data argument is defined as Object.
- * It can have the following values:
- * <ul>
- * <li><code>null</code>, if no adapter data was supplied</li>
- * <li>in case (1), the initialization data
- * string is passed as a <code>String</code></li>
- * <li>in case (2), the initialization data is passed
- * as a <code>Hashtable</code> containing the actual
- * parameter names and values (both <code>String</code>s)</li>
- * </ul>
- * </p>
- *
- * @param config the configuration element used to trigger this execution.
- * It can be queried by the executable extension for specific
- * configuration properties
- * @param propertyName the name of an attribute of the configuration element
- * used on the <code>createExecutableExtension(String)</code> call. This
- * argument can be used in the cases where a single configuration element
- * is used to define multiple executable extensions.
- * @param data adapter data in the form of a <code>String</code>,
- * a <code>Hashtable</code>, or <code>null</code>.
- * @exception CoreException if error(s) detected during initialization processing
- * @see IConfigurationElement#createExecutableExtension
- */
-public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException;
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java
deleted file mode 100644
index bbca469..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtension.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An extension declared in a plug-in.
- * All information is obtained from the declaring plug-in's
- * manifest (<code>plugin.xml</code>) file.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IExtension {
-/**
- * Returns all configuration elements declared by this extension.
- * These elements are a direct reflection of the configuration
- * markup supplied in the manifest (<code>plugin.xml</code>)
- * file for the plug-in that declares this extension.
- * Returns an empty array if this extension does not declare any
- * configuration elements.
- *
- * @return the configuration elements declared by this extension
- */
-public IConfigurationElement[] getConfigurationElements();
-/**
- * Returns the descriptor of the plug-in that declares this extension.
- *
- * @return the plug-in that declares this extension
- */
-public IPluginDescriptor getDeclaringPluginDescriptor();
-/**
- * Returns the unique identifier of the extension point
- * that this extension gets plugged into.
- *
- * @return the unique identifier of the relevant extension point
- */
-public String getExtensionPointUniqueIdentifier();
-/**
- * Returns a displayable label for this extension.
- * Returns the empty string if no label for this extension
- * is specified in the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * <p>
- *
- * @see IPluginDescriptor#getResourceString
- *
- * @return a displayable string label for this extension,
- * possibly the empty string
- */
-public String getLabel();
-/**
- * Returns the simple identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * This identifier is specified in the plug-in manifest (<code>plugin.xml</code>)
- * file as a non-empty string containing no period characters
- * (<code>'.'</code>) and must be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension (e.g. <code>"main"</code>)
- * or <code>null</code>
- */
-public String getSimpleIdentifier();
-/**
- * Returns the unique identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * If available, this identifier is unique within the plug-in registry, and
- * is composed of the identifier of the plug-in that declared
- * this extension and this extension's simple identifier.
- *
- * @return the unique identifier of the extension
- * (e.g. <code>"com.example.acme.main"</code>), or <code>null</code>
- */
-public String getUniqueIdentifier();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java
deleted file mode 100644
index 245d821..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IExtensionPoint.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An extension point declared in a plug-in.
- * Except for the list of extensions plugged in to it, the information
- * available for an extension point is obtained from the declaring plug-in's
- * manifest (<code>plugin.xml</code>) file.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IExtensionPoint {
-/**
- * Returns all configuration elements from all extensions configured
- * into this extension point. Returns an empty array if this extension
- * point has no extensions configured, or none of the extensions
- * contain configuration elements.
- *
- * @return the configuration elements for all extension configured
- * into this extension point
- */
-public IConfigurationElement[] getConfigurationElements();
-/**
- * Returns the descriptor of the plug-in that declares this extension point.
- *
- * @return the plug-in that declares this extension point
- */
-public IPluginDescriptor getDeclaringPluginDescriptor();
-/**
- * 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
- * can only be found via the <code>getExtensions</code> method.
- *
- * @param extensionId the unique identifier of an extension
- * (e.g. <code>"com.example.acme.main"</code>).
- * @return an extension, or <code>null</code>
- */
-public IExtension getExtension(String extensionId) ;
-/**
- * Returns all extensions configured into this extension point.
- * Returns an empty array if this extension point has no extensions.
- *
- * @return the extensions configured into this extension point
- */
-public IExtension[] getExtensions();
-/**
- * Returns a displayable label for this extension point.
- * Returns the empty string if no label for this extension point
- * is specified in the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @return a displayable string label for this extension point,
- * possibly the empty string
- * @see IPluginDescriptor#getResourceString
- */
-public String getLabel();
-/**
- * Returns reference to the extension point schema. The schema
- * reference is returned as a URL path relative to the plug-in
- * installation URL.
- * Returns the empty string if no schema for this extension point
- * is specified in the plug-in manifest file.
- *
- * @return a relative URL path, or an empty string
- * @see IPluginDescriptor#getInstallURL
- */
-public String getSchemaReference();
-/**
- * Returns the simple identifier of this extension point.
- * This identifier is a non-empty string containing no
- * period characters (<code>'.'</code>) and is guaranteed
- * to be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension point (e.g. <code>"builders"</code>)
- */
-public String getSimpleIdentifier();
-/**
- * Returns the unique identifier of this extension point.
- * This identifier is unique within the plug-in registry, and
- * is composed of the identifier of the plug-in that declared
- * this extension point and this extension point's simple identifier.
- *
- * @return the unique identifier of the extension point
- * (e.g. <code>"org.eclipse.core.resources.builders"</code>)
- */
-public String getUniqueIdentifier();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
deleted file mode 100644
index b500f4e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILibrary.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.runtime.model.LibraryModel;
-
- /**
- * A runtime library declared in a plug-in. Libraries contribute elements to the search path.
- * These contributions are specified as a path to a directory or Jar file. This path is always
- * considered to be relative to the containing plug-in.
- * <p>
- * Libraries are typed. The type is used to determine to which search path the library's
- * contribution should be added. The valid types are: <code>CODE</code> and
- * <code>RESOURCE</code>.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see IPluginDescriptor#getRuntimeLibraries
- */
-public interface ILibrary {
- /**
- * Constant string (value "code") indicating the code library type.
- * @see LibraryModel#CODE
- */
- public static final String CODE = LibraryModel.CODE;
-
- /**
- * Constant string (value "resource") indicating the resource library type.
- * @see LibraryModel#RESOURCE
- */
- public static final String RESOURCE = LibraryModel.RESOURCE;
-
-/**
- * Returns the content filters, or <code>null</code>.
- * Each content filter identifies a specific class, or
- * a group of classes, using a notation and matching rules
- * equivalent to Java <code>import</code> declarations
- * (e.g., "java.io.File", or "java.io.*"). Returns <code>null</code>
- * if the library is not exported, or it is fully exported
- * (no filtering).
- *
- * @return the content filters, or <code>null</codel> if none
- */
-public String[] getContentFilters();
-/**
- * Returns the path of this runtime library, relative to the
- * installation location.
- *
- * @return the path of the library
- * @see IPluginDescriptor#getInstallURL
- */
-public IPath getPath();
-/**
- * Returns this library's type.
- *
- * @return the type of this library. The valid types are: <code>CODE</code> and <code>RESOURCE</code>.
- * @see #CODE
- * @see #RESOURCE
- */
-public String getType();
-/**
- * Returns whether the library is exported. The contents of an exported
- * library may be visible to other plug-ins that declare a dependency
- * on the plug-in containing this library, subject to content filtering.
- * Libraries that are not exported are entirely private to the declaring
- * plug-in.
- *
- * @return <code>true</code> if the library is exported, <code>false</code>
- * if it is private
- */
-public boolean isExported();
-/**
- * Returns whether this library is fully exported. A library is considered
- * fully exported iff it is exported and has no content filters.
- *
- * @return <code>true</code> if the library is fully exported, and
- * <code>false</code> if it is private or has filtered content
- */
-public boolean isFullyExported();
-/**
- * Returns the array of package prefixes that this library declares. This
- * is used in classloader enhancements and is an optional entry in the plugin.xml.
- *
- * @return the array of package prefixes or <code>null</code>
- * @since 2.1
- */
-public String[] getPackagePrefixes();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
deleted file mode 100644
index 7a4d9a7..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILog.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A log to which status events can be written. Logs appear on individual
- * plug-ins and on the platform itself. Clients can register log listeners which
- * will receive notification of all log events as the come in.
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface ILog {
-/**
- * Adds the given log listener to this log. Subsequently the log listener will
- * receive notification of all log events passing through this log.
- * This method has no affect if the identical listener is already registered on this log.
- *
- * @param listener the listener to add to this log
- * @see Platform#addLogListener
- */
-public void addLogListener(ILogListener listener);
-/**
- * Returns the plug-in with which this log is associated.
- *
- * @return the plug-in with which this log is associated
- */
-public Plugin getPlugin();
-/**
- * Logs the given status. The status is distributed to the log listeners
- * installed on this log and then to the log listeners installed on the platform.
- *
- * @param status the status to log
- */
-public void log(IStatus status);
-/**
- * Removes the given log listener to this log. Subsequently the log listener will
- * no longer receive notification of log events passing through this log.
- * This method has no affect if the identical listener is not registered on this log.
- *
- * @see Platform#removeLogListener
- */
-public void removeLogListener(ILogListener listener);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java
deleted file mode 100644
index 2b15884..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ILogListener.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.util.EventListener;
-
-/**
- * A log listener is notified of entries added to a plug-in's log.
- * <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see ILog#addLogListener
- * @see Platform#addLogListener
- */
-public interface ILogListener extends EventListener {
-/**
- * Notifies this listener that given status has been logged by
- * a plug-in. The listener is free to retain or ignore this status.
- *
- * @param status the status being logged
- * @param plugin the plugin of the log which generated this event
- */
-public void logging(IStatus status, String plugin);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java
deleted file mode 100644
index 6dc56a1..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPath.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A path is an ordered collection of string segments,
- * separated by a standard separator character, "/".
- * A path may also have a leading and/or a trailing separator.
- * Paths may also be prefixed by an optional device id, which includes
- * the character(s) which separate the device id from the rest
- * of the path. For example, "C:" and "Server/Volume:" are typical
- * device ids.
- * A device independent path has <code>null</code> for a device id.
- * <p>
- * Note that paths are value objects; all operations on paths
- * return a new path; the path that is operated on is unscathed.
- * </p>
- * <p>
- * UNC paths are denoted by leading double-slashes such
- * as <code>//Server/Volume/My/Path</code>. When a new path
- * is constructed all double-slashes are removed except those
- * appearing at the beginning of the path.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see Path
- */
-public interface IPath extends Cloneable {
-
- /**
- * Path separator character constant "/" used in paths.
- */
- public static final char SEPARATOR = '/';
-
- /**
- * Device separator character constant ":" used in paths.
- */
- public static final char DEVICE_SEPARATOR = ':';
-/**
- * Returns a new path which is the same as this path but with
- * the given file extension added. If this path is empty, root or has a
- * trailing separator, this path is returned. If this path already
- * has an extension, the existing extension is left and the given
- * extension simply appended. Clients wishing to replace
- * the current extension should first remove the extension and
- * then add the desired one.
- * <p>
- * The file extension portion is defined as the string
- * following the last period (".") character in the last segment.
- * The given extension should not include a leading ".".
- * </p>
- *
- * @param extension the file extension to append
- * @return the new path
- */
-public IPath addFileExtension(String extension);
-/**
- * Returns a path with the same segments as this path
- * but with a trailing separator added.
- * This path must have at least one segment.
- * <p>
- * If this path already has a trailing separator,
- * this path is returned.
- * </p>
- *
- * @return the new path
- * @see #hasTrailingSeparator
- * @see #removeTrailingSeparator
- */
-public IPath addTrailingSeparator();
-/**
- * Returns the canonicalized path obtained from the
- * concatenation of the given string path to the
- * end of this path. The given string path must be a valid
- * path. If it has a trailing separator,
- * the result will have a trailing separator.
- * The device id of this path is preserved (the one
- * of the given string is ignored). Duplicate slashes
- * are removed from the path except at the beginning
- * where the path is considered to be UNC.
- *
- * @param path the string path to concatenate
- * @return the new path
- * @see #isValidPath
- */
-public IPath append(String path);
-/**
- * Returns the canonicalized path obtained from the
- * concatenation of the given path's segments to the
- * end of this path. If the given path has a trailing
- * separator, the result will have a trailing separator.
- * The device id of this path is preserved (the one
- * of the given path is ignored). Duplicate slashes
- * are removed from the path except at the beginning
- * where the path is considered to be UNC.
- *
- * @param path the path to concatenate
- * @return the new path
- */
-public IPath append(IPath path);
-/**
- * Returns a copy of this path.
- *
- * @return the cloned path
- */
-public Object clone();
-/**
- * Returns whether this path equals the given object.
- * <p>
- * Equality for paths is defined to be: same sequence of segments,
- * same absolute/relative status, and same device.
- * Trailing separators are disregarded.
- * Paths are not generally considered equal to objects other than paths.
- * </p>
- *
- * @param obj the other object
- * @return <code>true</code> if the paths are equivalent,
- * and <code>false</code> if they are not
- */
-public boolean equals(Object obj);
-/**
- * Returns the device id for this path, or <code>null</code> if this
- * path has no device id. Note that the result will end in ':'.
- *
- * @return the device id, or <code>null</code>
- * @see #setDevice
- */
-public String getDevice();
-/**
- * Returns the file extension portion of this path,
- * or <code>null</code> if there is none.
- * <p>
- * The file extension portion is defined as the string
- * following the last period (".") character in the last segment.
- * If there is no period in the last segment, the path has no
- * file extension portion. If the last segment ends in a period,
- * the file extension portion is the empty string.
- * </p>
- *
- * @return the file extension or <code>null</code>
- */
-public String getFileExtension();
-/**
- * Returns whether this path has a trailing separator.
- * <p>
- * Note: In the root path ("/"), the separator is considered to
- * be leading rather than trailing.
- * </p>
- *
- * @return <code>true</code> if this path has a trailing
- * separator, and <code>false</code> otherwise
- * @see #addTrailingSeparator
- * @see #removeTrailingSeparator
- */
-public boolean hasTrailingSeparator();
-/**
- * Returns whether this path is an absolute path (ignoring
- * any device id).
- * <p>
- * Absolute paths start with a path separator.
- * A root path, like <code>/</code> or <code>C:/</code>,
- * is considered absolute.
- * </p>
- *
- * @return <code>true</code> if this path is an absolute path,
- * and <code>false</code> otherwise
- */
-public boolean isAbsolute();
-/**
- * Returns whether this path has no segments and is not
- * a root path.
- *
- * @return <code>true</code> if this path is empty,
- * and <code>false</code> otherwise
- */
-public boolean isEmpty();
-/**
- * Returns whether this path is a prefix of the given path.
- * To be a prefix, this path's segments must
- * appear in the argument path in the same order,
- * and their device ids must match.
- * <p>
- * An empty path is a prefix of all paths with the same device; a root path is a prefix of
- * all absolute paths with the same device.
- * </p>
- * @param anotherPath the other path
- * @return <code>true</code> if this path is a prefix of the given path,
- * and <code>false</code> otherwise
- */
-public boolean isPrefixOf(IPath anotherPath);
-/**
- * Returns whether this path is a root path.
- * <p>
- * The root path is the absolute path with zero segments;
- * e.g., <code>/</code> or <code>C:/</code>.
- * The separator is considered a leading separator, not a trailing one.
- * </p>
- *
- * @return <code>true</code> if this path is a root path,
- * and <code>false</code> otherwise
- */
-public boolean isRoot();
-/**
- * Returns a boolean value indicating whether or not this path
- * is considered to be in UNC form. Return false if this path
- * has a device set or if the first 2 characters of the path string
- * are not <code>Path.SEPARATOR</code>.
- *
- * @return boolean indicating if this path is UNC
- */
-public boolean isUNC();
-/**
- * Returns whether the given string is syntactically correct as
- * a path. The device id is the prefix up to and including the first ":";
- * the path proper is everything to the right of it, or the entire string
- * if there is no ":". The device id is not checked for validity;
- * the path proper is correct if each of the segments in its canonicalized
- * form is valid.
- *
- * @return <code>true</code> if the given string is a valid path,
- * and <code>false</code> otherwise
- * @see #isValidSegment
- */
-public boolean isValidPath(String path);
-/**
- * Returns whether the given string is valid as a segment in
- * a path. The rules for valid segments are as follows:
- * <ul>
- * <li> the empty string is not valid
- * <li> any string containing the colon character (":") is not valid
- * <li> any string containing the slash character ("/") is not valid
- * <li> any string containing the backslash character ("\") is not valid
- * <li> any string starting or ending with a whitespace character is not valid
- * <li> all other strings are valid
- * </ul>
- *
- * @param segment the path segment to check
- * @return <code>true</code> if the given path segment is valid,
- * and <code>false</code> otherwise
- * @see java.lang.Character#isWhitespace
- */
-public boolean isValidSegment(String segment);
-/**
- * Returns the last segment of this path, or
- * <code>null</code> if it does not have any segments.
- *
- * @return the last segment of this path, or <code>null</code>
- */
-public String lastSegment();
-/**
- * Returns an absolute path with the segments and device id of this path.
- * Absolute paths start with a path separator. If this path is absolute,
- * it is simply returned.
- *
- * @return the new path
- */
-public IPath makeAbsolute();
-/**
- * Returns a relative path with the segments and device id of this path.
- * Absolute paths start with a path separator and relative paths do not.
- * If this path is relative, it is simply returned.
- *
- * @return the new path
- */
-public IPath makeRelative();
-/**
- * Return a new path which is the equivalent of this path converted to UNC
- * form (if the given boolean is true) or this path not as a UNC path (if the given
- * boolean is false). If UNC, the returned path will not have a device and the
- * first 2 characters of the path string will be <code>Path.SEPARATOR</code>. If not UNC, the
- * first 2 characters of the returned path string will not be <code>Path.SEPARATOR</code>.
- *
- * @param toUNC true if converting to UNC, false otherwise
- * @return the new path, either in UNC form or not depending on the boolean parm
- */
-public IPath makeUNC(boolean toUNC);
-/**
- * Returns a count of the number of segments which match in
- * this path and the given path (device ids are ignored),
- * comparing in increasing segment number order.
- *
- * @param anotherPath the other path
- * @return the number of matching segments
- */
-public int matchingFirstSegments(IPath anotherPath);
-/**
- * Returns a new path which is the same as this path but with
- * the file extension removed. If this path does not have an
- * extension, this path is returned.
- * <p>
- * The file extension portion is defined as the string
- * following the last period (".") character in the last segment.
- * If there is no period in the last segment, the path has no
- * file extension portion. If the last segment ends in a period,
- * the file extension portion is the empty string.
- * </p>
- *
- * @return the new path
- */
-public IPath removeFileExtension();
-/**
- * Returns a copy of this path with the given number of segments
- * removed from the beginning. The device id is preserved.
- * The number must be greater or equal zero.
- * If the count is zero, this path is returned.
- * The resulting path will always be a relative path with respect
- * to this path. If the number equals or exceeds the number
- * of segments in this path, an empty relative path is returned.
- *
- * @return the new path
- */
-public IPath removeFirstSegments(int count);
-/**
- * Returns a copy of this path with the given number of segments
- * removed from the end. The device id is preserved.
- * The number must be greater or equal zero.
- * If the count is zero, this path is returned.
- * <p>
- * If this path has a trailing separator, it will still
- * have a trailing separator after the last segments are removed
- * (assuming there are some segments left). If there is no
- * trailing separator, the result will not have a trailing
- * separator.
- * If the number equals or exceeds the number
- * of segments in this path, an empty path is returned.
- * </p>
- *
- * @return the new path
- */
-public IPath removeLastSegments(int count);
-/**
- * Returns a path with the same segments as this path
- * but with a trailing separator removed.
- * Does nothing if this path does not have at least one segment.
- * The device id is preserved.
- * <p>
- * If this path does not have a trailing separator,
- * this path is returned.
- * </p>
- *
- * @return the new path
- * @see #addTrailingSeparator
- * @see #hasTrailingSeparator
- */
-public IPath removeTrailingSeparator();
-/**
- * Returns the specified segment of this path, or
- * <code>null</code> if the path does not have such a segment.
- *
- * @param index the 0-based segment index
- * @return the specified segment, or <code>null</code>
- */
-public String segment(int index);
-/**
- * Returns the number of segments in this path.
- * <p>
- * Note that both root and empty paths have 0 segments.
- * </p>
- *
- * @return the number of segments
- */
-public int segmentCount();
-/**
- * Returns the segments in this path in order.
- *
- * @return an array of string segments
- */
-public String[] segments();
-/**
- * Returns a new path which is the same as this path but with
- * the given device id. The device id must end with a ":".
- * A device independent path is obtained by passing <code>null</code>.
- * <p>
- * For example, "C:" and "Server/Volume:" are typical device ids.
- * </p>
- *
- * @param device the device id or <code>null</code>
- * @return a new path
- * @see #getDevice
- */
-public IPath setDevice(String device);
-/**
- * Returns a <code>java.io.File</code> corresponding to this path.
- *
- * @return the file corresponding to this path
- */
-public java.io.File toFile();
-/**
- * Returns a string representation of this path which uses the
- * platform-dependent path separator defined by <code>java.io.File</code>.
- * This method is like <code>toString()</code> except that the
- * latter always uses the same separator (<code>/</code>) regardless of platform.
- * <p>
- * This string is suitable for passing to <code>java.io.File(String)</code>.
- * </p>
- *
- * @return a platform-dependent string representation of this path
- */
-public String toOSString();
-/**
- * Returns a string representation of this path, including its
- * device id. The same separator, "/", is used on all platforms.
- * <p>
- * Example result strings (without and with device id):
- * <pre>
- * "/foo/bar.txt"
- * "bar.txt"
- * "/foo/"
- * "foo/"
- * ""
- * "/"
- * "C:/foo/bar.txt"
- * "C:bar.txt"
- * "C:/foo/"
- * "C:foo/"
- * "C:"
- * "C:/"
- * </pre>
- * This string is suitable for passing to <code>Path(String)</code>.
- * </p>
- *
- * @return a string representation of this path
- * @see Path
- */
-public String toString();
-/**
- * Returns a copy of this path truncated after the
- * given number of segments. The number must not be negative.
- * The device id is preserved.
- * <p>
- * If this path has a trailing separator, the result will too
- * (assuming there are some segments left). If there is no
- * trailing separator, the result will not have a trailing
- * separator.
- * Copying up to segment zero simply means making an copy with
- * no path segments.
- * </p>
- *
- * @param count the segment number at which to truncate the path
- * @return the new path
- */
-public IPath uptoSegment(int count);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
deleted file mode 100644
index da28fe5..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginDescriptor.java
+++ /dev/null
@@ -1,321 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.util.Map;
-import java.util.MissingResourceException;
-import java.util.ResourceBundle;
-import java.net.URL;
-
-/**
- * A plug-in descriptor contains information about a plug-in
- * obtained from the plug-in's manifest (<code>plugin.xml</code>) file.
- * <p>
- * Plug-in descriptors are platform-defined objects that exist
- * in the plug-in registry independent of whether a plug-in has
- * been started. In contrast, a plug-in's runtime object
- * (<code>getPlugin</code>) generally runs plug-in-defined code.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- *
- * @see #getPlugin
- */
-public interface IPluginDescriptor {
-/**
- * Returns the extension with the given simple identifier declared in
- * this plug-in, or <code>null</code> if there is no such extension.
- * Since an extension might not have an identifier, some extensions
- * can only be found via the <code>getExtensions</code> method.
- *
- * @param extensionName the simple identifier of the extension (e.g. <code>"main"</code>).
- * @return the extension, or <code>null</code>
- */
-public IExtension getExtension(String extensionName);
-/**
- * Returns the extension point with the given simple identifier
- * declared in this plug-in, or <code>null</code> if there is no such extension point.
- *
- * @param extensionPointId the simple identifier of the extension point (e.g. <code>"wizard"</code>).
- * @return the extension point, or <code>null</code>
- */
-public IExtensionPoint getExtensionPoint(String extensionPointId);
-/**
- * Returns all extension points declared by this plug-in.
- * Returns an empty array if this plug-in does not declare any extension points.
- *
- * @return the extension points declared by this plug-in
- */
-public IExtensionPoint[] getExtensionPoints();
-/**
- * Returns all extensions declared by this plug-in.
- * Returns an empty array if this plug-in does not declare any extensions.
- *
- * @return the extensions declared by this plug-in
- */
-public IExtension[] getExtensions();
-/**
- * Returns the URL of this plug-in's install directory.
- * This is the directory containing
- * the plug-in manifest file, resource bundle, runtime libraries,
- * and any other files supplied with this plug-in.
- *
- * @return the URL of this plug-in's install directory
- */
-public URL getInstallURL() ;
-/**
- * Returns a displayable label for this plug-in.
- * Returns the empty string if no label for this plug-in
- * is specified in the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @return a displayable string label for this plug-in,
- * possibly the empty string
- * @see #getResourceString
- */
-public String getLabel();
-/**
- * Returns the plug-in runtime object corresponding to this
- * plug-in descriptor. Unlike other methods on this object,
- * invoking this method may activate the plug-in.
- * The returned object is an instance of the plug-in runtime class
- * specified in the plug-in's manifest file;
- * if a class is not specified there, the returned object
- * is an internally-supplied one that does not react to life cycle requests.
- *
- * @return the plug-in runtime object
- * @exception CoreException
- * if this plug-in's runtime object could not be created.
- * @see #isPluginActivated
- */
-public Plugin getPlugin() throws CoreException;
-/**
- * Returns the plug-in class loader used to load classes and resources
- * for this plug-in. The class loader can be used to directly access
- * plug-in resources and classes. Note that accessing a resource will
- * <b>not activate</b> the corresponding plug-in. Successfully loading
- * a class will <b>always activate</b> the corresponding plug-in.
- * <p>
- * The following examples illustrate the direct use of the plug-in class
- * loader and its effect on plug-in activation (example ignores error
- * handling).
- *
- * <pre>
- * ClassLoader loader = descriptor.getPluginClassLoader();
- *
- * // Load resource by name. Will not activate the plug-in.
- * URL res = loader.getResource("com/example/Foo/button.gif");
- * InputStream is = loader.getResourceAsStream("splash.jpg");
- *
- * // Load resource for class. Will activate the plug-in because
- * // the referenced class is loaded first and triggers activation.
- * URL u = com.example.Foo.class.getResource("button.gif");
- *
- * // Load class by name. Will activate the plug-in.
- * Class c = loader.loadClass("com.example.Bar");
- *
- * // Load a resource bundle. May, or may not activate the plug-in, depending
- * // on the bundle implementation. If implemented as a class, the plug-in
- * // will be activated. If implemented as a properties file, the plug-in will
- * // not be activated.
- * ResourceBundle b =
- * ResourceBundle.getBundle("bundle", Locale.getDefault(), loader);
- * </pre>
- *
- * @return the plug-in class loader
- * @see IConfigurationElement#createExecutableExtension
- * @see #isPluginActivated
- * @see #getResourceBundle
- */
-public ClassLoader getPluginClassLoader();
- /**
- * Returns a list of plug-in prerequisites required
- * for correct execution of this plug-in.
- *
- * @return an array of plug-in prerequisites, or an empty array
- * if no prerequisites were specified
- */
-public IPluginPrerequisite[] getPluginPrerequisites() ;
-/**
- * Returns the name of the provider of this plug-in.
- * Returns the empty string if no provider name is specified in
- * the plug-in manifest file.
- * <p> Note that any translation specified in the plug-in manifest
- * file is automatically applied.
- * </p>
- *
- * @see #getResourceString
- *
- * @return the name of the provider, possibly the empty string
- */
-public String getProviderName();
-/**
- * Returns this plug-in's resource bundle for the current locale.
- * <p>
- * The bundle is stored as the <code>plugin.properties</code> file
- * in the plug-in install directory, and contains any translatable
- * strings used in the plug-in manifest file (<code>plugin.xml</code>)
- * along with other resource strings used by the plug-in implementation.
- * </p>
- *
- * @return the resource bundle
- * @exception MissingResourceException if the resource bundle was not found
- */
-public ResourceBundle getResourceBundle() throws MissingResourceException;
-/**
- * Returns a resource string corresponding to the given argument value.
- * If the argument value specifies a resource key, the string
- * is looked up in the default resource bundle. If the argument does not
- * specify a valid key, the argument itself is returned as the
- * resource string. The key lookup is performed in the
- * plugin.properties resource bundle. If a resource string
- * corresponding to the key is not found in the resource bundle
- * the key value, or any default text following the key in the
- * argument value is returned as the resource string.
- * A key is identified as a string begining with the "%" character.
- * Note, that the "%" character is stripped off prior to lookup
- * in the resource bundle.
- * <p>
- * Equivalent to <code>getResourceString(value, getBundle())</code>
- * </p>
- *
- * @param value the value
- * @return the resource string
- * @see #getResourceBundle
- */
-public String getResourceString(String value);
-/**
- * Returns a resource string corresponding to the given argument
- * value and bundle.
- * If the argument value specifies a resource key, the string
- * is looked up in the given resource bundle. If the argument does not
- * specify a valid key, the argument itself is returned as the
- * resource string. The key lookup is performed against the
- * specified resource bundle. If a resource string
- * corresponding to the key is not found in the resource bundle
- * the key value, or any default text following the key in the
- * argument value is returned as the resource string.
- * A key is identified as a string begining with the "%" character.
- * Note that the "%" character is stripped off prior to lookup
- * in the resource bundle.
- * <p>
- * For example, assume resource bundle plugin.properties contains
- * name = Project Name
- * <pre>
- * getResourceString("Hello World") returns "Hello World"</li>
- * getResourceString("%name") returns "Project Name"</li>
- * getResourceString("%name Hello World") returns "Project Name"</li>
- * getResourceString("%abcd Hello World") returns "Hello World"</li>
- * getResourceString("%abcd") returns "%abcd"</li>
- * getResourceString("%%name") returns "%name"</li>
- * </pre>
- * </p>
- *
- * @param value the value
- * @param bundle the resource bundle
- * @return the resource string
- * @see #getResourceBundle
- */
-public String getResourceString(String value, ResourceBundle bundle);
-/**
- * Returns all runtime libraries declared by this plug-in.
- * Returns an empty array if this plug-in has no runtime libraries.
- *
- * @return the runtime libraries declared by this plug-in
- */
-public ILibrary[] getRuntimeLibraries();
-/**
- * Returns the unique identifier of this plug-in.
- * This identifier is a non-empty string and is unique
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.runtime"</code>)
- */
-public String getUniqueIdentifier();
-/**
- * Returns the version identifier of this plug-in.
- *
- * @return the plug-in version identifier
- */
-public PluginVersionIdentifier getVersionIdentifier();
-/**
- * Returns whether the plug-in described by this descriptor
- * has been activated. Invoking this method will not cause the
- * plug-in to be activated.
- *
- * @return <code>true</code> if this plug-in is activated, and
- * <code>false</code> otherwise
- * @see #getPlugin
- */
-public boolean isPluginActivated();
-/**
- * Returns a URL for the given path. Returns <code>null</code> if the URL
- * could not be computed or created.
- *
- * @param file path relative to plug-in installation location
- * @return a URL for the given path or <code>null</code> It is not
- * necessary to perform a 'resolve' on this URL.
- *
- * @since 2.0
- */
-public URL find(IPath path);
-/**
- * Returns a URL for the given path. Returns <code>null</code> if the URL
- * could not be computed or created.
- *
- * find will look for this path under the directory structure for this plugin
- * and any of its fragments. If this path will yield a result outside the
- * scope of this plugin, <code>null</code> will be returned. Note that
- * there is no specific order to the fragments.
- *
- * The following arguments may also be used
- *
- * $nl$ - for language specific information
- * $os$ - for operating system specific information
- * $ws$ - for windowing system specific information
- *
- * A path of $nl$/about.properties in an environment with a default
- * locale of en_CA will return a URL corresponding to the first place
- * about.properties is found according to the following order:
- * plugin root/nl/en/CA/about.properties
- * fragment1 root/nl/en/CA/about.properties
- * fragment2 root/nl/en/CA/about.properties
- * ...
- * plugin root/nl/en/about.properties
- * fragment1 root/nl/en/about.properties
- * fragment2 root/nl/en/about.properties
- * ...
- * plugin root/about.properties
- * fragment1 root/about.properties
- * fragment2 root/about.properties
- * ...
- *
- * If a locale other than the default locale is desired, use an
- * override map.
- *
- * @param path file path relative to plug-in installation location
- * @param override map of override substitution arguments to be used for
- * any $arg$ path elements. The map keys correspond to the substitution
- * arguments (eg. "$nl$" or "$os$"). The resulting
- * values must be of type java.lang.String. If the map is <code>null</code>,
- * or does not contain the required substitution argument, the default
- * is used.
- * @return a URL for the given path or <code>null</code>. It is not
- * necessary to perform a 'resolve' on this URL.
- *
- * @since 2.0
- */
-public URL find(IPath path, Map override);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
deleted file mode 100644
index 0401f29..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginPrerequisite.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A prerequisite entry declared by a plug-in. The declaration causes
- * classes defined by the prerequisite plug-in to be visible
- * to the plug-in that declared the dependency.
- * <p>
- * This interface is not intended to be implemented by developers.
- * </p>
- *
- * @see IPluginDescriptor#getPluginPrerequisites
- */
-public interface IPluginPrerequisite {
-/**
- * Returns the actual version identifier that is used
- * at runtime to resolve this prerequisite dependency,
- * or null, if the dependency is not resolved.
- *
- * @return the plug-in version identifier, or null
- */
-public PluginVersionIdentifier getResolvedVersionIdentifier();
-/**
- * Returns the plug-in identifier of the prerequisite plug-in.
- *
- * @return the plug-in identifier
- */
-public String getUniqueIdentifier();
-/**
- * Returns the version identifier of the prerequisite plug-in,
- * or <code>null</code> if none.
- *
- * @return the plug-in version identifier, or <code>null</code> if
- * none was specified
- */
-public PluginVersionIdentifier getVersionIdentifier();
-/**
- * Indicates whether this prerequisite plug-in is further exposed to any
- * plug-ins that declare a dependency on this plug-in. This allows
- * for chaining of dependencies. For example, if plug-in A depends
- * on plug-in B which depends on plug-in C, the classes from C
- * are typically visible to B, but not to A. A can get around this
- * if either B explicitly exports its dependency on C, or
- * A explicitly declares C as a prerequisite in addition to B.
- *
- * @return <code>true</code> if this prerequisite plug-in is exposed,
- * <code>false</code> otherwise
- */
-public boolean isExported();
-/**
- * Indicates that this plug-in prerequisite can be resolved
- * against a configured plug-in with an identifier that is
- * greater than or equal to it.
- *
- * @return <code>true</code> if greater or equal match is allowed,
- * <code>false</code> otherwise.
- * @since 2.0
- */
-public boolean isMatchedAsGreaterOrEqual();
-/**
- * Indicates that this plug-in prerequisite can be resolved
- * against a configured plug-in with a compatible identifier.
- *
- * @return <code>true</code> if compatible match is allowed,
- * <code>false</code> if exact match is required.
- */
-public boolean isMatchedAsCompatible();
-/**
- * Indicates that this plug-in prerequisite can only be resolved
- * against a configured plug-in with an equivalent plug-in
- * identifier.
- *
- * @return <code>true</code> if only equivalent identifier match
- * satisfies this dependency, <code>false</code> otherwise.
- * @since 2.0
- */
-public boolean isMatchedAsEquivalent();
-/**
- * Indicates that this plug-in prerequisite can only be resolved
- * against a configured plug-in with a plug-in identifier that
- * is perfectly equal.
- *
- * @return <code>true</code> if only perfectly equal
- * identifier match satisfies this dependency,
- * <code>false</code> otherwise.
- * @since 2.0
- */
-public boolean isMatchedAsPerfect();
-/**
- * Indicates that this plug-in prerequisite can only be resolved
- * against a configured plug-in with exactly the same plug-in
- * identifier.
- *
- * @return <code>true</code> if only exact identifier match
- * satisfies this dependency, <code>false</code> if compatible
- * plug-in will satisfy this dependency.
- */
-public boolean isMatchedAsExact();
-/**
- * Indicates whether this plug-in prerequisite is optional. If a required (i.e., non-optional)
- * prerequisite is missing, this plugin is disabled.
- *
- * @return <code>true</code> if this prerequisite is optional, <code>false</code> otherwise
- */
-public boolean isOptional();
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
deleted file mode 100644
index cd964eb..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IPluginRegistry.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * The plug-in registry holds the master list of all
- * discovered plug-ins, extension points, and extensions.
- * <p>
- * The plug-in registry can be queried, by name, for
- * plug-ins, extension points, and extensions.
- * </p>
- * <p>
- * This interface is not intended to be implemented by clients.
- * </p>
- */
-public interface IPluginRegistry {
-/**
- * Returns all configuration elements from all extensions configured
- * into the identified extension point. Returns an empty array if the extension
- * point does not exist, has no extensions configured, or none of the extensions
- * contain configuration elements.
- *
- * @param extensionPointId the unique identifier of the extension point
- * (e.g. <code>"org.eclipse.core.resources.builders"</code>)
- * @return the configuration elements
- */
-public IConfigurationElement[] getConfigurationElementsFor(String extensionPointId);
-/**
- * Returns all configuration elements from all extensions configured
- * into the identified extension point. Returns an empty array if the extension
- * point does not exist, has no extensions configured, or none of the extensions
- * contain configuration elements.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the
- * extension point (e.g. <code>"builders"</code>)
- * @return the configuration elements
- */
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String extensionPointName);
-/**
- * Returns all configuration elements from the identified extension.
- * Returns an empty array if the extension does not exist or
- * contains no configuration elements.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the
- * extension point (e.g. <code>"builders"</code>)
- * @param extensionId the unique identifier of the extension
- * (e.g. <code>"com.example.acme.coolbuilder</code>)
- * @return the configuration elements
- */
-public IConfigurationElement[] getConfigurationElementsFor(String pluginId, String extensionPointName, String extensionId);
-/**
- * Returns the specified extension in this plug-in registry,
- * or <code>null</code> if there is no such extension.
- * The first parameter identifies the extension point, and the second
- * parameter identifies an extension plugged in to that extension point.
- *
- * @param extensionPointId the unique identifier of the extension point
- * (e.g. <code>"org.eclipse.core.resources.builders"</code>)
- * @param extensionId the unique identifier of the extension
- * (e.g. <code>"com.example.acme.coolbuilder"</code>)
- * @return the extension, or <code>null</code>
- */
-public IExtension getExtension(String extensionPointId, String extensionId);
-/**
- * Returns the specified extension in this plug-in registry,
- * or <code>null</code> if there is no such extension.
- * The first two parameters identify the extension point, and the third
- * parameter identifies an extension plugged in to that extension point.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the
- * extension point (e.g. <code>"builders"</code>)
- * @param extensionId the unique identifier of the extension
- * (e.g. <code>"com.example.acme.coolbuilder"</code>)
- * @return the extension, or <code>null</code>
- */
-public IExtension getExtension(String pluginId, String extensionPointName, String extensionId);
-/**
- * Returns the extension point with the given extension point identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * extension point.
- *
- * @param extensionPointId the unique identifier of the extension point
- * (e.g., <code>"org.eclipse.core.resources.builders"</code>)
- * @return the extension point, or <code>null</code>
- */
-public IExtensionPoint getExtensionPoint(String extensionPointId);
-/**
- * Returns the extension point in this plug-in registry
- * with the given plug-in identifier and extension point simple identifier,
- * or <code>null</code> if there is no such extension point.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>)
- * @param extensionPointName the simple identifier of the
- * extension point (e.g. <code>" builders"</code>)
- * @return the extension point, or <code>null</code>
- */
-public IExtensionPoint getExtensionPoint(String pluginId, String extensionPointName);
-/**
- * Returns all extension points known to this plug-in registry.
- * Returns an empty array if there are no extension points.
- *
- * @return the extension points known to this plug-in registry
- */
-public IExtensionPoint[] getExtensionPoints();
-/**
- * Returns the plug-in descriptor with the given plug-in identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * plug-in. If there are multiple versions of the identified plug-in,
- * one will be non-deterministically chosen and returned.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"com.example.acme"</code>).
- * @return the plug-in descriptor, or <code>null</code>
- */
-public IPluginDescriptor getPluginDescriptor(String pluginId);
-/**
- * Returns the plug-in descriptor with the given plug-in identifier
- * and version in this plug-in registry, or <code>null</code> if
- * there is no such plug-in.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>)
- * @param version plug-in version identifier. If <code>null</code> is specified,
- * a non-deterministically chosen version of the identified plug-in (if any)
- * will be returned
- * @return the plug-in descriptor, or <code>null</code>
- */
-public IPluginDescriptor getPluginDescriptor(String pluginId, PluginVersionIdentifier version);
-/**
- * Returns all plug-in descriptors known to this plug-in registry.
- * Returns an empty array if there are no installed plug-ins.
- *
- * @return the plug-in descriptors known to this plug-in registry
- */
-public IPluginDescriptor[] getPluginDescriptors();
-/**
- * Returns all versions of the identified plug-in descriptor
- * known to this plug-in registry.
- * Returns an empty array if there are no plug-ins
- * with the specified identifier.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>).
- * @return the plug-in descriptors known to this plug-in registry
- */
-public IPluginDescriptor[] getPluginDescriptors(String pluginId);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java
deleted file mode 100644
index f13cf46..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IProgressMonitor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * The <code>IProgressMonitor</code> interface is implemented
- * by objects that monitor the progress of an activity; the methods
- * in this interface are invoked by code that performs the activity.
- * <p>
- * All activity is broken down into a linear sequence of tasks against
- * which progress is reported. When a task begins, a <code>beginTask(String, int)
- * </code> notification is reported, followed by any number and mixture of
- * progress reports (<code>worked()</code>) and subtask notifications
- * (<code>subTask(String)</code>). When the task is eventually completed, a
- * <code>done()</code> notification is reported. After the <code>done()</code>
- * notification, the progress monitor cannot be reused; i.e., <code>
- * beginTask(String, int)</code> cannot be called again after the call to
- * <code>done()</code>.
- * </p>
- * <p>
- * A request to cancel an operation can be signaled using the
- * <code>setCanceled</code> method. Operations taking a progress
- * monitor are expected to poll the monitor (using <code>isCanceled</code>)
- * periodically and abort at their earliest convenience. Operation can however
- * choose to ignore cancelation requests.
- * </p>
- * <p>
- * Since notification is synchronous with the activity itself, the listener should
- * provide a fast and robust implementation. If the handling of notifications would
- * involve blocking operations, or operations which might throw uncaught exceptions,
- * the notifications should be queued, and the actual processing deferred (or perhaps
- * delegated to a separate thread).
- * </p>
- * <p>
- * Clients may implement this interface.
- * </p>
- */
-public interface IProgressMonitor {
-
- /** Constant indicating an unknown amount of work.
- */
- public final static int UNKNOWN = -1;
-
-/**
- * Notifies that the main task is beginning. This must only be called once
- * on a given progress monitor instance.
- *
- * @param name the name (or description) of the main task
- * @param totalWork the total number of work units into which
- * the main task is been subdivided. If the value is <code>UNKNOWN</code>
- * the implemenation is free to indicate progress in a way which
- * doesn't require the total number of work units in advance.
- */
-public void beginTask(String name, int totalWork);
-/**
- * Notifies that the work is done; that is, either the main task is completed
- * or the user canceled it. This method may be called more than once
- * (implementations should be prepared to handle this case).
- */
-public void done();
-/**
- * Internal method to handle scaling correctly. This method
- * must not be called by a client. Clients should
- * always use the method </code>worked(int)</code>.
- */
-public void internalWorked(double work);
-/**
- * Returns whether cancelation of current operation has been requested.
- * Long-running operations should poll to see if cancelation
- * has been requested.
- *
- * @return <code>true</code> if cancellation has been requested,
- * and <code>false</code> otherwise
- * @see #setCanceled
- */
-public boolean isCanceled();
-/**
- * Sets the cancel state to the given value.
- *
- * @param value <code>true</code> indicates that cancelation has
- * been requested (but not necessarily acknowledged);
- * <code>false</code> clears this flag
- *
- * @see #isCanceled
- */
-public void setCanceled(boolean value);
-/**
- * Sets the task name to the given value. This method is used to
- * restore the task label after a nested operation was executed.
- * Normally there is no need for clients to call this method.
- *
- * @param name the name (or description) of the main task
- * @see #beginTask(java.lang.String, int)
- */
-public void setTaskName(String name);
-/**
- * Notifies that a subtask of the main task is beginning.
- * Subtasks are optional; the main task might not have subtasks.
- *
- * @param name the name (or description) of the subtask
- */
-public void subTask(String name);
-/**
- * Notifies that a given number of work unit of the main task
- * has been completed. Note that this amount represents an
- * installment, as opposed to a cumulative amount of work done
- * to date.
- *
- * @param work the number of work units just completed
- */
-public void worked(int work);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java
deleted file mode 100644
index 53d41fc..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ISafeRunnable.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * Safe runnables represent blocks of code and associated exception
- * handlers. They are typically used when a plug-in needs to call some
- * untrusted code (e.g., code contributed by another plug-in via an
- * extension).
-* <p>
- * Clients may implement this interface.
- * </p>
- *
- * @see Platform#run
- */
-public interface ISafeRunnable {
-/**
- * Handles an exception thrown by this runnable's <code>run</code>
- * method. The processing done here should be specific to the
- * particular usecase for this runnable. Generalized exception
- * processing (e.g., logging in the platform's log) is done by the
- * Platform's run mechanism.
- *
- * @param exception an exception which occurred during processing
- * the body of this runnable (i.e., in <code>run()</code>)
- * @see Platform#run
- */
-public void handleException(Throwable exception);
-/**
- * Runs this runnable. Any exceptions thrown from this method will
- * be passed to this runnable's <code>handleException</code>
- * method.
- *
- * @exception Exception if a problem occurred while running this method.
- * The exception will be processed by <code>handleException</code>
- * @see Platform#run
- */
-public void run() throws Exception;
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java
deleted file mode 100644
index ede0e4a..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/IStatus.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A status object represents the outcome of an operation.
- * All <code>CoreException</code>s carry a status object to indicate
- * what went wrong. Status objects are also returned by methods needing
- * to provide details of failures (e.g., validation methods).
- * <p>
- * A status carries the following information:
- * <ul>
- * <li> plug-in identifier (required)</li>
- * <li> severity (required)</li>
- * <li> status code (required)</li>
- * <li> message (required) - localized to current locale</li>
- * <li> exception (optional) - for problems stemming from a failure at
- * a lower level</li>
- * </ul>
- * Some status objects, known as multi-statuses, have other status objects
- * as children.
- * </p>
- * <p>
- * The class <code>Status</code> is the standard public implementation
- * of status objects; the subclass <code>MultiStatus</code> is the
- * implements multi-status objects.
- * </p>
- * @see MultiStatus
- * @see Status
- */
-public interface IStatus {
-
- /** Status severity constant (value 0) indicating this status represents the nominal case.
- * This constant is also used as the status code representing the nominal case.
- * @see #getSeverity
- * @see #isOK
- */
- public static final int OK = 0;
-
- /** Status type severity (bit mask, value 1) indicating this status is informational only.
- * @see #getSeverity
- * @see #matches
- */
- public static final int INFO = 1;
-
- /** Status type severity (bit mask, value 2) indicating this status represents a warning.
- * @see #getSeverity
- * @see #matches
- */
- public static final int WARNING = 2;
-
- /** Status type severity (bit mask, value 4) indicating this status represents an error.
- * @see #getSeverity
- * @see #matches
- */
- public static final int ERROR = 4;
-/**
- * Returns a list of status object immediately contained in this
- * multi-status, or an empty list if this is not a multi-status.
- *
- * @return an array of status objects
- * @see #isMultiStatus
- */
-public IStatus[] getChildren();
-/**
- * Returns the plug-in-specific status code describing the outcome.
- *
- * @return plug-in-specific status code
- */
-public int getCode();
-/**
- * Returns the relevant low-level exception, or <code>null</code> if none.
- * For example, when an operation fails because of a network communications
- * failure, this might return the <code>java.io.IOException</code>
- * describing the exact nature of that failure.
- *
- * @return the relevant low-level exception, or <code>null</code> if none
- */
-public Throwable getException();
-/**
- * Returns the message describing the outcome.
- * The message is localized to the current locale.
- *
- * @return a localized message
- */
-public String getMessage();
-/**
- * Returns the unique identifier of the plug-in associated with this status
- * (this is the plug-in that defines the meaning of the status code).
- *
- * @return the unique identifier of the relevant plug-in
- */
-public String getPlugin();
-/**
- * Returns the severity. The severities are as follows (in
- * descending order):
- * <ul>
- * <li><code>ERROR</code> - a serious error (most severe)</li>
- * <li><code>WARNING</code> - a warning (less severe)</li>
- * <li><code>INFO</code> - an informational ("fyi") message (least severe)</li>
- * <li><code>OK</code> - everything is just fine</li>
- * </ul>
- * <p>
- * The severity of a multi-status is defined to be the maximum
- * severity of any of its children, or <code>OK</code> if it has
- * no children.
- * </p>
- *
- * @return the severity: one of <code>OK</code>,
- * <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
- * @see #matches
- */
-public int getSeverity();
-/**
- * Returns whether this status is a multi-status.
- * A multi-status describes the outcome of an operation
- * involving multiple operands.
- * <p>
- * The severity of a multi-status is derived from the severities
- * of its children; a multi-status with no children is
- * <code>OK</code> by definition.
- * A multi-status carries a plug-in identifier, a status code,
- * a message, and an optional exception. Clients may treat
- * multi-status objects in a multi-status unaware way.
- * </p>
- *
- * @return <code>true</code> for a multi-status,
- * <code>false</code> otherwise
- * @see #getChildren
- */
-public boolean isMultiStatus();
-/**
- * Returns whether this status indicates everything is okay
- * (neither info, warning, nor error).
- *
- * @return <code>true</code> if this status has severity
- * <code>OK</code>, and <code>false</code> otherwise
- */
-public boolean isOK();
-/**
- * Returns whether the severity of this status matches the given
- * specification.
- *
- * @param severityMask a mask formed by bitwise or'ing severity mask
- * constants (<code>ERROR</code>, <code>WARNING</code>,
- * <code>INFO</code>)
- * @return <code>true</code> if there is at least one match,
- * <code>false</code> if there are no matches
- * @see #getSeverity
- * @see #ERROR
- * @see #WARNING
- * @see #INFO
- */
-public boolean matches(int severityMask);
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java
deleted file mode 100644
index 659bb6e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/MultiStatus.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * A concrete multi-status implementation,
- * suitable either for instantiating or subclassing.
- */
-public class MultiStatus extends Status {
-
- /** List of child statuses.
- */
- private IStatus[] children;
-/**
- * Creates and returns a new multi-status object with the given children.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code
- * @param children the list of children status objects
- * @param message a human-readable message, localized to the
- * current locale
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- */
-public MultiStatus(String pluginId, int code, IStatus[] children, String message, Throwable exception) {
- this(pluginId, code, message, exception);
- Assert.isLegal(children != null);
- for (int i = 0; i < children.length; i++) {
- Assert.isLegal(children[i] != null);
- add(children[i]);
- }
-}
-/**
- * Creates and returns a new multi-status object with no children.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code
- * @param message a human-readable message, localized to the
- * current locale
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- */
-public MultiStatus(String pluginId, int code, String message, Throwable exception) {
- super(OK, pluginId, code, message, exception);
- children = new IStatus[0];
-}
-/**
- * Adds the given status to this multi-status.
- *
- * @param status the new child status
- */
-public void add(IStatus status) {
- Assert.isLegal(status != null);
- IStatus[] result = new IStatus[children.length + 1];
- System.arraycopy(children, 0, result, 0, children.length);
- result[result.length - 1] = status;
- children = result;
- int newSev = status.getSeverity();
- if (newSev > getSeverity()) {
- setSeverity(newSev);
- }
-}
-/**
- * Adds all of the children of the given status to this multi-status.
- * Does nothing if the given status has no children (which includes
- * the case where it is not a multi-status).
- *
- * @param status the status whose children are to be added to this one
- */
-public void addAll(IStatus status) {
- Assert.isLegal(status != null);
- IStatus[] statuses = status.getChildren();
- for (int i = 0; i < statuses.length; i++) {
- add(statuses[i]);
- }
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public IStatus[] getChildren() {
- return children;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean isMultiStatus() {
- return true;
-}
-/**
- * Merges the given status into this multi-status.
- * Equivalent to <code>add(status)</code> if the
- * given status is not a multi-status.
- * Equivalent to <code>addAll(status)</code> if the
- * given status is a multi-status.
- *
- * @param status the status to merge into this one
- * @see #add
- * @see #addAll
- */
-public void merge(IStatus status) {
- Assert.isLegal(status != null);
- if (!status.isMultiStatus()) {
- add(status);
- } else {
- addAll(status);
- }
-}
-/**
- * Returns a string representation of the status, suitable
- * for debugging purposes only.
- */
-public String toString() {
- StringBuffer buf = new StringBuffer(super.toString());
- buf.append(" children=["); //$NON-NLS-1$
- for (int i = 0; i < children.length; i++) {
- if (i != 0) {
- buf.append(" "); //$NON-NLS-1$
- }
- buf.append(children[i].toString());
- }
- buf.append("]"); //$NON-NLS-1$
- return buf.toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java
deleted file mode 100644
index 3460361..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/NullProgressMonitor.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A default progress monitor implementation suitable for
- * subclassing.
- * <p>
- * This implementation supports cancelation. The default
- * implementations of the other methods do nothing.
- * </p>
- */
-public class NullProgressMonitor implements IProgressMonitor {
-
- /**
- * Indicates whether cancel has been requested.
- */
- private boolean cancelled = false;
-/**
- * Constructs a new progress monitor.
- */
-public NullProgressMonitor() {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when a task begins.
- *
- * @see IProgressMonitor#beginTask
- */
-public void beginTask(String name, int totalWork) {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when a task is done.
- *
- * @see IProgressMonitor#done
- */
-public void done() {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method.
- *
- * @see IProgressMonitor#internalWorked
- */
-public void internalWorked(double work) {
-}
-/**
- * This implementation returns the value of the internal
- * state variable set by <code>setCanceled</code>.
- * Subclasses which override this method should
- * override <code>setCanceled</code> as well.
- *
- * @see IProgressMonitor#isCanceled
- * @see IProgressMonitor#setCanceled
- */
-public boolean isCanceled() {
- return cancelled;
-}
-/**
- * This implementation sets the value of an internal state variable.
- * Subclasses which override this method should override
- * <code>isCanceled</code> as well.
- *
- * @see IProgressMonitor#isCanceled
- * @see IProgressMonitor#setCanceled
- */
-public void setCanceled(boolean cancelled) {
- this.cancelled = cancelled;
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do something
- * with the name of the task.
- *
- * @see IProgressMonitor#setTaskName
- */
-public void setTaskName(String name) {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when a subtask begins.
- *
- * @see IProgressMonitor#subTask
- */
-public void subTask(String name) {
-}
-/**
- * This implementation does nothing.
- * Subclasses may override this method to do interesting
- * processing when some work has been completed.
- *
- * @see IProgressMonitor#worked
- */
-public void worked(int work) {
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java
deleted file mode 100644
index 26dc327..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/OperationCanceledException.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * This exception is thrown to blow out of a long-running method
- * when the user cancels it.
- */
-public final class OperationCanceledException extends RuntimeException {
-/**
- * Creates a new exception.
- */
-public OperationCanceledException() {
- super();
-}
-/**
- * Creates a new exception with the given message.
- */
-public OperationCanceledException(String message) {
- super(message);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java
deleted file mode 100644
index 07f9c0e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Path.java
+++ /dev/null
@@ -1,851 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.File;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * The standard implementation of the <code>IPath</code> interface.
- * Paths are always maintained in canonicalized form. That is, parent
- * references (i.e., <code>../../</code>) and duplicate separators are
- * resolved. For example,
- * <pre> new Path("/a/b").append("../foo/bar")</pre>
- * will yield the path
- * <pre> /a/foo/bar</pre>
- * <p>
- * This class is not intended to be subclassed by clients but
- * may be instantiated.
- * </p>
- * @see IPath
- */
-public class Path implements IPath, Cloneable {
-
- /** The path segments */
- private String[] segments;
-
- /** The device id string. May be null if there is no device. */
- private String device = null;
-
- /** flags indicating separators (has leading, is UNC, has trailing) */
- private int separators;
-
- /** masks for separator values */
- private static final int HAS_LEADING = 1;
- private static final int IS_UNC = 2;
- private static final int HAS_TRAILING = 4;
- private static final int ALL_SEPARATORS = HAS_LEADING | IS_UNC | HAS_TRAILING;
-
- /** Mask for all bits that are involved in the hashcode */
- private static final int HASH_MASK = ~HAS_TRAILING;
-
- /** Constant value indicating no segments */
- private static final String[] NO_SEGMENTS = new String[0];
-
- /** Constant root path string (<code>"/"</code>). */
- private static final String ROOT_STRING = "/"; //$NON-NLS-1$
-
- /** Constant value containing the root path with no device. */
- public static final Path ROOT = new Path(ROOT_STRING);
-
- /** Constant empty string value. */
- private static final String EMPTY_STRING = ""; //$NON-NLS-1$
-
- /** Constant value containing the empty path with no device. */
- public static final Path EMPTY = new Path(EMPTY_STRING);
-
- //Private implementation note: the segments and separators
- //arrays are never modified, so that they can be shared between
- //path instances
-
-/* (Intentionally not included in javadoc)
- * Private constructor.
- */
-private Path() {
-}
-/* (Intentionally not included in javadoc)
- * Private constructor.
- */
-private Path(String device, String[] segments, int _separators) {
- // no segment validations are done for performance reasons
- this.segments = segments;
- this.device = device;
- //hashcode is cached in all but the bottom three bits of the separators field
- this.separators = (computeHashCode() << 3) | (_separators & ALL_SEPARATORS);
-}
-
-/**
- * Constructs a new path from the given string path.
- * The given string path must be valid.
- * The path is canonicalized and double slashes are removed
- * except at the beginning. (to handle UNC paths) All backslashes ('\')
- * are replaced with forward slashes. ('/')
- *
- * @param fullPath the string path
- * @see #isValidPath
- */
-public Path(String fullPath) {
- // no segment validations are done for performance reasons
- initialize(null, fullPath);
-}
-/**
- * Constructs a new path from the given device id and string path.
- * The given string path must be valid.
- * The path is canonicalized and double slashes are removed except
- * at the beginning (to handle UNC paths). All backslashes ('\')
- * are replaced with forward slashes. ('/')
- *
- * @param device the device id
- * @param path the string path
- * @see #isValidPath
- * @see #setDevice
- */
-public Path(String device, String path) {
- // no segment validations are done for performance reasons
- initialize(device, path);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#addFileExtension
- */
-public IPath addFileExtension(String extension) {
- if (isRoot() || isEmpty() || hasTrailingSeparator())
- return this;
- int len = segments.length;
- String[] newSegments = new String[len];
- System.arraycopy(segments, 0, newSegments, 0, len-1);
- newSegments[len-1] = segments[len-1] + "." + extension; //$NON-NLS-1$
- return new Path(device, newSegments, separators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#addTrailingSeparator
- */
-public IPath addTrailingSeparator() {
- if (hasTrailingSeparator() || isRoot()) {
- return this;
- }
- //XXX workaround, see 1GIGQ9V
- if (isEmpty()) {
- return new Path(device, segments, HAS_LEADING);
- }
- return new Path(device, segments, separators | HAS_TRAILING);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#append(java.lang.String)
- */
-public IPath append(String tail) {
- //optimize addition of a single segment
- if (tail.indexOf(SEPARATOR) == -1 && tail.indexOf("\\") == -1) { //$NON-NLS-1$
- int tailLength = tail.length();
- if (tailLength < 3) {
- //some special cases
- if (tailLength == 0 || ".".equals(tail)) { //$NON-NLS-1$
- return this;
- }
- if ("..".equals(tail)) //$NON-NLS-1$
- return removeLastSegments(1);
- }
- //just add the segment
- int myLen = segments.length;
- String[] newSegments = new String[myLen+1];
- System.arraycopy(segments, 0, newSegments, 0, myLen);
- newSegments[myLen] = tail;
- return new Path(device, newSegments, separators & ~HAS_TRAILING);
- }
- if (this.isEmpty())
- return new Path(device, tail).makeRelative();
- if (this.isRoot())
- return new Path(device, tail).makeAbsolute();
-
- //go with easy implementation for now
- return append(new Path(tail));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#append(IPath)
- */
-public IPath append(IPath tail) {
- //optimize some easy cases
- if (tail == null || tail.isEmpty() || tail.isRoot())
- return this;
- if (this.isEmpty())
- return tail.setDevice(device).makeRelative();
- if (this.isRoot())
- return tail.setDevice(device).makeAbsolute();
-
- //concatenate the two segment arrays
- int myLen = segments.length;
- int tailLen = tail.segmentCount();
- String[] newSegments = new String[myLen+tailLen];
- System.arraycopy(segments, 0, newSegments, 0, myLen);
- for (int i = 0; i < tailLen; i++) {
- newSegments[myLen+i] = tail.segment(i);
- }
- //use my leading separators and the tail's trailing separator
- Path result = new Path(device, newSegments,
- (separators & (HAS_LEADING | IS_UNC)) | (tail.hasTrailingSeparator() ? HAS_TRAILING : 0));
- String tailFirstSegment = newSegments[myLen];
- if (tailFirstSegment.equals("..") || tailFirstSegment.equals(".")) { //$NON-NLS-1$ //$NON-NLS-2$
- result.canonicalize();
- }
- return result;
-}
-/**
- * Destructively converts this path to its canonical form.
- * <p>
- * In its canonical form, a path does not have any
- * "." segments, and parent references ("..") are collapsed
- * where possible.
- * </p>
- * @return true if the path was modified, and false otherwise.
- */
-private boolean canonicalize() {
- //look for segments that need canonicalizing
- for (int i = 0, max = segments.length; i < max; i++) {
- String segment = segments[i];
- if (segment.charAt(0) == '.' && (segment.equals("..") || segment.equals("."))) { //$NON-NLS-1$ //$NON-NLS-2$
- //path needs to be canonicalized
- collapseParentReferences();
- //paths of length 0 have no trailing separator
- if (segments.length == 0)
- separators &= (HAS_LEADING | IS_UNC);
- //recompute hash because canonicalize affects hash
- separators = (separators & ALL_SEPARATORS) | (computeHashCode() << 3);
- return true;
- }
- }
- return false;
-}
-/* (Intentionally not included in javadoc)
- * Clones this object.
- */
-public Object clone() {
- try {
- return super.clone();
- } catch (CloneNotSupportedException e) {
- return null;
- }
-}
-/**
- * Destructively removes all occurrences of ".." segments from this path.
- */
-private void collapseParentReferences() {
- int segmentCount = segments.length;
- String[] stack = new String[segmentCount];
- int stackPointer = 0;
- for (int i = 0; i < segmentCount; i++) {
- String segment = segments[i];
- if (segment.equals("..")) { //$NON-NLS-1$
- if (stackPointer==0) {
- // if the stack is empty we are going out of our scope
- // so we need to accumulate segments. But only if the original
- // path is relative. If it is absolute then we can't go any higher than
- // root so simply toss the .. references.
- if (!isAbsolute())
- stack[stackPointer++] = segment;//stack push
- } else {
- // if the top is '..' then we are accumulating segments so don't pop
- if ("..".equals(stack[stackPointer-1])) //$NON-NLS-1$
- stack[stackPointer++] = ".."; //$NON-NLS-1$
- else
- stackPointer--;//stack pop
- }
- //collapse current references
- } else
- if (!segment.equals(".") || (i == 0 && !isAbsolute())) //$NON-NLS-1$
- stack[stackPointer++] = segment;//stack push
- }
- //if the number of segments hasn't changed, then no modification needed
- if (stackPointer== segmentCount)
- return;
- //build the new segment array backwards by popping the stack
- String[] newSegments = new String[stackPointer];
- System.arraycopy(stack, 0, newSegments, 0, stackPointer);
- this.segments = newSegments;
-}
-/**
- * Removes duplicate slashes from the given path, with the exception
- * of leading double slash which represents a UNC path.
- */
-private String collapseSlashes(String path) {
- int length = path.length();
- // if the path is only 0, 1 or 2 chars long then it could not possibly have illegal
- // duplicate slashes.
- if (length < 3)
- return path;
- // check for an occurence of // in the path. Start at index 1 to ensure we skip leading UNC //
- // If there are no // then there is nothing to collapse so just return.
- if (path.indexOf("//", 1) == -1) //$NON-NLS-1$
- return path;
- // We found an occurence of // in the path so do the slow collapse.
- char[] result = new char[path.length()];
- int count = 0;
- boolean hasPrevious = false;
- char[] characters = path.toCharArray();
- for (int index = 0; index < characters.length; index++) {
- char c = characters[index];
- if (c == SEPARATOR) {
- if (hasPrevious) {
- // skip double slashes, except for beginning of UNC.
- // note that a UNC path can't have a device.
- if (device == null && index == 1) {
- result[count] = c;
- count++;
- }
- } else {
- hasPrevious = true;
- result[count] = c;
- count++;
- }
- } else {
- hasPrevious = false;
- result[count] = c;
- count++;
- }
- }
- return new String(result, 0, count);
-}
-/* (Intentionally not included in javadoc)
- * Computes the hash code for this object.
- */
-private int computeHashCode() {
- int hash = device == null ? 17 : device.hashCode();
- int segmentCount = segments.length;
- for (int i = 0; i < segmentCount; i++) {
- //this function tends to given a fairly even distribution
- hash = hash * 37 + segments[i].hashCode();
- }
- return hash;
-}
-/* (Intentionally not included in javadoc)
- * Returns the size of the string that will be created by toString or toOSString.
- */
-private int computeLength() {
- int length = 0;
- if (device != null)
- length += device.length();
- if ((separators & HAS_LEADING) != 0)
- length ++;
- if ((separators & IS_UNC) != 0)
- length++;
- //add the segment lengths
- int max = segments.length;
- if (max > 0) {
- for (int i = 0; i < max; i++) {
- length += segments[i].length();
- }
- //add the separator lengths
- length += max-1;
- }
- if ((separators & HAS_TRAILING) != 0)
- length++;
- return length;
-}
-/* (Intentionally not included in javadoc)
- * Returns the number of segments in the given path
- */
-private int computeSegmentCount(String path) {
- int len = path.length();
- if (len == 0 || (len == 1 && path.charAt(0) == SEPARATOR)) {
- return 0;
- }
- int count = 1;
- int prev = -1;
- int i;
- while ((i = path.indexOf(SEPARATOR, prev + 1)) != -1) {
- if (i != prev + 1 && i != len) {
- ++count;
- }
- prev = i;
- }
- if (path.charAt(len - 1) == SEPARATOR) {
- --count;
- }
- return count;
-}
-/**
- * Computes the segment array for the given canonicalized path.
- */
-private String[] computeSegments(String path) {
- // performance sensitive --- avoid creating garbage
- int segmentCount = computeSegmentCount(path);
- if (segmentCount == 0)
- return NO_SEGMENTS;
- String[] newSegments = new String[segmentCount];
- int len = path.length();
- // check for initial slash
- int firstPosition = (path.charAt(0) == SEPARATOR) ? 1 : 0;
- // check for UNC
- if (firstPosition == 1 && len > 1 && (path.charAt(1) == SEPARATOR))
- firstPosition = 2;
- int lastPosition = (path.charAt(len - 1) != SEPARATOR) ? len - 1 : len - 2;
- // for non-empty paths, the number of segments is
- // the number of slashes plus 1, ignoring any leading
- // and trailing slashes
- int next = firstPosition;
- for (int i = 0; i < segmentCount; i++) {
- int start = next;
- int end = path.indexOf(SEPARATOR, next);
- if (end == -1) {
- newSegments[i] = path.substring(start, lastPosition + 1);
- } else {
- newSegments[i] = path.substring(start, end);
- }
- next = end + 1;
- }
- return newSegments;
-}
-/* (Intentionally not included in javadoc)
- * Compares objects for equality.
- */
-public boolean equals(Object obj) {
- if (this == obj)
- return true;
- if (!(obj instanceof Path))
- return false;
- Path target = (Path)obj;
- //check leading separators and hashcode
- if ((separators & HASH_MASK) != (target.separators & HASH_MASK))
- return false;
- String[] targetSegments = target.segments;
- int i = segments.length;
- //check segment count
- if (i != targetSegments.length)
- return false;
- //check segments in reverse order - later segments more likely to differ
- while (--i >= 0)
- if (!segments[i].equals(targetSegments[i]))
- return false;
- //check device last (least likely to differ)
- return device == target.device || (device != null && device.equals(target.device));
-}
-
-/* (Intentionally not included in javadoc)
- * @see IPath#getDevice
- */
-public String getDevice() {
- return device;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#getFileExtension
- */
-public String getFileExtension() {
- if (hasTrailingSeparator()) {
- return null;
- }
- String lastSegment = lastSegment();
- if (lastSegment == null) {
- return null;
- }
- int index = lastSegment.lastIndexOf("."); //$NON-NLS-1$
- if (index == -1) {
- return null;
- }
- return lastSegment.substring(index + 1);
-}
-/* (Intentionally not included in javadoc)
- * Computes the hash code for this object.
- */
-public int hashCode() {
- return separators & HASH_MASK;
-}
-
-/* (Intentionally not included in javadoc)
- * @see IPath#hasTrailingSeparator
- */
-public boolean hasTrailingSeparator() {
- return (separators & HAS_TRAILING) != 0;
-}
-/*
- * Initialize the current path with the given string.
- */
-private void initialize(String device, String fullPath) {
- Assert.isNotNull(fullPath);
- this.device = device;
-
- //indexOf is much faster than replace
- String path = fullPath.indexOf('\\') == -1 ? fullPath : fullPath.replace('\\', SEPARATOR);
-
- int i = path.indexOf(DEVICE_SEPARATOR);
- if (i != -1) {
- // if the specified device is null then set it to
- // be whatever is defined in the path string
- if (device == null)
- this.device = path.substring(0, i + 1);
- path = path.substring(i + 1, path.length());
- }
- path = collapseSlashes(path);
- int len = path.length();
-
- //compute the separators array
- if (len < 2) {
- if (len == 1 && path.charAt(0) == SEPARATOR) {
- this.separators = HAS_LEADING;
- } else {
- this.separators = 0;
- }
- } else {
- boolean hasLeading = path.charAt(0) == SEPARATOR;
- boolean isUNC = hasLeading && path.charAt(1) == SEPARATOR;
- //UNC path of length two has no trailing separator
- boolean hasTrailing = !(isUNC && len == 2) && path.charAt(len-1) == SEPARATOR;
- separators = hasLeading ? HAS_LEADING : 0;
- if (isUNC) separators |= IS_UNC;
- if (hasTrailing) separators |= HAS_TRAILING;
- }
- //compute segments and ensure canonical form
- segments = computeSegments(path);
- if (!canonicalize()) {
- //compute hash now because canonicalize didn't need to do it
- separators = (separators & ALL_SEPARATORS) | (computeHashCode() << 3);
- }
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isAbsolute
- */
-public boolean isAbsolute() {
- //it's absolute if it has a leading separator
- return (separators & HAS_LEADING) != 0;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isEmpty
- */
-public boolean isEmpty() {
- //true if no segments and no leading prefix
- return segments.length == 0 && ((separators & HAS_LEADING) == 0);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isPrefixOf
- */
-public boolean isPrefixOf(IPath anotherPath) {
- Assert.isNotNull(anotherPath);
- if (device == null) {
- if (anotherPath.getDevice() != null) {
- return false;
- }
- } else {
- if (!device.equalsIgnoreCase(anotherPath.getDevice())) {
- return false;
- }
- }
- if (isEmpty() || (isRoot() && anotherPath.isAbsolute())) {
- return true;
- }
- int len = segments.length;
- if (len > anotherPath.segmentCount()) {
- return false;
- }
- for (int i = 0; i < len; i++) {
- if (!segments[i].equals(anotherPath.segment(i)))
- return false;
- }
- return true;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isRoot
- */
-public boolean isRoot() {
- //must have no segments, a leading separator, and not be a UNC path.
- return this == ROOT || (segments.length == 0 && ((separators & ALL_SEPARATORS) == HAS_LEADING));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isUNC
- */
-public boolean isUNC() {
- if (device != null)
- return false;
- return (separators & IS_UNC) != 0;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isValidPath
- */
-public boolean isValidPath(String path) {
- // We allow "//" at the beginning for UNC paths
- if (path.indexOf("//") > 0) { //$NON-NLS-1$
- return false;
- }
- Path test = new Path(path);
- int segmentCount = test.segmentCount();
- for (int i = 0; i < segmentCount; i++) {
- if (!test.isValidSegment(test.segment(i))) {
- return false;
- }
- }
- return true;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#isValidSegment
- */
-public boolean isValidSegment(String segment) {
- int size = segment.length();
- if (size == 0) {
- return false;
- }
- if (Character.isWhitespace(segment.charAt(0)) || Character.isWhitespace(segment.charAt(size - 1))) {
- return false;
- }
- for (int i = 0; i < size; i++) {
- char c = segment.charAt(i);
- if (c == '/' || c == '\\' || c == ':') {
- return false;
- }
- }
- return true;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#lastSegment
- */
-public String lastSegment() {
- int len = segments.length;
- return len == 0 ? null : segments[len-1];
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#makeAbsolute
- */
-public IPath makeAbsolute() {
- if (isAbsolute()) {
- return this;
- }
- Path result = new Path(device, segments, separators | HAS_LEADING);
- //may need canonicalizing if it has leading ".." or "." segments
- if (result.segmentCount() > 0) {
- String first = result.segment(0);
- if (first.equals("..") || first.equals(".")) { //$NON-NLS-1$ //$NON-NLS-2$
- result.canonicalize();
- }
- }
- return result;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#makeRelative
- */
-public IPath makeRelative() {
- if (!isAbsolute()) {
- return this;
- }
- return new Path(device, segments, separators & HAS_TRAILING);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#makeUNC
- */
-public IPath makeUNC(boolean toUNC) {
- // if we are already in the right form then just return
- if (!(toUNC ^ isUNC()))
- return this;
-
- int newSeparators = this.separators;
- if (toUNC) {
- newSeparators |= HAS_LEADING | IS_UNC;
- } else {
- //mask out the UNC bit
- newSeparators &= HAS_LEADING | HAS_TRAILING;
- }
- return new Path(toUNC ? null : device, segments, newSeparators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#matchingFirstSegments
- */
-public int matchingFirstSegments(IPath anotherPath) {
- Assert.isNotNull(anotherPath);
- int anotherPathLen = anotherPath.segmentCount();
- int max = Math.min(segments.length, anotherPathLen);
- int count = 0;
- for (int i = 0; i < max; i++) {
- if (!segments[i].equals(anotherPath.segment(i))) {
- return count;
- }
- count++;
- }
- return count;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeFileExtension
- */
-public IPath removeFileExtension() {
- String extension = getFileExtension();
- if (extension == null || extension.equals("")) { //$NON-NLS-1$
- return this;
- }
- String lastSegment = lastSegment();
- int index = lastSegment.lastIndexOf(extension) - 1;
- return removeLastSegments(1).append(lastSegment.substring(0, index));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeFirstSegments
- */
-public IPath removeFirstSegments(int count) {
- if (count == 0)
- return this;
- if (count >= segments.length) {
- return new Path(device, NO_SEGMENTS, 0);
- }
- Assert.isLegal(count > 0);
- int newSize = segments.length - count;
- String[] newSegments = new String[newSize];
- System.arraycopy(this.segments, count, newSegments, 0, newSize);
-
- //result is always a relative path
- return new Path(device, newSegments, separators & HAS_TRAILING);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeLastSegments
- */
-public IPath removeLastSegments(int count) {
- if (count == 0)
- return this;
- if (count >= segments.length) {
- //result will have no trailing separator
- return new Path(device, NO_SEGMENTS, separators & (HAS_LEADING|IS_UNC));
- }
- Assert.isLegal(count > 0);
- int newSize = segments.length - count;
- String[] newSegments = new String[newSize];
- System.arraycopy(this.segments, 0, newSegments,0, newSize);
- return new Path(device, newSegments, separators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#removeTrailingSeparator
- */
-public IPath removeTrailingSeparator() {
- if (!hasTrailingSeparator()) {
- return this;
- }
- return new Path(device, segments, separators & (HAS_LEADING | IS_UNC));
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#segment
- */
-public String segment(int index) {
- if (index >= segments.length)
- return null;
- return segments[index];
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#segmentCount
- */
-public int segmentCount() {
- return segments.length;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#segments
- */
-public String[] segments() {
- String[] segmentCopy = new String[segments.length];
- System.arraycopy(segments, 0, segmentCopy, 0, segments.length);
- return segmentCopy;
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#setDevice
- */
-public IPath setDevice(String value) {
- if (value != null) {
- Assert.isTrue(value.indexOf(IPath.DEVICE_SEPARATOR) == (value.length() - 1), "Last character should be the device separator"); //$NON-NLS-1$
- }
- //return the reciever if the device is the same
- if (value == device || (value != null && value.equals(device)))
- return this;
-
- return new Path(value, segments, separators);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#toFile
- */
-public File toFile() {
- return new File(toOSString());
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#toOSString
- */
-public String toOSString() {
- //Note that this method is identical to toString except
- //it uses the OS file separator instead of the path separator
- int resultSize = computeLength();
- if (resultSize <= 0)
- return EMPTY_STRING;
- char FILE_SEPARATOR = File.separatorChar;
- char[] result = new char[resultSize];
- int offset = 0;
- if (device != null) {
- int size = device.length();
- device.getChars(0, size, result, offset);
- offset += size;
- }
- if ((separators & HAS_LEADING) != 0)
- result[offset++] = FILE_SEPARATOR;
- if ((separators & IS_UNC) != 0)
- result[offset++] = FILE_SEPARATOR;
- int len = segments.length-1;
- if (len>=0) {
- //append all but the last segment, with separators
- for (int i = 0; i < len; i++) {
- int size = segments[i].length();
- segments[i].getChars(0, size, result, offset);
- offset += size;
- result[offset++] = FILE_SEPARATOR;
- }
- //append the last segment
- int size = segments[len].length();
- segments[len].getChars(0, size, result, offset);
- offset += size;
- }
- if ((separators & HAS_TRAILING) != 0)
- result[offset++] = FILE_SEPARATOR;
- return new String(result);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#toString
- */
-public String toString() {
- int resultSize = computeLength();
- if (resultSize <= 0)
- return EMPTY_STRING;
- char[] result = new char[resultSize];
- int offset = 0;
- if (device != null) {
- int size = device.length();
- device.getChars(0, size, result, offset);
- offset += size;
- }
- if ((separators & HAS_LEADING) != 0)
- result[offset++] = SEPARATOR;
- if ((separators & IS_UNC) != 0)
- result[offset++] = SEPARATOR;
- int len = segments.length-1;
- if (len>=0) {
- //append all but the last segment, with separators
- for (int i = 0; i < len; i++) {
- int size = segments[i].length();
- segments[i].getChars(0, size, result, offset);
- offset += size;
- result[offset++] = SEPARATOR;
- }
- //append the last segment
- int size = segments[len].length();
- segments[len].getChars(0, size, result, offset);
- offset += size;
- }
- if ((separators & HAS_TRAILING) != 0)
- result[offset++] = SEPARATOR;
- return new String(result);
-}
-/* (Intentionally not included in javadoc)
- * @see IPath#uptoSegment
- */
-public IPath uptoSegment(int count) {
- if (count == 0)
- return Path.EMPTY;
- if (count >= segments.length)
- return this;
- Assert.isTrue(count > 0, "Invalid parameter to Path.uptoSegment"); //$NON-NLS-1$
- String[] newSegments = new String[count];
- System.arraycopy(segments, 0, newSegments, 0, count);
- return new Path(device, newSegments, separators);
-}
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
deleted file mode 100644
index 43ad2af..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Platform.java
+++ /dev/null
@@ -1,415 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.Map;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.model.Factory;
-import org.eclipse.core.runtime.model.PluginRegistryModel;
-
-/**
- * The central class of the Eclipse Platform Runtime. This class cannot
- * be instantiated or subclassed by clients; all functionality is provided
- * by static methods. Features include:
- * <ul>
- * <li>the platform registry of installed plug-ins</li>
- * <li>the platform adapter manager</li>
- * <li>the platform log</li>
- * <li>the authorization info management</li>
- * </ul>
- * <p>
- * The platform is in one of two states, running or not running, at all
- * times. The only ways to start the platform running, or to shut it down,
- * are on the bootstrap <code>BootLoader</code> class. Code in plug-ins will
- * only observe the platform in the running state. The platform cannot
- * be shutdown from inside (code in plug-ins have no access to
- * <code>BootLoader</code>).
- * </p>
- */
-public final class Platform {
- /**
- * The unique identifier constant (value "<code>org.eclipse.core.runtime</code>")
- * of the Core Runtime (pseudo-) plug-in.
- */
- public static final String PI_RUNTIME = "org.eclipse.core.runtime"; //$NON-NLS-1$
-
- /**
- * The simple identifier constant (value "<code>applications</code>") of
- * the extension point of the Core Runtime plug-in where plug-ins declare
- * the existence of runnable applications. A plug-in may define any
- * number of applications; however, the platform is only capable
- * of running one application at a time.
- *
- * @see org.eclipse.core.boot.BootLoader#run
- */
- public static final String PT_APPLICATIONS = "applications"; //$NON-NLS-1$
-
- /**
- * Debug option value denoting the time at which the platform runtime
- * was started. This constant can be used in conjunction with
- * <code>getDebugOption</code> to find the string value of
- * <code>System.currentTimeMillis()</code> when the platform was started.
- */
- public static final String OPTION_STARTTIME = PI_RUNTIME + "/starttime"; //$NON-NLS-1$
-
- /**
- * Status code constant (value 1) indicating a problem in a plug-in
- * manifest (<code>plugin.xml</code>) file.
- */
- public static final int PARSE_PROBLEM = 1;
-
- /**
- * Status code constant (value 2) indicating an error occurred while running a plug-in.
- */
- public static final int PLUGIN_ERROR = 2;
-
- /**
- * Status code constant (value 3) indicating an error internal to the
- * platform has occurred.
- */
- public static final int INTERNAL_ERROR = 3;
-
- /**
- * Status code constant (value 4) indicating the platform could not read
- * some of its metadata.
- */
- public static final int FAILED_READ_METADATA = 4;
-
- /**
- * Status code constant (value 5) indicating the platform could not write
- * some of its metadata.
- */
- public static final int FAILED_WRITE_METADATA = 5;
-
- /**
- * Status code constant (value 6) indicating the platform could not delete
- * some of its metadata.
- */
- public static final int FAILED_DELETE_METADATA = 6;
-/**
- * Private constructor to block instance creation.
- */
-private Platform() {
-}
-/**
- * Adds the given authorization information to the keyring. The
- * information is relevant for the specified protection space and the
- * given authorization scheme. The protection space is defined by the
- * combination of the given server URL and realm. The authorization
- * scheme determines what the authorization information contains and how
- * it should be used. The authorization information is a <code>Map</code>
- * of <code>String</code> to <code>String</code> and typically
- * contains information such as usernames and passwords.
- *
- * @param serverUrl the URL identifying the server for this authorization
- * information. For example, "http://www.example.com/".
- * @param realm the subsection of the given server to which this
- * authorization information applies. For example,
- * "realm1@example.com" or "" for no realm.
- * @param authScheme the scheme for which this authorization information
- * applies. For example, "Basic" or "" for no authorization scheme
- * @param info a <code>Map</code> containing authorization information
- * such as usernames and passwords (key type : <code>String</code>,
- * value type : <code>String</code>)
- * @exception CoreException if there are problems setting the
- * authorization information. Reasons include:
- * <ul>
- * <li>The keyring could not be saved.</li>
- * </ul>
- */
-public static void addAuthorizationInfo(URL serverUrl, String realm, String authScheme, Map info) throws CoreException {
- InternalPlatform.addAuthorizationInfo(serverUrl, realm, authScheme, info);
-}
-/**
- * Adds the given log listener to the notification list of the platform.
- * <p>
- * Once registered, a listener starts receiving notification as entries
- * are added to plug-in logs via <code>ILog.log()</code>. The listener continues to
- * receive notifications until it is replaced or removed.
- * </p>
- *
- * @param listener the listener to register
- * @see ILog#addLogListener
- * @see #removeLogListener
- */
-public static void addLogListener(ILogListener listener) {
- InternalPlatform.addLogListener(listener);
-}
-/**
- * Adds the specified resource to the protection space specified by the
- * given realm. All targets at or deeper than the depth of the last
- * symbolic element in the path of the given resource URL are assumed to
- * be in the same protection space.
- *
- * @param resourceUrl the URL identifying the resources to be added to
- * the specified protection space. For example,
- * "http://www.example.com/folder/".
- * @param realm the name of the protection space. For example,
- * "realm1@example.com"
- * @exception CoreException if there are problems setting the
- * authorization information. Reasons include:
- * <ul>
- * <li>The keyring could not be saved.</li>
- * </ul>
- */
-public static void addProtectionSpace(URL resourceUrl, String realm) throws CoreException {
- InternalPlatform.addProtectionSpace(resourceUrl, realm);
-}
-/**
- * Returns a URL which is the local equivalent of the
- * supplied URL. This method is expected to be used with
- * plug-in-relative URLs returned by IPluginDescriptor.
- * If the specified URL is not a plug-in-relative URL, it
- * is returned asis. If the specified URL is a plug-in-relative
- * URL of a file (incl. .jar archive), it is returned as
- * a locally-accessible URL using "file:" or "jar:file:" protocol
- * (caching the file locally, if required). If the specified URL
- * is a plug-in-relative URL of a directory,
- * an exception is thrown.
- *
- * @param url original plug-in-relative URL.
- * @return the resolved URL
- * @exception IOException if unable to resolve URL
- * @see #resolve
- * @see IPluginDescriptor#getInstallURL
- */
-public static URL asLocalURL(URL url) throws IOException {
- return InternalPlatform.asLocalURL(url);
-}
-
-/**
- * Takes down the splash screen if one was put up.
- */
-public static void endSplash() {
- InternalPlatform.endSplash();
-}
-
-/**
- * Removes the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm.
- *
- * @param serverUrl the URL identifying the server to remove the
- * authorization information for. For example,
- * "http://www.example.com/".
- * @param realm the subsection of the given server to remove the
- * authorization information for. For example,
- * "realm1@example.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- * to remove applies. For example, "Basic" or "" for no
- * authorization scheme.
- * @exception CoreException if there are problems removing the
- * authorization information. Reasons include:
- * <ul>
- * <li>The keyring could not be saved.</li>
- * </ul>
- */
-public static void flushAuthorizationInfo(URL serverUrl, String realm, String authScheme) throws CoreException {
- InternalPlatform.flushAuthorizationInfo(serverUrl, realm, authScheme);
-}
-/**
- * Returns the adapter manager used for extending
- * <code>IAdaptable</code> objects.
- *
- * @return the adapter manager for this platform
- * @see IAdapterManager
- */
-public static IAdapterManager getAdapterManager() {
- return InternalPlatform.getAdapterManager();
-}
-/**
- * Returns the authorization information for the specified protection
- * space and given authorization scheme. The protection space is defined
- * by the given server URL and realm. Returns <code>null</code> if no
- * such information exists.
- *
- * @param serverUrl the URL identifying the server for the authorization
- * information. For example, "http://www.example.com/".
- * @param realm the subsection of the given server to which the
- * authorization information applies. For example,
- * "realm1@example.com" or "" for no realm.
- * @param authScheme the scheme for which the authorization information
- * applies. For example, "Basic" or "" for no authorization scheme
- * @return the authorization information for the specified protection
- * space and given authorization scheme, or <code>null</code> if no
- * such information exists
- */
-public static Map getAuthorizationInfo(URL serverUrl, String realm, String authScheme) {
- return InternalPlatform.getAuthorizationInfo(serverUrl, realm, authScheme);
-}
-/**
- * Returns the command line args provided to the platform when it was first run.
- * Note that individual platform runnables may be provided with different arguments
- * if they are being run individually rather than with <code>Platform.run()</code>.
- *
- * @return the command line used to start the platform
- */
-public static String[] getCommandLineArgs() {
- return BootLoader.getCommandLineArgs();
-}
-/**
- * Returns the identified option. <code>null</code>
- * is returned if no such option is found. Options are specified
- * in the general form <i><plug-in id>/<option-path></i>.
- * For example, <code>org.eclipse.core.runtime/debug</code>
- *
- * @param option the name of the option to lookup
- * @return the value of the requested debug option or <code>null</code>
- */
-public static String getDebugOption(String option) {
- return InternalPlatform.getDebugOption(option);
-}
-/**
- * Returns the location of the platform working directory. This
- * corresponds to the <i>-data</i> command line argument if
- * present or, if not, the current working directory when the platform
- * was started.
- *
- * @return the location of the platform
- */
-public static IPath getLocation() {
- return InternalPlatform.getLocation();
-}
-/**
- * Returns the location of the platform log file. This file may contain information
- * about errors that have previously occurred during this invocation of the Platform.
- *
- * Note: it is very important that users of this method do not leave the log
- * file open for extended periods of time. Doing so may prevent others
- * from writing to the log file, which could result in important error messages
- * being lost. It is strongly recommended that clients wanting to read the
- * log file for extended periods should copy the log file contents elsewhere,
- * and immediately close the original file.
- *
- * @return the path of the log file on disk.
- */
-public static IPath getLogFileLocation() {
- return InternalPlatform.getMetaArea().getLogLocation();
-}
-/**
- * Returns the plug-in runtime object for the identified plug-in
- * or <code>null</code> if no such plug-in can be found. If
- * the plug-in is defined but not yet activated, the plug-in will
- * be activated before being returned.
- *
- * @param id the unique identifier of the desired plug-in
- * (e.g., <code>"com.example.acme"</code>).
- * @return the plug-in runtime object, or <code>null</code>
- */
-public static Plugin getPlugin(String id) {
- return InternalPlatform.getPlugin(id);
-}
-/**
- * Returns the plug-in registry for this platform.
- *
- * @return the plug-in registry
- * @see IPluginRegistry
- */
-public static IPluginRegistry getPluginRegistry() {
- return InternalPlatform.getPluginRegistry();
-}
-/**
- * Returns the location in the local file system of the plug-in
- * state area for the given plug-in.
- * The platform must be running.
- * <p>
- * The plug-in state area is a file directory within the
- * platform's metadata area where a plug-in is free to create files.
- * The content and structure of this area is defined by the plug-in,
- * and the particular plug-in is solely responsible for any files
- * it puts there. It is recommended for plug-in preference settings.
- * </p>
- *
- * @param plugin the plug-in whose state location is returned
- * @return a local file system path
- */
-public static IPath getPluginStateLocation(Plugin plugin) {
- return InternalPlatform.getPluginStateLocation(plugin.getDescriptor(), true);
-}
-/**
- * Returns the protection space (realm) for the specified resource, or
- * <code>null</code> if the realm is unknown.
- *
- * @param resourceUrl the URL of the resource whose protection space is
- * returned. For example, "http://www.example.com/folder/".
- * @return the protection space (realm) for the specified resource, or
- * <code>null</code> if the realm is unknown
- */
-public static String getProtectionSpace(URL resourceUrl) {
- return InternalPlatform.getProtectionSpace(resourceUrl);
-}
-/**
- * Returns a plug-in registry containing all of the plug-ins discovered
- * on the given plug-in path. Any problems encountered are added to
- * the status managed by the supplied factory.
- * <p>
- * The given plug-in path is the list of locations in which to look for plug-ins.
- * If an entry identifies a directory (i.e., ends in a '/'), this method
- * attempts to scan all sub-directories for plug-ins. Alternatively, an
- * entry may identify a particular plug-in manifest (<code>plugin.xml</code>) file.
- * </p>
- * <p>
- * <b>Note:</b> this method does not affect the running platform. It is intended
- * for introspecting installed plug-ins on this and other platforms. The returned
- * registry is <b>not</b> the same as the platform's registry.
- * </p>
- *
- * @param pluginPath the list of locations in which to look for plug-ins
- * @param factory the factory to use to create runtime model objects
- * @return the registry of parsed plug-ins
- */
-public static PluginRegistryModel parsePlugins(URL[] pluginPath, Factory factory) {
- return InternalPlatform.parsePlugins(pluginPath, factory);
-}
-/**
- * Removes the indicated (identical) log listener from the notification list
- * of the platform. If no such listener exists, no action is taken.
- *
- * @param listener the listener to deregister
- * @see ILog#removeLogListener
- * @see #addLogListener
- */
-public static void removeLogListener(ILogListener listener) {
- InternalPlatform.removeLogListener(listener);
-}
-/**
- * Returns a URL which is the resolved equivalent of the
- * supplied URL. This method is expected to be used with
- * plug-in-relative URLs returned by IPluginDescriptor.
- * If the specified URL is not a plug-in-relative URL, it is returned
- * as is. If the specified URL is a plug-in-relative URL, it is
- * resolved to a URL using the actual URL protocol
- * (eg. file, http, etc)
- *
- * @param url original plug-in-relative URL.
- * @return the resolved URL
- * @exception IOException if unable to resolve URL
- * @see #asLocalURL
- * @see IPluginDescriptor#getInstallURL
- */
-public static URL resolve(URL url) throws java.io.IOException {
- return InternalPlatform.resolve(url);
-}
-/**
- * Runs the given runnable in a protected mode. Exceptions
- * thrown in the runnable are logged and passed to the runnable's
- * exception handler. Such exceptions are not rethrown by this method.
- *
- * @param code the runnable to run
- */
-public static void run(ISafeRunnable runnable) {
- InternalPlatform.run(runnable);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java
deleted file mode 100644
index 3642a57..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PlatformObject.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * An abstract superclass implementing the <code>IAdaptable</code>
- * interface. <code>getAdapter</code> invocations are directed
- * to the platform's adapter manager.
- * <p>
- * Note: In situations where it would be awkward to subclass this
- * class, the same affect can be achieved simply by implementing
- * the <code>IAdaptable</code> interface and explicitly forwarding
- * the <code>getAdapter</code> request to the platform's
- * adapater manager. The method would look like:
- * <pre>
- * public Object getAdapter(Class adapter) {
- * return Platform.getAdapterManager().getAdapter(this, adapter);
- * }
- * </pre>
- * </p>
- * <p>
- * Clients may subclass.
- * </p>
- *
- * @see Platform#getAdapterManager
- */
-public abstract class PlatformObject implements IAdaptable {
-/**
- * Constructs a new platform object.
- */
-public PlatformObject() {
-}
-/**
- * Returns an object which is an instance of the given class
- * associated with this object. Returns <code>null</code> if
- * no such object can be found.
- * <p>
- * This implementation of the method declared by <code>IAdaptable</code>
- * passes the request along to the platform's adapter manager; roughly
- * <code>Platform.getAdapterManager().getAdapter(this, adapter)</code>.
- * Subclasses may override this method (however, if they do so, they
- * should invoke the method on their superclass to ensure that the
- * Platform's adapter manager is consulted).
- * </p>
- *
- * @see IAdaptable#getAdapter
- * @see Platform#getAdapterManager
- */
-public Object getAdapter(Class adapter) {
- return Platform.getAdapterManager().getAdapter(this, adapter);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
deleted file mode 100644
index fcd5332..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Plugin.java
+++ /dev/null
@@ -1,737 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-import org.eclipse.core.internal.plugins.DefaultPlugin;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.*;
-
-/**
- * The abstract superclass of all plug-in runtime class
- * implementations. A plug-in subclasses this class and overrides
- * the <code>startup</code> and <code>shutdown</code> methods
- * in order to react to life cycle requests automatically issued
- * by the platform.
- * <p>
- * Conceptually, the plug-in runtime class represents the entire plug-in
- * rather than an implementation of any one particular extension the
- * plug-in declares. A plug-in is not required to explicitly
- * specify a plug-in runtime class; if none is specified, the plug-in
- * will be given a default plug-in runtime object that ignores all life
- * cycle requests (it still provides access to the corresponding
- * plug-in descriptor).
- * </p>
- * <p>
- * In the case of more complex plug-ins, it may be desireable
- * to define a concrete subclass of <code>Plugin</code>.
- * However, just subclassing <code>Plugin</code> is not
- * sufficient. The name of the class must be explicitly configured
- * in the plug-in's manifest (<code>plugin.xml</code>) file
- * with the class attribute of the <code><plugin></code> element markup.
- * </p>
- * <p>
- * Instances of plug-in runtime classes are automatically created
- * by the platform in the course of plug-in activation.
- * <b>Clients must never explicitly instantiate a plug-in runtime class</b>.
- * </p>
- * <p>
- * A typical implementation pattern for plug-in runtime classes is to
- * provide a static convenience method to gain access to a plug-in's
- * runtime object. This way, code in other parts of the plug-in
- * implementation without direct access to the plug-in runtime object
- * can easily obtain a reference to it, and thence to any plug-in-wide
- * resources recorded on it. An example follows:
- * <pre>
- * package myplugin;
- * public class MyPluginClass extends Plugin {
- * private static MyPluginClass instance;
- *
- * public static MyPluginClass getInstance() { return instance; }
- *
- * public void MyPluginClass(IPluginDescriptor descriptor) {
- * super(descriptor);
- * instance = this;
- * // ... other initialization
- * }
- * // ... other methods
- * }
- * </pre>
- * In the above example, a call to <code>MyPluginClass.getInstance()</code>
- * will always return an initialized instance of <code>MyPluginClass</code>.
- * </p>
- * <p>
- * The static method <code>Platform.getPlugin()</code>
- * can be used to locate a plug-in's runtime object by name.
- * The extension initialization would contain the following code:
- * <pre>
- * Plugin myPlugin = Platform.getPlugin("com.example.myplugin");
- * </pre>
- *
- * Another typical implementation pattern for plug-in classes
- * is handling of any initialization files required by the plug-in.
- * Typically, each plug-in will ship one or more default files
- * as part of the plug-in install. The executing plug-in will
- * use the defaults on initial startup (or when explicitly requested
- * by the user), but will subsequently rewrite any modifications
- * to the default settings into one of the designated plug-in
- * working directory locations. An example of such an implementation
- * pattern is illustrated below:
- * <pre>
- * package myplugin;
- * public class MyPlugin extends Plugin {
- *
- * private static final String INI = "myplugin.ini";
- * private Properties myProperties = null;
- *
- * public void startup() throws CoreException {
- * try {
- * InputStream input = null;
- * // look for working properties. If none, use shipped defaults
- * File file = getStateLocation().append(INI).toFile();
- * if (!file.exists()) {
- * URL base = getDescriptor().getInstallURL();
- * input = (new URL(base,INI)).openStream();
- * } else
- * input = new FileInputStream(file);
- *
- * // load properties
- * try {
- * myProperties = new Properties();
- * myProperties.load(input);
- * } finally {
- * try {
- * input.close();
- * } catch (IOException e) {
- * // ignore failure on close
- * }
- * }
- * } catch (Exception e) {
- * throw new CoreException(
- * new Status(IStatus.ERROR, getDescriptor().getUniqueIdentifier(),
- * 0, "Problems starting plug-in myplugin", e));
- * }
- * }
- *
- * public void shutdown() throws CoreException {
- * // save properties in plugin state location (r/w)
- * try {
- * FileOutputStream output = null;
- * try {
- * output = new FileOutputStream(getStateLocation().append(INI));
- * myProperties.store(output, null);
- * } finally {
- * try {
- * output.close();
- * } catch (IOException e) {
- * // ignore failure on close
- * }
- * }
- * } catch (Exception e) {
- * throw new CoreException(
- * new Status(IStatus.ERROR, getDescriptor().getUniqueIdentifier(),
- * 0, "Problems shutting down plug-in myplugin", e));
- * }
- * }
- *
- * public Properties getProperties() {
- * return myProperties;
- * }
- * }
- * </pre>
- * </p>
- */
-public abstract class Plugin {
-
- /**
- * The debug flag for this plug-in. The flag is false by default.
- * It can be set to true either by the plug-in itself or in the platform
- * debug options.
- */
- private boolean debug = false;
-
- /** The plug-in descriptor.
- */
- private IPluginDescriptor descriptor;
-
- /**
- * The name of the file (value <code>"preferences.ini"</code>) in a
- * plug-in's (read-only) directory that, when present, contains values that
- * override the normal default values for this plug-in's preferences.
- * <p>
- * The format of the file is as per <code>java.io.Properties</code> where
- * the keys are property names and values are strings.
- * </p>
- *
- * @since 2.0
- */
- public static final String PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME = "preferences";//$NON-NLS-1$
- public static final String PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME = PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME + ".ini";//$NON-NLS-1$
-
- /**
- * The preference object for this plug-in; initially <code>null</code>
- * meaning not yet created and initialized.
- *
- * @since 2.0
- */
- private Preferences preferences = null;
-
-/**
- * Creates a new plug-in runtime object for the given plug-in descriptor.
- * <p>
- * Instances of plug-in runtime classes are automatically created
- * by the platform in the course of plug-in activation.
- * <b>Clients must never explicitly instantiate a plug-in runtime class.</b>
- * </p>
- * <p>
- * Note: The class loader typically has monitors acquired during invocation of this method. It is
- * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
- * as this would lead to deadlock vulnerability.
- * </p>
- *
- * @param descriptor the plug-in descriptor
- * @see #getDescriptor
- */
-public Plugin(IPluginDescriptor descriptor) {
- Assert.isNotNull(descriptor);
- Assert.isTrue(!descriptor.isPluginActivated(), Policy.bind("plugin.deactivatedLoad", this.getClass().getName(), descriptor.getUniqueIdentifier() + " is not activated")); //$NON-NLS-1$ //$NON-NLS-2$
- String className = ((PluginDescriptor) descriptor).getPluginClass();
- if (this.getClass() == DefaultPlugin.class)
- Assert.isTrue(className == null || className.equals(""), Policy.bind("plugin.mismatchRuntime", descriptor.getUniqueIdentifier())); //$NON-NLS-1$ //$NON-NLS-2$
- else
- Assert.isTrue(this.getClass().getName().equals(className), Policy.bind("plugin.mismatchRuntime", descriptor.getUniqueIdentifier())); //$NON-NLS-1$
- this.descriptor = descriptor;
- String key = descriptor.getUniqueIdentifier() + "/debug"; //$NON-NLS-1$
- String value = Platform.getDebugOption(key);
- this.debug = value == null ? false : value.equalsIgnoreCase("true"); //$NON-NLS-1$
-}
-/**
- * Returns a URL for the given path. Returns <code>null</code> if the URL
- * could not be computed or created.
- *
- * @param file path relative to plug-in installation location
- * @return a URL for the given path or <code>null</code>
- */
-public final URL find(IPath path) {
- return getDescriptor().find(path);
-}
-/**
- * Returns a URL for the given path. Returns <code>null</code> if the URL
- * could not be computed or created.
- *
- * @param path file path relative to plug-in installation location
- * @param override map of override substitution arguments to be used for
- * any $arg$ path elements. The map keys correspond to the substitution
- * arguments (eg. "$nl$" or "$os$"). The resulting
- * values must be of type java.lang.String. If the map is <code>null</code>,
- * or does not contain the required substitution argument, the default
- * is used.
- * @return a URL for the given path or <code>null</code>
- */
-public final URL find(IPath path, Map override) {
- return getDescriptor().find(path,override);
-}
-private String getFileFromURL(URL target) {
- String protocol = target.getProtocol();
- if (protocol.equals(PlatformURLHandler.FILE))
- return target.getFile();
- if (protocol.equals(PlatformURLHandler.JAR)) {
- // strip off the jar separator at the end of the url then do a recursive call
- // to interpret the sub URL.
- String file = target.getFile();
- file = file.substring(0, file.length() - PlatformURLHandler.JAR_SEPARATOR.length());
- try {
- return getFileFromURL(new URL(file));
- } catch (MalformedURLException e) {
- }
- }
- return null;
-}
-/**
- * Returns the plug-in descriptor for this plug-in runtime object.
- *
- * @return the plug-in descriptor for this plug-in runtime object
- */
-public final IPluginDescriptor getDescriptor() {
- return descriptor;
-}
-/**
- * Returns the log for this plug-in. If no such log exists, one is created.
- *
- * @return the log for this plug-in
- */
-public final ILog getLog() {
- return InternalPlatform.getLog(this);
-}
-/**
- * Returns the location in the local file system of the
- * plug-in state area for this plug-in.
- * If the plug-in state area did not exist prior to this call,
- * it is created.
- * <p>
- * The plug-in state area is a file directory within the
- * platform's metadata area where a plug-in is free to create files.
- * The content and structure of this area is defined by the plug-in,
- * and the particular plug-in is solely responsible for any files
- * it puts there. It is recommended for plug-in preference settings and
- * other configuration parameters.
- * </p>
- *
- * @return a local file system path
- */
-public final IPath getStateLocation() {
- return InternalPlatform.getPluginStateLocation(descriptor, true);
-}
-
-/**
- * Returns the preference store for this plug-in.
- * <p>
- * Note that if an error occurs reading the preference store from disk, an empty
- * preference store is quietly created, initialized with defaults, and returned.
- * </p>
- * <p>
- * Calling this method may cause the preference store to be created and
- * initialized. Subclasses which reimplement the
- * <code>initializeDefaultPluginPreferences</code> method have this opportunity
- * to initialize preference default values, just prior to processing override
- * default values imposed externally to this plug-in (specified for the product,
- * or at platform start up).
- * </p>
- * <p>
- * After settings in the preference store are changed (for example, with
- * <code>Preferences.setValue</code> or <code>setToDefault</code>),
- * <code>savePluginPreferences</code> should be called to store the changed
- * values back to disk. Otherwise the changes will be lost on plug-in
- * shutdown.
- * </p>
- *
- * @return the preference store
- * @see #savePluginPreferences
- * @see Preferences#setValue
- * @see Preferences#setToDefault
- * @since 2.0
- */
-public final Preferences getPluginPreferences() {
- if (preferences != null) {
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Plugin preferences already loaded for " + getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
- }
- // N.B. preferences instance field set means already created
- // and initialized (or in process of being initialized)
- return preferences;
- }
-
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Loading preferences for plugin " + getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
- }
- // lazily create preference store
- // important: set preferences instance field to prevent re-entry
- preferences = new Preferences();
- // load settings into preference store
- loadPluginPreferences();
-
- // 1. fill in defaults supplied by this plug-in
- initializeDefaultPluginPreferences();
- // 2. override with defaults stored with plug-in
- applyInternalPluginDefaultOverrides();
- // 3. override with defaults from primary feature or command line
- applyExternalPluginDefaultOverrides();
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Completed loading preferences for plugin " + getDescriptor().getUniqueIdentifier()); //$NON-NLS-1$
- }
- return preferences;
-}
-
-/**
- * Loads preferences settings for this plug-in from the plug-in preferences
- * file in the plug-in's state area. This plug-in must have a preference store
- * object.
- *
- * @see Preferences#load
- * @since 2.0
- */
-private void loadPluginPreferences() {
- // the preferences file is located in the plug-in's state area at a well-known name
- // don't need to create the directory if there are no preferences to load
- File prefFile = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, false).toFile();
- if (!prefFile.exists()) {
- // no preference file - that's fine
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Plugin preference file " + prefFile + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return;
- }
-
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Loading preferences from " + prefFile); //$NON-NLS-1$
- }
- // load preferences from file
- SafeFileInputStream in = null;
- try {
- in = new SafeFileInputStream(prefFile);
- preferences.load(in);
- } catch (IOException e) {
- // problems loading preference store - quietly ignore
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("IOException encountered loading preference file " + prefFile); //$NON-NLS-1$
- e.printStackTrace();
- }
- } finally {
- if (in != null) {
- try {
- in.close();
- } catch (IOException e) {
- // ignore problems with close
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("IOException encountered closing preference file " + prefFile); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- }
- }
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Preferences now set as follows:"); //$NON-NLS-1$
- String[] prefNames = preferences.propertyNames();
- for (int i = 0; i < prefNames.length; i++) {
- String value = preferences.getString(prefNames[i]);
- System.out.println("\t" + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
- prefNames = preferences.defaultPropertyNames();
- for (int i = 0; i < prefNames.length; i++) {
- String value = preferences.getDefaultString(prefNames[i]);
- System.out.println("\tDefault values: " + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-}
-
-/**
- * Saves preferences settings for this plug-in. Does nothing if the preference
- * store does not need saving.
- * <p>
- * Plug-in preferences are <b>not</b> saved automatically on plug-in shutdown.
- * </p>
- *
- * @see Preferences#save
- * @see Preferences#needsSaving
- * @since 2.0
- */
-public final void savePluginPreferences() {
- if (preferences == null || !preferences.needsSaving()) {
- // nothing to save
- return;
- }
-
- // preferences need to be saved
- // the preferences file is located in the plug-in's state area
- // at a well-known name (pref_store.ini)
- File prefFile = InternalPlatform.getMetaArea().getPluginPreferenceLocation(descriptor, true).toFile();
- if (preferences.propertyNames().length == 0) {
- // there are no preference settings
- // rather than write an empty file, just delete any existing file
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Removing saved preferences from " + prefFile); //$NON-NLS-1$
- }
- if (prefFile.exists()) {
- prefFile.delete();
- // don't worry if delete unsuccessful
- }
- return;
- }
-
- // write file, overwriting an existing one
- OutputStream out = null;
- try {
- // do it as carefully as we know how so that we don't lose/mangle
- // the setting in times of stress
- out = new SafeFileOutputStream(prefFile);
- preferences.store(out, null);
- } catch (IOException e) {
- // problems saving preference store - quietly ignore
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("IOException writing to preference file " + prefFile); //$NON-NLS-1$
- e.printStackTrace();
- }
- } finally {
- if (out != null) {
- try {
- out.close();
- } catch (IOException e) {
- // ignore problems with close
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("IOException closing preference file " + prefFile); //$NON-NLS-1$
- e.printStackTrace();
- }
- }
- }
- }
-}
-
-/**
- * Initializes the default preferences settings for this plug-in.
- * <p>
- * This method is called sometime after the preference store for this
- * plug-in is created. Default values are never stored in preference
- * stores; they must be filled in each time. This method provides the
- * opportunity to initialize the default values.
- * </p>
- * <p>
- * The default implementation of this method does nothing. A subclass that needs
- * to set default values for its preferences must reimplement this method.
- * Default values set at a later point will override any default override
- * settings supplied from outside the plug-in (product configuration or
- * platform start up).
- * </p>
- *
- * @since 2.0
- */
-protected void initializeDefaultPluginPreferences() {
- // default implementation of this method - spec'd to do nothing
-}
-
-/**
- * Applies external overrides to default preferences for this plug-in. By the
- * time this method is called, the default settings for the plug-in itself will
- * have already have been filled in.
- *
- * @since 2.0
- */
-private void applyExternalPluginDefaultOverrides() {
- // 1. InternalPlatform is central authority for platform configuration questions
- InternalPlatform.applyPrimaryFeaturePluginDefaultOverrides(
- getDescriptor().getUniqueIdentifier(),
- preferences);
- // 2. command line overrides take precedence over feature-specified overrides
- InternalPlatform.applyCommandLinePluginDefaultOverrides(
- getDescriptor().getUniqueIdentifier(),
- preferences);
-}
-
-/**
- * Applies overrides to the default preferences for this plug-in. Looks
- * for a file in the (read-only) plug-in directory. The default settings will
- * have already have been applied.
- *
- * @since 2.0
- */
-private void applyInternalPluginDefaultOverrides() {
-
- IPluginDescriptor pluginDescriptor = getDescriptor();
- // use URLs so we can find the file in fragments too
- URL baseURL = pluginDescriptor.find(new Path(PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME));
-
- if (baseURL == null) {
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Plugin preference file " + PREFERENCES_DEFAULT_OVERRIDE_FILE_NAME + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return;
- }
- File iniFile = new File(getFileFromURL(baseURL));
- if (!iniFile.exists()) {
- // no preference file - that's fine
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Plugin preference file " + iniFile + " not found."); //$NON-NLS-1$ //$NON-NLS-2$
- }
- return;
- }
-
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Loading preferences from " + iniFile); //$NON-NLS-1$
- }
- Properties overrides = new Properties();
- SafeFileInputStream in = null;
- try {
- in = new SafeFileInputStream(iniFile);
- overrides.load(in);
- } catch (IOException e) {
- // cannot read ini file - fail silently
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("IOException encountered loading preference file " + //$NON-NLS-1$
- iniFile);
- e.printStackTrace();
- }
- return;
- } finally {
- try {
- if (in != null) {
- in.close();
- }
- } catch (IOException e) {
- // ignore problems closing file
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("IOException encountered closing preference file " + //$NON-NLS-1$
- iniFile);
- e.printStackTrace();
- }
- }
- }
-
- // Now get the translation file for these preferences (if one
- // exists).
- Properties props = null;
- if (!overrides.isEmpty()) {
- props = InternalPlatform.getPreferenceTranslator(pluginDescriptor, PREFERENCES_DEFAULT_OVERRIDE_BASE_NAME);
- }
-
- for (Iterator it = overrides.entrySet().iterator(); it.hasNext(); ) {
- Map.Entry entry = (Map.Entry) it.next();
- String key = (String) entry.getKey();
- String value = (String) entry.getValue();
- value = InternalPlatform.translatePreference(value, props);
- preferences.setDefault(key, value);
- }
- if (InternalPlatform.DEBUG_PREFERENCES) {
- System.out.println("Preferences now set as follows:"); //$NON-NLS-1$
- String[] prefNames = preferences.propertyNames();
- for (int i = 0; i < prefNames.length; i++) {
- String value = preferences.getString(prefNames[i]);
- System.out.println("\t" + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
- prefNames = preferences.defaultPropertyNames();
- for (int i = 0; i < prefNames.length; i++) {
- String value = preferences.getDefaultString(prefNames[i]);
- System.out.println("\tDefault values: " + prefNames[i] + " = " + value); //$NON-NLS-1$ //$NON-NLS-2$
- }
- }
-}
-
-/**
- * Returns whether this plug-in is in debug mode.
- * By default plug-ins are not in debug mode. A plug-in can put itself
- * into debug mode or the user can set an execution option to do so.
- *
- * @return whether this plug-in is in debug mode
- */
-public boolean isDebugging() {
- return debug;
-}
-/**
- * Returns an input stream for the specified file. The file path
- * must be specified relative this the plug-in's installation location.
- *
- * @param file path relative to plug-in installation location
- * @return an input stream
- * @see #openStream(IPath,boolean)
- */
-public final InputStream openStream(IPath file) throws IOException {
- return openStream(file, false);
-}
-/**
- * Returns an input stream for the specified file. The file path
- * must be specified relative to this plug-in's installation location.
- * Optionally, the platform searches for the correct localized version
- * of the specified file using the users current locale, and Java
- * naming convention for localized resource files (locale suffix appended
- * to the specified file extension).
- * <p>
- * The caller must close the returned stream when done.
- * </p>
- *
- * @param file path relative to plug-in installation location
- * @param localized <code>true</code> for the localized version
- * of the file, and <code>false</code> for the file exactly
- * as specified
- * @return an input stream
- */
-public final InputStream openStream(IPath file, boolean localized) throws IOException {
- URL target = new URL(getDescriptor().getInstallURL() + file.toString());
- return target.openStream();
-}
-/**
- * Sets whether this plug-in is in debug mode.
- * By default plug-ins are not in debug mode. A plug-in can put itself
- * into debug mode or the user can set a debug option to do so.
- *
- * @param value whether or not this plugi-in is in debug mode
- */
-public void setDebugging(boolean value) {
- debug = value;
-}
-/**
- * Shuts down this plug-in and discards all plug-in state.
- * <p>
- * This method should be re-implemented in subclasses that need to do something
- * when the plug-in is shut down. Implementors should call the inherited method
- * to ensure that any system requirements can be met.
- * </p>
- * <p>
- * Plug-in shutdown code should be robust. In particular, this method
- * should always make an effort to shut down the plug-in. Furthermore,
- * the code should not assume that the plug-in was started successfully,
- * as this method will be invoked in the event of a failure during startup.
- * </p>
- * <p>
- * Note 1: If a plug-in has been started, this method will be automatically
- * invoked by the platform when the platform is shut down.
- * </p>
- * <p>
- * Note 2: This method is intended to perform simple termination
- * of the plug-in environment. The platform may terminate invocations
- * that do not complete in a timely fashion.
- * </p>
- * <b>Clients must never explicitly call this method.</b>
- *
- * @exception CoreException if this method fails to shut down
- * this plug-in
- */
-public void shutdown() throws CoreException {
-}
-
-/**
- * Starts up this plug-in.
- * <p>
- * This method should be overridden in subclasses that need to do something
- * when this plug-in is started. Implementors should call the inherited method
- * to ensure that any system requirements can be met.
- * </p>
- * <p>
- * If this method throws an exception, it is taken as an indication that
- * plug-in initialization has failed; as a result, the plug-in will not
- * be activated; moreover, the plug-in will be marked as disabled and
- * ineligible for activation for the duration.
- * </p>
- * <p>
- * Plug-in startup code should be robust. In the event of a startup failure,
- * the plug-in's <code>shutdown</code> method will be invoked automatically,
- * in an attempt to close open files, etc.
- * </p>
- * <p>
- * Note 1: This method is automatically invoked by the platform
- * the first time any code in the plug-in is executed.
- * </p>
- * <p>
- * Note 2: This method is intended to perform simple initialization
- * of the plug-in environment. The platform may terminate initializers
- * that do not complete in a timely fashion.
- * </p>
- * <p>
- * Note 3: The class loader typically has monitors acquired during invocation of this method. It is
- * strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms,
- * as this would lead to deadlock vulnerability.
- * </p>
- * <b>Clients must never explicitly call this method.</b>
- *
- * @exception CoreException if this plug-in did not start up properly
- */
-public void startup() throws CoreException {
-}
-/**
- * Returns a string representation of the plug-in, suitable
- * for debugging purposes only.
- */
-public String toString() {
- return descriptor.toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java
deleted file mode 100644
index e445173..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/PluginVersionIdentifier.java
+++ /dev/null
@@ -1,462 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import java.util.Vector;
-import java.util.StringTokenizer;
-import org.eclipse.core.internal.runtime.*;
-
-/**
- * <p>
- * Version identifier for a plug-in. In its string representation,
- * it consists of up to 4 tokens separated by a decimal point.
- * The first 3 tokens are positive integer numbers, the last token
- * is an uninterpreted string (no whitespace characters allowed).
- * For example, the following are valid version identifiers
- * (as strings):
- * <ul>
- * <li><code>0.0.0</code></li>
- * <li><code>1.0.127564</code></li>
- * <li><code>3.7.2.build-127J</code></li>
- * <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>
- * <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>
- * </ul>
- * </p>
- * <p>
- * The version identifier can be decomposed into a major, minor,
- * service level component and qualifier components. A difference
- * in the major component is interpreted as an incompatible version
- * change. A difference in the minor (and not the major) component
- * is interpreted as a compatible version change. The service
- * level component is interpreted as a cumulative and compatible
- * service update of the minor version component. The qualifier is
- * not interpreted, other than in version comparisons. The
- * qualifiers are compared using lexicographical string comparison.
- * </p>
- * <p>
- * Version identifiers can be matched as perfectly equal, equivalent,
- * compatible or greaterOrEqual.
- * </p>
- * <p>
- * Clients may instantiate; not intended to be subclassed by clients.
- * </p>
- * @see IPluginDescriptor#getVersionIdentifier
- * @see java.lang.String#compareTo
- */
-public final class PluginVersionIdentifier {
-
- private int major = 0;
- private int minor = 0;
- private int service = 0;
- private String qualifier = ""; //$NON-NLS-1$
-
- private static final String SEPARATOR = "."; //$NON-NLS-1$
-/**
- * Creates a plug-in version identifier from its components.
- *
- * @param major major component of the version identifier
- * @param minor minor component of the version identifier
- * @param service service update component of the version identifier
- */
-public PluginVersionIdentifier(int major, int minor, int service) {
- this(major, minor, service, null);
-}
-/**
- * Creates a plug-in version identifier from its components.
- *
- * @param major major component of the version identifier
- * @param minor minor component of the version identifier
- * @param service service update component of the version identifier
- * @param qualifier qualifier component of the version identifier.
- * Qualifier characters that are not a letter or a digit are replaced.
- */
-public PluginVersionIdentifier(int major, int minor, int service, String qualifier) {
-
- // Do the test outside of the assert so that they 'Policy.bind'
- // will not be evaluated each time (including cases when we would
- // have passed by the assert).
-
- if (major < 0)
- Assert.isTrue(false, Policy.bind("parse.postiveMajor", major + SEPARATOR + minor + SEPARATOR + service + SEPARATOR + qualifier)); //$NON-NLS-1$
- if (minor < 0)
- Assert.isTrue(false, Policy.bind("parse.postiveMinor", major + SEPARATOR + minor + SEPARATOR + service + SEPARATOR + qualifier)); //$NON-NLS-1$
- if (service < 0)
- Assert.isTrue(false, Policy.bind("parse.postiveService", major + SEPARATOR + minor + SEPARATOR + service + SEPARATOR + qualifier)); //$NON-NLS-1$
- if (qualifier == null) qualifier = ""; //$NON-NLS-1$
-
- this.major = major;
- this.minor = minor;
- this.service = service;
- this.qualifier = verifyQualifier(qualifier);
-}
-/**
- * Creates a plug-in version identifier from the given string.
- * The string represenation consists of up to 4 tokens
- * separated by decimal point.
- * For example, the following are valid version identifiers
- * (as strings):
- * <ul>
- * <li><code>0.0.0</code></li>
- * <li><code>1.0.127564</code></li>
- * <li><code>3.7.2.build-127J</code></li>
- * <li><code>1.9</code> (interpreted as <code>1.9.0</code>)</li>
- * <li><code>3</code> (interpreted as <code>3.0.0</code>)</li>
- * </ul>
- * </p>
- *
- * @param versionId string representation of the version identifier.
- * Qualifier characters that are not a letter or a digit are replaced.
- */
-public PluginVersionIdentifier(String versionId) {
- Object[] parts = parseVersion(versionId);
- this.major = ((Integer) parts[0]).intValue();
- this.minor = ((Integer) parts[1]).intValue();
- this.service = ((Integer) parts[2]).intValue();
- this.qualifier = (String) parts[3];
-}
-/**
- * Validates the given string as a plug-in version identifier.
- *
- * @param version the string to validate
- * @return a status object with code <code>IStatus.OK</code> if
- * the given string is valid as a plug-in version identifier, otherwise a status
- * object indicating what is wrong with the string
- * @since 2.0
- */
-public static IStatus validateVersion(String version) {
- try {
- parseVersion(version);
- } catch (RuntimeException e) {
- return new Status(IStatus.ERROR, Platform.PI_RUNTIME, IStatus.ERROR, e.getMessage(), e);
- }
- return new Status(IStatus.OK, Platform.PI_RUNTIME, IStatus.OK, Policy.bind("ok"), null); //$NON-NLS-1$
-}
-private static Object[] parseVersion(String versionId) {
-
- // Do the test outside of the assert so that they 'Policy.bind'
- // will not be evaluated each time (including cases when we would
- // have passed by the assert).
- if (versionId == null)
- Assert.isNotNull(null, Policy.bind("parse.emptyPluginVersion")); //$NON-NLS-1$
- String s = versionId.trim();
- if (s.equals("")) //$NON-NLS-1$
- Assert.isTrue(false, Policy.bind("parse.emptyPluginVersion")); //$NON-NLS-1$
- if (s.startsWith(SEPARATOR))
- Assert.isTrue(false, Policy.bind("parse.separatorStartVersion", s)); //$NON-NLS-1$
- if (s.endsWith(SEPARATOR))
- Assert.isTrue(false, Policy.bind("parse.separatorEndVersion", s)); //$NON-NLS-1$
- if (s.indexOf(SEPARATOR+SEPARATOR)!=-1)
- Assert.isTrue(false, Policy.bind("parse.doubleSeparatorVersion", s)); //$NON-NLS-1$
-
- StringTokenizer st = new StringTokenizer(s, SEPARATOR);
- Vector elements = new Vector(4);
-
- while (st.hasMoreTokens())
- elements.addElement(st.nextToken());
-
- int elementSize = elements.size();
-
- if (elementSize <= 0)
- Assert.isTrue(false, Policy.bind("parse.oneElementPluginVersion", s)); //$NON-NLS-1$
- if (elementSize > 4)
- Assert.isTrue(false, Policy.bind("parse.fourElementPluginVersion", s)); //$NON-NLS-1$
-
- int[] numbers = new int[3];
- try {
- numbers[0] = Integer.parseInt((String) elements.elementAt(0));
- if (numbers[0] < 0)
- Assert.isTrue(false, Policy.bind("parse.postiveMajor", s)); //$NON-NLS-1$
- } catch (NumberFormatException nfe) {
- Assert.isTrue(false,Policy.bind("parse.numericMajorComponent", s)); //$NON-NLS-1$
- }
-
- try {
- if (elementSize>=2) {
- numbers[1] = Integer.parseInt((String) elements.elementAt(1));
- if (numbers[1] < 0)
- Assert.isTrue(false, Policy.bind("parse.postiveMinor", s)); //$NON-NLS-1$
- } else
- numbers[1] = 0;
- } catch (NumberFormatException nfe) {
- Assert.isTrue(false,Policy.bind("parse.numericMinorComponent", s)); //$NON-NLS-1$
- }
-
- try {
- if (elementSize>=3) {
- numbers[2] = Integer.parseInt((String) elements.elementAt(2));
- if (numbers[2] < 0)
- Assert.isTrue(false, Policy.bind("parse.postiveService", s)); //$NON-NLS-1$
- } else
- numbers[2] = 0;
- } catch (NumberFormatException nfe) {
- Assert.isTrue(false,Policy.bind("parse.numericServiceComponent", s)); //$NON-NLS-1$
- }
-
- // "result" is a 4-element array with the major, minor, service, and qualifier
- Object[] result = new Object[4];
- result[0] = new Integer(numbers[0]);
- result[1] = new Integer(numbers[1]);
- result[2] = new Integer(numbers[2]);
- if (elementSize>=4)
- result[3] = verifyQualifier((String) elements.elementAt(3));
- else
- result[3] = ""; //$NON-NLS-1$
- return result;
-}
-/**
- * Compare version identifiers for equality. Identifiers are
- * equal if all of their components are equal.
- *
- * @param object an object to compare
- * @return whehter or not the two objects are equal
- */
-public boolean equals(Object object) {
- if (!(object instanceof PluginVersionIdentifier))
- return false;
- PluginVersionIdentifier v = (PluginVersionIdentifier) object;
- return v.getMajorComponent() == major && v.getMinorComponent() == minor && v.getServiceComponent() == service && v.getQualifierComponent().equals(qualifier);
-}
-/**
- * Returns a hash code value for the object.
- *
- * @return an integer which is a hash code value for this object.
- */
-public int hashCode() {
- int code = major + minor + service; // R1.0 result
- if (qualifier.equals("")) //$NON-NLS-1$
- return code;
- else
- return code + qualifier.hashCode();
-}
-/**
- * Returns the major (incompatible) component of this
- * version identifier.
- *
- * @return the major version
- */
-public int getMajorComponent() {
- return major;
-}
-/**
- * Returns the minor (compatible) component of this
- * version identifier.
- *
- * @return the minor version
- */
-public int getMinorComponent() {
- return minor;
-}
-/**
- * Returns the service level component of this
- * version identifier.
- *
- * @return the service level
- */
-public int getServiceComponent() {
- return service;
-}
-/**
- * Returns the qualifier component of this
- * version identifier.
- *
- * @return the qualifier
- */
-public String getQualifierComponent() {
- return qualifier;
-}
-/**
- * Compares two version identifiers to see if this one is
- * greater than or equal to the argument.
- * <p>
- * A version identifier is considered to be greater than or equal
- * if its major component is greater than the argument major
- * component, or the major components are equal and its minor component
- * is greater than the argument minor component, or the
- * major and minor components are equal and its service component is
- * greater than the argument service component, or the major, minor and
- * service components are equal and the qualifier component is
- * greated than the argument qualifier component (using lexicographic
- * string comparison), or all components are equal.
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- * is compatible with the given version identifier, and
- * <code>false</code> otherwise
- * @since 2.0
- */
-public boolean isGreaterOrEqualTo(PluginVersionIdentifier id) {
- if (id == null)
- return false;
- if (major > id.getMajorComponent())
- return true;
- if ((major == id.getMajorComponent()) &&
- (minor > id.getMinorComponent()))
- return true;
- if ((major == id.getMajorComponent()) &&
- (minor == id.getMinorComponent()) &&
- (service > id.getServiceComponent()))
- return true;
- if ((major == id.getMajorComponent()) &&
- (minor == id.getMinorComponent()) &&
- (service == id.getServiceComponent()) &&
- (qualifier.compareTo(id.getQualifierComponent())>=0))
- return true;
- else
- return false;
-}
-/**
- * Compares two version identifiers for compatibility.
- * <p>
- * A version identifier is considered to be compatible if its major
- * component equals to the argument major component, and its minor component
- * is greater than or equal to the argument minor component.
- * If the minor components are equal, than the service level of the
- * version identifier must be greater than or equal to the service level
- * of the argument identifier. If the service levels are equal, the two
- * version identifiers are considered to be equivalent if this qualifier is
- * greated or equal to the qualifier of the argument (using lexicographic
- * string comparison).
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- * is compatible with the given version identifier, and
- * <code>false</code> otherwise
- */
-public boolean isCompatibleWith(PluginVersionIdentifier id) {
- if (id == null)
- return false;
- if (major != id.getMajorComponent())
- return false;
- if (minor > id.getMinorComponent())
- return true;
- if (minor < id.getMinorComponent())
- return false;
- if (service > id.getServiceComponent())
- return true;
- if (service < id.getServiceComponent())
- return false;
- if (qualifier.compareTo(id.getQualifierComponent())>=0)
- return true;
- else
- return false;
-}
-/**
- * Compares two version identifiers for equivalency.
- * <p>
- * Two version identifiers are considered to be equivalent if their major
- * and minor component equal and are at least at the same service level
- * as the argument. If the service levels are equal, the two version
- * identifiers are considered to be equivalent if this qualifier is
- * greated or equal to the qualifier of the argument (using lexicographic
- * string comparison).
- *
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- * is equivalent to the given version identifier, and
- * <code>false</code> otherwise
- */
-public boolean isEquivalentTo(PluginVersionIdentifier id) {
- if (id == null)
- return false;
- if (major != id.getMajorComponent())
- return false;
- if (minor != id.getMinorComponent())
- return false;
- if (service > id.getServiceComponent())
- return true;
- if (service < id.getServiceComponent())
- return false;
- if (qualifier.compareTo(id.getQualifierComponent())>=0)
- return true;
- else
- return false;
-}
-/**
- * Compares two version identifiers for perfect equality.
- * <p>
- * Two version identifiers are considered to be perfectly equal if their
- * major, minor, service and qualifier components are equal
- * </p>
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- * is perfectly equal to the given version identifier, and
- * <code>false</code> otherwise
- * @since 2.0
- */
-public boolean isPerfect(PluginVersionIdentifier id) {
- if (id == null)
- return false;
- if ( (major != id.getMajorComponent()) ||
- (minor != id.getMinorComponent()) ||
- (service != id.getServiceComponent()) ||
- (!qualifier.equals(id.getQualifierComponent())) )
- return false;
- else
- return true;
-}
-/**
- * Compares two version identifiers for order using multi-decimal
- * comparison.
- *
- * @param versionId the other version identifier
- * @return <code>true</code> is this version identifier
- * is greater than the given version identifier, and
- * <code>false</code> otherwise
- */
-public boolean isGreaterThan(PluginVersionIdentifier id) {
-
- if (id == null) {
- if (major==0 && minor==0 && service==0 && qualifier.equals("")) return false; //$NON-NLS-1$
- else return true;
- }
-
- if (major > id.getMajorComponent()) return true;
- if (major < id.getMajorComponent()) return false;
- if (minor > id.getMinorComponent()) return true;
- if (minor < id.getMinorComponent()) return false;
- if (service > id.getServiceComponent()) return true;
- if (service < id.getServiceComponent()) return false;
- if (qualifier.compareTo(id.getQualifierComponent())>0) return true;
- else return false;
-
-}
-/**
- * Returns the string representation of this version identifier.
- * The result satisfies
- * <code>vi.equals(new PluginVersionIdentifier(vi.toString()))</code>.
- *
- * @return the string representation of this plug-in version identifier
- */
-public String toString() {
- String base = major+SEPARATOR+minor+SEPARATOR+service; // R1.0 result
- if (qualifier.equals("")) //$NON-NLS-1$
- return base;
- else
- return base + SEPARATOR + qualifier;
-}
-
-private static String verifyQualifier(String s) {
- char[] chars = s.trim().toCharArray();
- boolean whitespace = false;
- for(int i=0; i<chars.length; i++) {
- if (!Character.isLetterOrDigit(chars[i])) {
- chars[i] = '-';
- whitespace = true;
- }
- }
- return whitespace ? new String(chars) : s;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
deleted file mode 100644
index 4c2e8cf..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Preferences.java
+++ /dev/null
@@ -1,1336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.runtime;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.internal.runtime.PreferenceExporter;
-
-/**
- * A table of preference settings, mapping named properties to values. Property
- * names are non-empty strings; property values can be either booleans,
- * non-null strings, or values of one of the primitive number types.
- * The table consists of two, sparse, layers: the lower layer holds default values
- * for properties, and the upper layer holds explicitly set values for properties.
- * Normal retrieval looks for an explicitly set value for the given property in
- * the upper layer; if there is nothing for that property in the upper layer, it
- * next looks for a default value for the given property in the lower layer; if
- * there is nothing for that property in the lower layer, it returns a standard
- * default-default value. The default-default values for the primitive types are
- * as follows:
- * <ul>
- * <li><code>boolean</code> = <code>false</code></li>
- * <li><code>double</code> = <code>0.0</code></li>
- * <li><code>float</code> = <code>0.0f</code></li>
- * <li><code>int</code> = <code>0</code></li>
- * <li><code>long</code> = <code>0L</code></li>
- * <li><code>String</code> = <code>""</code> (the empty string)</li>
- * </ul>
- * <p>
- * Internally, all properties values (in both layers) are stored as strings.
- * Standard conversions to and from numeric and boolean types are performed on
- * demand.
- * </p>
- * <p>
- * The typical usage is to establish the defaults for all known properties
- * and then restore previously stored values for properties whose values
- * were explicitly set. The existing settings can be changed and new properties
- * can be set (<code>setValue</code>). If the values specified is the same as
- * the default value, the explicit setting is deleted from the top layer.
- * It is also possible to reset a property value back to the default value
- * using <code>setToDefault</code>. After the properties have been modified,
- * the properties with explicit settings are written to disk. The default values
- * are never saved. This two-tiered approach
- * to saving and restoring property setting minimizes the number of properties
- * that need to be persisted; indeed, the normal starting state does not require
- * storing any properties at all. It also makes it easy to use different
- * default settings in different environments while maintaining just those
- * property settings the user has adjusted.
- * </p>
- * <p>
- * A property change event is reported whenever a property's value actually
- * changes (either through <code>setValue</code>, <code>setToDefault</code>).
- * Note, however, that manipulating default values (with <code>setDefault</code>)
- * does not cause any events to be reported.
- * </p>
- * <p>
- * Clients may instantiate this class. This class was not designed to be
- * subclassed.
- * </p>
- * <p>
- * The implementation is based on a pair of internal
- * <code>java.util.Properties</code> objects, one holding explicitly set values
- * (set using <code>setValue</code>), the other holding the default values
- * (set using <code>setDefaultValue</code>). The <code>load</code> and
- * <code>store</code> methods persist the non-default property values to
- * streams (the default values are not saved).
- * </p>
- *
- * @since 2.0
- */
-public class Preferences {
-
- /**
- * The default-default value for boolean properties (<code>false</code>).
- */
- public static final boolean BOOLEAN_DEFAULT_DEFAULT = false;
-
- /**
- * The default-default value for double properties (<code>0.0</code>).
- */
- public static final double DOUBLE_DEFAULT_DEFAULT = 0.0;
-
- /**
- * The default-default value for float properties (<code>0.0f</code>).
- */
- public static final float FLOAT_DEFAULT_DEFAULT = 0.0f;
-
- /**
- * The default-default value for int properties (<code>0</code>).
- */
- public static final int INT_DEFAULT_DEFAULT = 0;
-
- /**
- * The default-default value for long properties (<code>0L</code>).
- */
- public static final long LONG_DEFAULT_DEFAULT = 0L;
-
- /**
- * The default-default value for String properties (<code>""</code>).
- */
- public static final String STRING_DEFAULT_DEFAULT = ""; //$NON-NLS-1$
-
- /**
- * The string representation used for <code>true</code>
- * (<code>"true"</code>).
- */
- private static final String TRUE = "true"; //$NON-NLS-1$
-
- /**
- * The string representation used for <code>false</code>
- * (<code>"false"</code>).
- */
- private static final String FALSE = "false"; //$NON-NLS-1$
-
- /**
- * An event object describing a change to a named property.
- * <p>
- * The preferences object reports property change events for internal state
- * changes that may be of interest to external parties. A special listener
- * interface (<code>Preferences.IPropertyChangeListener</code>) is
- * defined for this purpose. Listeners are registered via the
- * <code>Preferences.addPropertyChangeListener</code> method.
- * </p>
- * <p>
- * Clients cannot instantiate or subclass this class.
- * </p>
- *
- * @see #addPropertyChangeListener
- * @see #IPropertyChangeListener
- */
- public static class PropertyChangeEvent extends EventObject {
-
- /**
- * The name of the changed property.
- */
- private String propertyName;
-
- /**
- * The old value of the changed property, or <code>null</code> if
- * not known or not relevant.
- */
- private Object oldValue;
-
- /**
- * The new value of the changed property, or <code>null</code> if
- * not known or not relevant.
- */
- private Object newValue;
-
- /**
- * Creates a new property change event.
- *
- * @param source the object whose property has changed
- * @param property the property that has changed (must not be
- * <code>null</code>)
- * @param oldValue the old value of the property, or
- * <code>null</code> if none
- * @param newValue the new value of the property, or
- * <code>null</code> if none
- */
- PropertyChangeEvent(
- Object source,
- String property,
- Object oldValue,
- Object newValue) {
-
- super(source);
- if (property == null) {
- throw new IllegalArgumentException();
- }
- this.propertyName = property;
- this.oldValue = oldValue;
- this.newValue = newValue;
- }
-
- /**
- * Returns the name of the property that changed.
- * <p>
- * Warning: there is no guarantee that the property name returned
- * is a constant string. Callers must compare property names using
- * <code>equals</code>, not ==.
- *</p>
- *
- * @return the name of the property that changed
- */
- public String getProperty() {
- return propertyName;
- }
-
- /**
- * Returns the new value of the property.
- *
- * @return the new value, or <code>null</code> if not known
- * or not relevant
- */
- public Object getNewValue() {
- return newValue;
- }
-
- /**
- * Returns the old value of the property.
- *
- * @return the old value, or <code>null</code> if not known
- * or not relevant
- */
- public Object getOldValue() {
- return oldValue;
- }
- }
-
- /**
- * Listener for property changes.
- * <p>
- * Usage:
- * <pre>
- * Preferences.IPropertyChangeListener listener =
- * new Preferences.IPropertyChangeListener() {
- * public void propertyChange(Preferences.PropertyChangeEvent event) {
- * ... // code to deal with occurrence of property change
- * }
- * };
- * emitter.addPropertyChangeListener(listener);
- * ...
- * emitter.removePropertyChangeListener(listener);
- * </pre>
- * </p>
- */
- public interface IPropertyChangeListener extends EventListener {
-
- /**
- * Notification that a property has changed.
- * <p>
- * This method gets called when the observed object fires a property
- * change event.
- * </p>
- *
- * @param event the property change event object describing which
- * property changed and how
- */
- public void propertyChange(Preferences.PropertyChangeEvent event);
- }
-
- /**
- * Internal class is used to maintain a list of listeners.
- * It is a fairly lightweight object, occupying minimal space when
- * no listeners are registered.
- * <p>
- * Note that the <code>add</code> method checks for and eliminates
- * duplicates based on identity (not equality). Likewise, the
- * <code>remove</code> method compares based on identity.
- * </p>
- * <p>
- * Use the <code>getListeners</code> method when notifying listeners.
- * Note that no garbage is created if no listeners are registered.
- * The recommended code sequence for notifying all registered listeners
- * of say, <code>FooListener.eventHappened</code>, is:
- * <pre>
- * Object[] listeners = myListenerList.getListeners();
- * for (int i = 0; i < listeners.length; ++i) {
- * ((FooListener) listeners[i]).eventHappened(event);
- * }
- * </pre>
- * </p>
- */
- private static class ListenerList {
- /**
- * The initial capacity of the list. Always >= 1.
- */
- private int capacity;
-
- /**
- * The current number of listeners.
- * Maintains invariant: 0 <= size <= listeners.length.
- */
- private int size;
-
- /**
- * The list of listeners. Initially <code>null</code> but initialized
- * to an array of size capacity the first time a listener is added.
- * Maintains invariant: listeners != null IFF size != 0
- */
- private Object[] listeners = null;
-
- /**
- * The empty array singleton instance, returned by getListeners()
- * when size == 0.
- */
- private static final Object[] EmptyArray = new Object[0];
-
- /**
- * Creates a listener list with an initial capacity of 3.
- */
- public ListenerList() {
- this(1);
- }
-
- /**
- * Creates a listener list with the given initial capacity.
- *
- * @param capacity the number of listeners which this list can initially
- * accept without growing its internal representation; must be at
- * least 1
- */
- public ListenerList(int capacity) {
- if (capacity < 1) {
- throw new IllegalArgumentException();
- }
- this.capacity = capacity;
- }
-
- /**
- * Adds the given listener to this list. Has no effect if an identical
- * listener is already registered.
- *
- * @param listener the listener
- */
- public void add(Object listener) {
- if (listener == null) {
- throw new IllegalArgumentException();
- }
- if (size == 0) {
- listeners = new Object[capacity];
- } else {
- // check for duplicates using identity
- for (int i = 0; i < size; ++i) {
- if (listeners[i] == listener) {
- return;
- }
- }
- // grow array if necessary
- if (size == listeners.length) {
- System.arraycopy(listeners, 0, listeners = new Object[size * 2 + 1], 0, size);
- }
- }
- listeners[size++] = listener;
- }
-
- /**
- * Returns an array containing all the registered listeners.
- * The resulting array is unaffected by subsequent adds or removes.
- * If there are no listeners registered, the result is an empty array
- * singleton instance (no garbage is created).
- * Use this method when notifying listeners, so that any modifications
- * to the listener list during the notification will have no effect on
- * the notification itself.
- *
- * @return the list of registered listeners
- */
- public Object[] getListeners() {
- if (size == 0)
- return EmptyArray;
- Object[] result = new Object[size];
- System.arraycopy(listeners, 0, result, 0, size);
- return result;
- }
-
- /**
- * Returns whether this listener list is empty.
- *
- * @return <code>true</code> if there are no registered listeners, and
- * <code>false</code> otherwise
- */
- public boolean isEmpty() {
- return size == 0;
- }
-
- /**
- * Removes the given listener from this list. Has no effect if an
- * identical listener was not already registered.
- *
- * @param listener the listener
- */
- public void remove(Object listener) {
- if (listener == null) {
- throw new IllegalArgumentException();
- }
- for (int i = 0; i < size; ++i) {
- if (listeners[i] == listener) {
- if (size == 1) {
- listeners = null;
- size = 0;
- } else {
- System.arraycopy(listeners, i + 1, listeners, i, --size - i);
- listeners[size] = null;
- }
- return;
- }
- }
- }
-
- /**
- * Returns the number of registered listeners.
- *
- * @return the number of registered listeners
- */
- public int size() {
- return size;
- }
- }
-
- /**
- * List of registered listeners (element type:
- * <code>IPropertyChangeListener</code>).
- * These listeners are to be informed when the current value of a property
- * changes.
- */
- private ListenerList listeners = new ListenerList();
-
- /**
- * The mapping from property name to
- * property value (represented as strings).
- */
- private Properties properties;
-
- /**
- * The mapping from property name to
- * default property value (represented as strings);
- * <code>null</code> if none.
- */
- private Properties defaultProperties;
-
- /**
- * Indicates whether a value has been changed by <code>setToDefault</code>
- * or <code>setValue</code>; initially <code>false</code>.
- */
- private boolean dirty = false;
-
- /**
- * Exports all non-default-valued preferences for all installed plugins to the
- * provided file. if a file already exists at the given location, it will be deleted.
- * If there are no preferences to export, no file will be written.
- * <p>
- * The file that is written can be read later using the importPreferences method.
- * </p>
- * @param file The absolute filesystem path of the file to export preferences to.
- * @exception CoreException if this method fails. Reasons include:
- * <ul>
- * <li> The file could not be written.</li>
- * </ul>
- * @see #importPreferences
- * @see #validatePreferenceVersions
- */
- public static void exportPreferences(IPath file) throws CoreException {
- PreferenceExporter.exportPreferences(file);
- }
- /**
- * Loads the plugin preferences from the given file, and replaces all
- * non-default-valued preferences for all plugins with the values from this file.
- * <p>
- * If the file contains preferences for plug-ins that don't exist in the current
- * install, they are ignored. This method does not validate if the plug-in
- * versions in the preference file match the currently installed plug-ins.
- * Clients should first call validatePreferenceVersions on the file to ensure
- * that the versions are compatible.
- * </p>
- * <p>
- * The file must have been written by the exportPreferences method.
- * </p>
- * @param file The absolute filesystem path of the file to import preferences from.
- * @exception CoreException if this method fails. Reasons include:
- * <ul>
- * <li> The file does not exist.</li>
- * <li> The file could not be read.</li>
- * </ul>
- * @see #exportPreferences
- * @see #validatePreferenceVersions
- */
- public static void importPreferences(IPath file) throws CoreException {
- PreferenceExporter.importPreferences(file);
- }
- /**
- * Validates that the preference versions in the given file match the versions
- * of the currently installed plugins. Returns an OK status if all preferences match
- * the currently installed plugins, otherwise a MultiStatus describing what
- * plugins have preferences that don't match.
- * <p>
- * If the returned status has a <code>IStatus.WARNING</code> severity,
- * it means that some preferences may not be applicable but for the most
- * part they will be compatible. If the returned status has a
- * <code>IStatus.ERROR</code> severity, it means that the preferences
- * will probably not be compatible.
- * <p>
- * If the file contains preferences for plug-ins that don't exist in the current
- * install, they are ignored.
- * </p>
- * <p>
- * The file must have been written by the exportPreferences method.
- * </p>
- * @param file The absolute filesystem path of the preference file to validate.
- * @see #exportPreferences
- * @see #importPreferences
- */
- public static IStatus validatePreferenceVersions(IPath file) {
- return PreferenceExporter.validatePreferenceVersions(file);
- }
- /**
- * Creates an empty preference table.
- * <p>
- * Use the methods <code>load(InputStream)</code> and
- * <code>store(InputStream)</code> to load and store these preferences.
- * </p>
- * @see #load
- * @see #store
- */
- public Preferences() {
- defaultProperties = new Properties();
- properties = new Properties(defaultProperties);
- }
-
- /**
- * Adds a property change listener to this preference object.
- * Has no affect if the identical listener is already registered.
- *
- * @param listener a property change listener
- */
- public void addPropertyChangeListener(IPropertyChangeListener listener) {
- listeners.add(listener);
- }
-
- /**
- * Removes the given listener from this preference object.
- * Has no affect if the listener is not registered.
- *
- * @param listener a property change listener
- */
- public void removePropertyChangeListener(IPropertyChangeListener listener) {
- listeners.remove(listener);
- }
-
- /**
- * Returns whether the given property is known to this preference object,
- * either by having an explicit setting or by having a default
- * setting.
- *
- * @param name the name of the property
- * @return <code>true</code> if either a current value or a default
- * value is known for the named property, and <code>false</code>otherwise
- */
- public boolean contains(String name) {
- return (properties.containsKey(name) || defaultProperties.containsKey(name));
- }
-
- /**
- * Fires a property change event corresponding to a change to the
- * current value of the property with the given name.
- *
- * @param name the name of the property, to be used as the property
- * in the event object
- * @param oldValue the old value, or <code>null</code> if not known or not
- * relevant
- * @param newValue the new value, or <code>null</code> if not known or not
- * relevant
- */
- private void firePropertyChangeEvent(
- String name,
- Object oldValue,
- Object newValue) {
-
- if (name == null) {
- throw new IllegalArgumentException();
- }
- Object[] listeners = this.listeners.getListeners();
- // Do we even need to fire an event?
- if (listeners.length > 0) {
- PropertyChangeEvent pe =
- new PropertyChangeEvent(this, name, oldValue, newValue);
- for (int i = 0; i < listeners.length; ++i) {
- IPropertyChangeListener l = (IPropertyChangeListener) listeners[i];
- l.propertyChange(pe);
- }
- }
- }
-
- /**
- * Returns the current value of the boolean-valued property with the
- * given name.
- * Returns the default-default value (<code>false</code>) if there
- * is no property with the given name, or if the current value
- * cannot be treated as a boolean.
- *
- * @param name the name of the property
- * @return the boolean-valued property
- */
- public boolean getBoolean(String name) {
- String value = properties.getProperty(name);
- if (value == null) {
- return BOOLEAN_DEFAULT_DEFAULT;
- }
- return value.equals(Preferences.TRUE);
- }
-
- /**
- * Sets the current value of the boolean-valued property with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the
- * property actually changes from its previous value. In the event
- * object, the property name is the name of the property, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * If the given value is the same as the corresponding default value
- * for the given property, the explicit setting is deleted.
- * Note that the recommended way of re-initializing a property to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the property
- * @param value the new current value of the property
- */
- public void setValue(String name, boolean value) {
- boolean defaultValue = getDefaultBoolean(name);
- boolean oldValue = getBoolean(name);
- if (value == defaultValue) {
- Object removed = properties.remove(name);
- if (removed != null) {
- // removed an explicit setting
- dirty = true;
- }
- } else {
- properties.put(name, value ? Preferences.TRUE : Preferences.FALSE);
- }
- if (oldValue != value) {
- // mark as dirty since value did really change
- dirty = true;
- // report property change if getValue now returns different value
- firePropertyChangeEvent(name, oldValue ? Boolean.TRUE : Boolean.FALSE, value ? Boolean.TRUE : Boolean.FALSE);
- }
- }
-
- /**
- * Returns the default value for the boolean-valued property
- * with the given name.
- * Returns the default-default value (<code>false</code>) if there
- * is no default property with the given name, or if the default
- * value cannot be treated as a boolean.
- *
- * @param name the name of the property
- * @return the default value of the named property
- */
- public boolean getDefaultBoolean(String name) {
- String value = defaultProperties.getProperty(name);
- if (value == null) {
- return BOOLEAN_DEFAULT_DEFAULT;
- }
- return value.equals(Preferences.TRUE);
- }
-
- /**
- * Sets the default value for the boolean-valued property with the
- * given name.
- * <p>
- * Note that the current value of the property is affected if
- * the property's current value was its old default value, in which
- * case it changes to the new default value. If the property's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the property
- * @param value the new default value for the property
- */
- public void setDefault(String name, boolean value) {
- defaultProperties.put(name, value ? Preferences.TRUE : Preferences.FALSE);
- }
-
- /**
- * Returns the current value of the double-valued property with the
- * given name.
- * Returns the default-default value (<code>0.0</code>) if there
- * is no property with the given name, or if the current value
- * cannot be treated as a double.
- *
- * @param name the name of the property
- * @return the double-valued property
- */
- public double getDouble(String name) {
- return convertToDouble(properties.getProperty(name), DOUBLE_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the current value of the double-valued property with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the
- * property actually changes from its previous value. In the event
- * object, the property name is the name of the property, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * If the given value is the same as the corresponding default value
- * for the given property, the explicit setting is deleted.
- * Note that the recommended way of re-initializing a property to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the property
- * @param value the new current value of the property; must be
- * a number (not a NaN)
- */
- public void setValue(String name, double value) {
- if (Double.isNaN(value)) {
- throw new IllegalArgumentException();
- }
- double defaultValue = getDefaultDouble(name);
- double oldValue = getDouble(name);
- if (value == defaultValue) {
- Object removed = properties.remove(name);
- if (removed != null) {
- // removed an explicit setting
- dirty = true;
- }
- } else {
- properties.put(name, Double.toString(value));
- }
- if (oldValue != value) {
- // mark as dirty since value did really change
- dirty = true;
- // report property change if getValue now returns different value
- firePropertyChangeEvent(name, new Double(oldValue), new Double(value));
- }
- }
-
- /**
- * Returns the default value for the double-valued property
- * with the given name.
- * Returns the default-default value (<code>0.0</code>) if there
- * is no default property with the given name, or if the default
- * value cannot be treated as a double.
- *
- * @param name the name of the property
- * @return the default value of the named property
- */
- public double getDefaultDouble(String name) {
- return convertToDouble(
- defaultProperties.getProperty(name),
- DOUBLE_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the default value for the double-valued property with the
- * given name.
- * <p>
- * Note that the current value of the property is affected if
- * the property's current value was its old default value, in which
- * case it changes to the new default value. If the property's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the property
- * @param value the new default value for the property; must be
- * a number (not a NaN)
- */
- public void setDefault(String name, double value) {
- if (Double.isNaN(value)) {
- throw new IllegalArgumentException();
- }
- defaultProperties.put(name, Double.toString(value));
- }
-
- /**
- * Converts the given raw property value string to a double.
- *
- * @param rawPropertyValue the raw property value, or <code>null</code>
- * if none
- * @param defaultValue the default value
- * @return the raw value converted to a double, or the given
- * <code>defaultValue</code> if the raw value is <code>null</code> or
- * cannot be parsed as a double
- */
- private double convertToDouble(String rawPropertyValue, double defaultValue) {
- double result = defaultValue;
- if (rawPropertyValue != null) {
- try {
- result = Double.parseDouble(rawPropertyValue);
- } catch (NumberFormatException e) {
- // raw value cannot be treated as one of these
- }
- }
- return result;
- }
-
- /**
- * Returns the current value of the float-valued property with the
- * given name.
- * Returns the default-default value (<code>0.0f</code>) if there
- * is no property with the given name, or if the current value
- * cannot be treated as a float.
- *
- * @param name the name of the property
- * @return the float-valued property
- */
- public float getFloat(String name) {
- return convertToFloat(properties.getProperty(name), FLOAT_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the current value of the float-valued property with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the
- * property actually changes from its previous value. In the event
- * object, the property name is the name of the property, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * If the given value is the same as the corresponding default value
- * for the given property, the explicit setting is deleted.
- * Note that the recommended way of re-initializing a property to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the property
- * @param value the new current value of the property; must be
- * a number (not a NaN)
- */
- public void setValue(String name, float value) {
- if (Float.isNaN(value)) {
- throw new IllegalArgumentException();
- }
- float defaultValue = getDefaultFloat(name);
- float oldValue = getFloat(name);
- if (value == defaultValue) {
- Object removed = properties.remove(name);
- if (removed != null) {
- // removed an explicit setting
- dirty = true;
- }
- } else {
- properties.put(name, Float.toString(value));
- }
- if (oldValue != value) {
- // mark as dirty since value did really change
- dirty = true;
- // report property change if getValue now returns different value
- firePropertyChangeEvent(name, new Float(oldValue), new Float(value));
- }
- }
-
- /**
- * Returns the default value for the float-valued property
- * with the given name.
- * Returns the default-default value (<code>0.0f</code>) if there
- * is no default property with the given name, or if the default
- * value cannot be treated as a float.
- *
- * @param name the name of the property
- * @return the default value of the named property
- */
- public float getDefaultFloat(String name) {
- return convertToFloat(
- defaultProperties.getProperty(name),
- FLOAT_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the default value for the float-valued property with the
- * given name.
- * <p>
- * Note that the current value of the property is affected if
- * the property's current value was its old default value, in which
- * case it changes to the new default value. If the property's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the property
- * @param value the new default value for the property; must be
- * a number (not a NaN)
- */
- public void setDefault(String name, float value) {
- if (Float.isNaN(value)) {
- throw new IllegalArgumentException();
- }
- defaultProperties.put(name, Float.toString(value));
- }
-
- /**
- * Converts the given raw property value string to a float.
- *
- * @param rawPropertyValue the raw property value, or <code>null</code>
- * if none
- * @param defaultValue the default value
- * @return the raw value converted to a float, or the given
- * <code>defaultValue</code> if the raw value is <code>null</code> or
- * cannot be parsed as a float
- */
- private float convertToFloat(String rawPropertyValue, float defaultValue) {
- float result = defaultValue;
- if (rawPropertyValue != null) {
- try {
- result = Float.parseFloat(rawPropertyValue);
- } catch (NumberFormatException e) {
- // raw value cannot be treated as one of these
- }
- }
- return result;
- }
-
- /**
- * Returns the current value of the integer-valued property with the
- * given name.
- * Returns the default-default value (<code>0</code>) if there
- * is no property with the given name, or if the current value
- * cannot be treated as an integter.
- *
- * @param name the name of the property
- * @return the int-valued property
- */
- public int getInt(String name) {
- return convertToInt(properties.getProperty(name), INT_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the current value of the integer-valued property with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the
- * property actually changes from its previous value. In the event
- * object, the property name is the name of the property, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * If the given value is the same as the corresponding default value
- * for the given property, the explicit setting is deleted.
- * Note that the recommended way of re-initializing a property to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the property
- * @param value the new current value of the property
- */
- public void setValue(String name, int value) {
- int defaultValue = getDefaultInt(name);
- int oldValue = getInt(name);
- if (value == defaultValue) {
- Object removed = properties.remove(name);
- if (removed != null) {
- // removed an explicit setting
- dirty = true;
- }
- } else {
- properties.put(name, Integer.toString(value));
- }
- if (oldValue != value) {
- // mark as dirty since value did really change
- dirty = true;
- // report property change if getValue now returns different value
- firePropertyChangeEvent(name, new Integer(oldValue), new Integer(value));
- }
- }
-
- /**
- * Returns the default value for the integer-valued property
- * with the given name.
- * Returns the default-default value (<code>0</code>) if there
- * is no default property with the given name, or if the default
- * value cannot be treated as an integer.
- *
- * @param name the name of the property
- * @return the default value of the named property
- */
- public int getDefaultInt(String name) {
- return convertToInt(defaultProperties.getProperty(name), INT_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the default value for the integer-valued property with the
- * given name.
- * <p>
- * Note that the current value of the property is affected if
- * the property's current value was its old default value, in which
- * case it changes to the new default value. If the property's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the property
- * @param value the new default value for the property
- */
- public void setDefault(String name, int value) {
- defaultProperties.put(name, Integer.toString(value));
- }
-
- /**
- * Converts the given raw property value string to an int.
- *
- * @param rawPropertyValue the raw property value, or <code>null</code>
- * if none
- * @param defaultValue the default value
- * @return the raw value converted to an int, or the given
- * <code>defaultValue</code> if the raw value is <code>null</code> or
- * cannot be parsed as an int
- */
- private int convertToInt(String rawPropertyValue, int defaultValue) {
- int result = defaultValue;
- if (rawPropertyValue != null) {
- try {
- result = Integer.parseInt(rawPropertyValue);
- } catch (NumberFormatException e) {
- // raw value cannot be treated as one of these
- }
- }
- return result;
- }
-
- /**
- * Returns the current value of the long-valued property with the
- * given name.
- * Returns the default-default value (<code>0L</code>) if there
- * is no property with the given name, or if the current value
- * cannot be treated as a long.
- *
- * @param name the name of the property
- * @return the long-valued property
- */
- public long getLong(String name) {
- return convertToLong(properties.getProperty(name), LONG_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the current value of the long-valued property with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the
- * property actually changes from its previous value. In the event
- * object, the property name is the name of the property, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * If the given value is the same as the corresponding default value
- * for the given property, the explicit setting is deleted.
- * Note that the recommended way of re-initializing a property to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the property
- * @param value the new current value of the property
- */
- public void setValue(String name, long value) {
- long defaultValue = getDefaultLong(name);
- long oldValue = getLong(name);
- if (value == defaultValue) {
- Object removed = properties.remove(name);
- if (removed != null) {
- // removed an explicit setting
- dirty = true;
- }
- } else {
- properties.put(name, Long.toString(value));
- }
- if (oldValue != value) {
- // mark as dirty since value did really change
- dirty = true;
- // report property change if getValue now returns different value
- firePropertyChangeEvent(name, new Long(oldValue), new Long(value));
- }
- }
-
- /**
- * Returns the default value for the long-valued property
- * with the given name.
- * Returns the default-default value (<code>0L</code>) if there
- * is no default property with the given name, or if the default
- * value cannot be treated as a long.
- *
- * @param name the name of the property
- * @return the default value of the named property
- */
- public long getDefaultLong(String name) {
- return convertToLong(defaultProperties.getProperty(name), LONG_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the default value for the long-valued property with the
- * given name.
- * <p>
- * Note that the current value of the property is affected if
- * the property's current value was its old default value, in which
- * case it changes to the new default value. If the property's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the property
- * @param value the new default value for the property
- */
- public void setDefault(String name, long value) {
- defaultProperties.put(name, Long.toString(value));
- }
-
- /**
- * Converts the given raw property value string to a long.
- *
- * @param rawPropertyValue the raw property value, or <code>null</code>
- * if none
- * @param defaultValue the default value
- * @return the raw value converted to a long, or the given
- * <code>defaultValue</code> if the raw value is <code>null</code> or
- * cannot be parsed as a long
- */
- private long convertToLong(String rawPropertyValue, long defaultValue) {
- long result = defaultValue;
- if (rawPropertyValue != null) {
- try {
- result = Long.parseLong(rawPropertyValue);
- } catch (NumberFormatException e) {
- // raw value cannot be treated as one of these
- }
- }
- return result;
- }
-
- /**
- * Returns the current value of the string-valued property with the
- * given name.
- * Returns the default-default value (the empty string <code>""</code>)
- * if there is no property with the given name.
- *
- * @param name the name of the property
- * @return the string-valued property
- */
- public String getString(String name) {
- String value = properties.getProperty(name);
- return (value != null ? value : STRING_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the current value of the string-valued property with the
- * given name.
- * <p>
- * A property change event is reported if the current value of the
- * property actually changes from its previous value. In the event
- * object, the property name is the name of the property, and the
- * old and new values are wrapped as objects.
- * </p>
- * <p>
- * If the given value is the same as the corresponding default value
- * for the given property, the explicit setting is deleted.
- * Note that the recommended way of re-initializing a property to its
- * default value is to call <code>setToDefault</code>.
- * </p>
- *
- * @param name the name of the property
- * @param value the new current value of the property
- */
- public void setValue(String name, String value) {
- if (value == null) {
- throw new IllegalArgumentException();
- }
- String defaultValue = getDefaultString(name);
- String oldValue = getString(name);
- if (value.equals(defaultValue)) {
- Object removed = properties.remove(name);
- if (removed != null) {
- // removed an explicit setting
- dirty = true;
- }
- } else {
- properties.put(name, value);
- }
- if (!oldValue.equals(value)) {
- // mark as dirty since value did really change
- dirty = true;
- // report property change if getValue now returns different value
- firePropertyChangeEvent(name, oldValue, value);
- }
- }
-
- /**
- * Returns the default value for the string-valued property
- * with the given name.
- * Returns the default-default value (the empty string <code>""</code>)
- * is no default property with the given name, or if the default
- * value cannot be treated as a string.
- *
- * @param name the name of the property
- * @return the default value of the named property
- */
- public String getDefaultString(String name) {
- String value = defaultProperties.getProperty(name);
- return (value != null ? value : STRING_DEFAULT_DEFAULT);
- }
-
- /**
- * Sets the default value for the string-valued property with the
- * given name.
- * <p>
- * Note that the current value of the property is affected if
- * the property's current value was its old default value, in which
- * case it changes to the new default value. If the property's current
- * is different from its old default value, its current value is
- * unaffected. No property change events are reported by changing default
- * values.
- * </p>
- *
- * @param name the name of the property
- * @param value the new default value for the property
- */
- public void setDefault(String name, String value) {
- if (value == null) {
- throw new IllegalArgumentException();
- }
- defaultProperties.put(name, value);
- }
-
- /**
- * Returns whether the property with the given name has the default value in
- * virtue of having no explicitly set value.
- *
- * @param name the name of the property
- * @return <code>true</code> if the property has no explicitly set value,
- * and <code>false</code> otherwise (including the case where the property
- * is unknown to this object)
- */
- public boolean isDefault(String name) {
- return !properties.containsKey(name);
- }
-
- /**
- * Sets the current value of the property with the given name back
- * to its default value. Has no effect if the property does not have
- * its own current value.
- * <p>
- * Note that the recommended way of re-initializing a property to the
- * appropriate default value is to call <code>setToDefault</code>.
- * This is implemented by removing the named value from the object,
- * thereby exposing the default value.
- * </p>
- * <p>
- * A property change event is always reported. In the event
- * object, the property name is the name of the property, and the
- * old and new values are either strings, or <code>null</code>
- * indicating the default-default value.
- * </p>
- *
- * @param name the name of the property
- */
- public void setToDefault(String name) {
- Object oldPropertyValue = properties.remove(name);
- if (oldPropertyValue != null) {
- dirty = true;
- }
- String newValue = defaultProperties.getProperty(name, null);
- // n.b. newValue == null if there is no default value
- // can't determine correct default-default without knowing type
- firePropertyChangeEvent(name, oldPropertyValue, newValue);
- }
-
- /**
- * Returns a list of all properties known to this preference object which
- * have current values other than their default value.
- *
- * @return an array of property names
- */
- public String[] propertyNames() {
- String[] result = new String[properties.size()];
- properties.keySet().toArray(result);
- return result;
- }
-
- /**
- * Returns a list of all properties known to this preference object which
- * have default values other than their default-default value.
- *
- * @return an array of property names
- */
- public String[] defaultPropertyNames() {
- String[] result = new String[defaultProperties.size()];
- defaultProperties.keySet().toArray(result);
- return result;
- }
-
- /**
- * Returns whether the current values in this preference object
- * require saving.
- *
- * @return <code>true</code> if at least one of the properties
- * known to this preference object has a current value different from its
- * default value, and <code>false</code> otherwise
- */
- public boolean needsSaving() {
- return dirty;
- }
-
- /**
- * Saves the non-default-valued properties known to this preference object to
- * the given output stream using
- * <code>Properties.store(OutputStream,String)</code>.
- * <p>
- * Note that the output is unconditionally written, even when
- * <code>needsSaving</code> is <code>false</code>.
- * </p>
- *
- * @param out the output stream
- * @param header a comment to be included in the output, or
- * <code>null</code> if none
- * @exception IOException if there is a problem saving this preference object
- * @see Properties#store(OutputStream,String)
- */
- public void store(OutputStream out, String header) throws IOException {
- properties.store(out, header);
- dirty = false;
- }
-
- /**
- * Loads the non-default-valued properties for this preference object from the
- * given input stream using
- * <code>java.util.Properties.load(InputStream)</code>. Default property
- * values are not affected.
- *
- * @param in the input stream
- * @exception IOException if there is a problem loading this preference
- * object
- * @see java.util.Properties#load(InputStream)
- */
- public void load(InputStream in) throws IOException {
- properties.load(in);
- dirty = false;
- }
-}
\ No newline at end of file
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java
deleted file mode 100644
index 65e9ed3..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/ProgressMonitorWrapper.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * An abstract wrapper around a progress monitor which,
- * unless overridden, forwards <code>IProgressMonitor</code>
- * methods to the wrapped progress monitor.
- * <p>
- * Clients may subclass.
- * </p>
- */
-public abstract class ProgressMonitorWrapper implements IProgressMonitor {
-
- /** The wrapped progress monitor. */
- private IProgressMonitor progressMonitor;
-
-/**
- * Creates a new wrapper around the given monitor.
- *
- * @param monitor the progress monitor to forward to
- */
-protected ProgressMonitorWrapper(IProgressMonitor monitor) {
- Assert.isNotNull(monitor);
- progressMonitor = monitor;
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#beginTask
- */
-public void beginTask(String name, int totalWork) {
- progressMonitor.beginTask(name, totalWork);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#done
- */
-public void done() {
- progressMonitor.done();
-}
-/**
- * Returns the wrapped progress monitor.
- *
- * @return the wrapped progress monitor
- */
-public IProgressMonitor getWrappedProgressMonitor() {
- return progressMonitor;
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#internalWorked
- */
-public void internalWorked(double work) {
- progressMonitor.internalWorked(work);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#isCanceled
- */
-public boolean isCanceled() {
- return progressMonitor.isCanceled();
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#setCanceled
- */
-public void setCanceled(boolean b) {
- progressMonitor.setCanceled(b);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#setTaskName
- */
-public void setTaskName(String name) {
- progressMonitor.setTaskName(name);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#subTask
- */
-public void subTask(String name) {
- progressMonitor.subTask(name);
-}
-/**
- * This implementation of a <code>IProgressMonitor</code>
- * method forwards to the wrapped progress monitor.
- * Clients may override this method to do additional
- * processing.
- *
- * @see IProgressMonitor#worked
- */
-public void worked(int work) {
- progressMonitor.worked(work);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java
deleted file mode 100644
index c9cafab..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/QualifiedName.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * Qualified names are two-part names: qualifier and local name.
- * The qualifier must be in URI form (see RFC2396).
- * Note however that the qualifier may be <code>null</code> if
- * the default name space is being used. The empty string is not
- * a valid local name.
- * <p>
- * This class is not intended to be subclassed by clients.
- * </p>
- */
-public final class QualifiedName {
-
- /** Qualifier part (potentially <code>null</code>). */
- /*package*/ String qualifier = null;
-
- /** Local name part. */
- /*package*/ String localName = null;
-/**
- * Creates and returns a new qualified name with the given qualifier
- * and local name. The local name must not be the empty string.
- * The qualifier may be <code>null</code>.
- * <p>
- * Clients may instantiate.
- * </p>
- * @param qualifier the qualifier string, or <code>null</code>
- * @param localName the local name string
- */
-public QualifiedName(String qualifier, String localName) {
- Assert.isLegal(localName != null && localName.length() != 0);
- this.qualifier = qualifier;
- this.localName = localName;
-}
-/**
- * Returns whether this qualified name is equivalent to the given object.
- * <p>
- * Qualified names are equal if and only if they have the same
- * qualified parts and local parts.
- * Qualified names are not equal to objects other than qualified names.
- * </p>
- *
- * @param obj the object to compare to
- * @return <code>true</code> if these are equivalent qualified
- * names, and <code>false</code> otherwise
- */
-public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (!(obj instanceof QualifiedName)) {
- return false;
- }
- QualifiedName qName = (QualifiedName) obj;
- /* There may or may not be a quailfier */
- if (qualifier == null && qName.getQualifier() != null) {
- return false;
- }
- if (qualifier != null && !qualifier.equals(qName.getQualifier())) {
- return false;
- }
- return localName.equals(qName.getLocalName());
-}
-/**
- * Returns the local part of this name.
- *
- * @return the local name string
- */
-public String getLocalName() {
- return localName;
-}
-/**
- * Returns the qualifier part for this qualifed name, or <code>null</code>
- * if none.
- *
- * @return the qualifier string, or <code>null</code>
- */
-public String getQualifier() {
- return qualifier;
-}
-/* (Intentionally omitted from javadoc)
- * Implements the method <code>Object.hashCode</code>.
- *
- * Returns the hash code for this qualified name.
- */
-public int hashCode() {
- return (qualifier == null ? 0 : qualifier.hashCode()) + localName.hashCode();
-}
-/**
- * Converts this qualified name into a string, suitable for
- * debug purposes only.
- */
-public String toString() {
- return (getQualifier() == null ? "" : getQualifier() + ':') + getLocalName(); //$NON-NLS-1$
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java
deleted file mode 100644
index de680a1..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/Status.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * A concrete status implementation, suitable either for
- * instantiating or subclassing.
- */
-public class Status implements IStatus {
- /**
- * The severity. One of
- * <ul>
- * <li><code>ERROR</code></li>
- * <li><code>WARNING</code></li>
- * <li><code>INFO</code></li>
- * <li>or <code>OK</code> (0)</li>
- * </ul>
- */
- private int severity = OK;
-
- /** Unique identifier of plug-in.
- */
- private String pluginId;
-
- /** Plug-in-specific status code.
- */
- private int code;
-
- /** Message, localized to the current locale.
- */
- private String message;
-
- /** Wrapped exception, or <code>null</code> if none.
- */
- private Throwable exception = null;
-
- /** Constant to avoid generating garbage.
- */
- private static final IStatus[] theEmptyStatusArray = new IStatus[0];
-/**
- * Creates a new status object. The created status has no children.
- *
- * @param severity the severity; one of <code>OK</code>,
- * <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
- * @param pluginId the unique identifier of the relevant plug-in
- * @param code the plug-in-specific status code, or <code>OK</code>
- * @param message a human-readable message, localized to the
- * current locale
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- */
-public Status(int severity, String pluginId, int code, String message, Throwable exception) {
- setSeverity(severity);
- setPlugin(pluginId);
- setCode(code);
- setMessage(message);
- setException(exception);
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public IStatus[] getChildren() {
- return theEmptyStatusArray;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public int getCode() {
- return code;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public Throwable getException() {
- return exception;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public String getMessage() {
- return message;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public String getPlugin() {
- return pluginId;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public int getSeverity() {
- return severity;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean isMultiStatus() {
- return false;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean isOK() {
- return severity == OK;
-}
-/* (Intentionally not javadoc'd)
- * Implements the corresponding method on <code>IStatus</code>.
- */
-public boolean matches(int severityMask) {
- return (severity & severityMask) != 0;
-}
-/**
- * Sets the status code.
- *
- * @param code the plug-in-specific status code, or <code>OK</code>
- */
-protected void setCode(int code) {
- this.code = code;
-}
-/**
- * Sets the exception.
- *
- * @param exception a low-level exception, or <code>null</code> if not
- * applicable
- */
-protected void setException(Throwable exception) {
- this.exception = exception;
-}
-/**
- * Sets the message.
- *
- * @param message a human-readable message, localized to the
- * current locale
- */
-protected void setMessage(String message) {
- Assert.isLegal(message != null);
- this.message = message;
-}
-/**
- * Sets the plug-in id.
- *
- * @param pluginId the unique identifier of the relevant plug-in
- */
-protected void setPlugin(String pluginId) {
- Assert.isLegal(pluginId != null && pluginId.length() > 0);
- this.pluginId = pluginId;
-}
-/**
- * Sets the severity.
- *
- * @param severity the severity; one of <code>OK</code>,
- * <code>ERROR</code>, <code>INFO</code>, or <code>WARNING</code>
- */
-protected void setSeverity(int severity) {
- Assert.isLegal(severity == OK || severity == ERROR || severity == WARNING || severity == INFO);
- this.severity = severity;
-}
-/**
- * Returns a string representation of the status, suitable
- * for debugging purposes only.
- */
-public String toString() {
- StringBuffer buf = new StringBuffer();
- buf.append("Status "); //$NON-NLS-1$
- if (severity == OK) {
- buf.append("OK"); //$NON-NLS-1$
- } else if (severity == ERROR) {
- buf.append("ERROR"); //$NON-NLS-1$
- } else if (severity == WARNING) {
- buf.append("WARNING"); //$NON-NLS-1$
- } else if (severity == INFO) {
- buf.append("INFO"); //$NON-NLS-1$
- } else {
- buf.append("severity="); //$NON-NLS-1$
- buf.append(severity);
- }
- buf.append(pluginId);
- buf.append(" code="); //$NON-NLS-1$
- buf.append(code);
- buf.append(' ');
- buf.append(message);
- buf.append(' ');
- buf.append(exception);
- return buf.toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java
deleted file mode 100644
index 124ac18..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/SubProgressMonitor.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime;
-
-/**
- * A progress monitor that uses the a given amount of work ticks
- * form a parent monitor. It can be used as follows:
- * <pre>
- * try {
- * pm.beginTask("Main Task", 100);
- * doSomeWork(pm, 30);
- * SubProgressMonitor subMonitor= new SubProgressMonitor(pm, 40);
- * try {
- * subMonitor.beginTask("", 300);
- * doSomeWork(subMonitor, 300);
- * } finally {
- * subMonitor.done();
- * }
- * doSomeWork(pm, 30);
- * } finally {
- * pm.done();
- * }
- * </pre>
- * <p>
- * This class may be instantiated or subclassed by clients.
- * </p>
- */
-public class SubProgressMonitor extends ProgressMonitorWrapper {
-
- /**
- * Style constant indicating that calls to <code>subTask</code>
- * should not have any effect.
- *
- * @see #SubProgressMonitor(IProgressMonitor,int,int)
- */
- public static final int SUPPRESS_SUBTASK_LABEL= 1 << 1;
- /**
- * Style constant indicating that the main task label
- * should be prepended to the subtask label.
- *
- * @see #SubProgressMonitor(IProgressMonitor,int,int)
- */
- public static final int PREPEND_MAIN_LABEL_TO_SUBTASK= 1 << 2;
-
- private int parentTicks = 0;
- private double sentToParent = 0.0;
- private double scale = 0.0;
- private int nestedBeginTasks = 0;
- private boolean usedUp = false;
- private int style;
- private String mainTaskLabel;
-
-/**
- * Creates a new sub-progress monitor for the given monitor. The sub
- * progress monitor uses the given number of work ticks from its
- * parent monitor.
- *
- * @param monitor the parent progress monitor
- * @param ticks the number of work ticks allocated from the
- * parent monitor
- */
-public SubProgressMonitor(IProgressMonitor monitor, int ticks) {
- this(monitor, ticks, 0);
-}
-/**
- * Creates a new sub-progress monitor for the given monitor. The sub
- * progress monitor uses the given number of work ticks from its
- * parent monitor.
- *
- * @param monitor the parent progress monitor
- * @param ticks the number of work ticks allocated from the
- * parent monitor
- * @param styles one of
- * <ul>
- * <li> <code>SUPPRESS_SUBTASK_LABEL</code> </li>
- * <li> <code>PREPEND_MAIN_LABEL_TO_SUBTASK</code> </li>
- * </ul>
- * @see #SUPPRESS_SUBTASK_LABEL
- * @see #PREPEND_MAIN_LABEL_TO_SUBTASK
- */
-public SubProgressMonitor(IProgressMonitor monitor, int ticks, int style) {
- super(monitor);
- this.parentTicks = ticks;
- this.style = style;
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.beginTask</code>.
- *
- * Starts a new main task. Since this progress monitor is a sub
- * progress monitor, the given name will NOT be used to update
- * the progress bar's main task label. That means the given
- * string will be ignored. If style <code>PREPEND_MAIN_LABEL_TO_SUBTASK
- * <code> is specified, then the given string will be prepended to
- * every string passed to <code>subTask(String)</code>.
- */
-public void beginTask(String name, int totalWork) {
- nestedBeginTasks++;
- // Ignore nested begin task calls.
- if (nestedBeginTasks > 1) {
- return;
- }
- // be safe: if the argument would cause math errors (zero or
- // negative), just use 0 as the scale. This disables progress for
- // this submonitor.
- scale = totalWork <= 0 ? 0 : (double) parentTicks / (double) totalWork;
- if ((style & PREPEND_MAIN_LABEL_TO_SUBTASK) != 0) {
- mainTaskLabel = name;
- }
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.done</code>.
- */
-public void done() {
- // Ignore if more done calls than beginTask calls or if we are still
- // in some nested beginTasks
- if (nestedBeginTasks == 0 || --nestedBeginTasks > 0)
- return;
- // Send any remaining ticks and clear out the subtask text
- double remaining = (double) parentTicks - sentToParent;
- if (remaining > 0)
- super.internalWorked(remaining);
- subTask(""); //$NON-NLS-1$
- sentToParent = 0;
-}
-/* (Intentionally not javadoc'd)
- * Implements the internal method <code>IProgressMonitor.internalWorked</code>.
- */
-public void internalWorked(double work) {
- if (usedUp || nestedBeginTasks != 1) {
- return;
- }
-
- double realWork = scale * work;
- // System.out.println("Sub monitor: " + realWork);
- super.internalWorked(realWork);
- sentToParent += realWork;
- if (sentToParent >= parentTicks) {
- usedUp = true;
- }
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.subTask</code>.
- */
-public void subTask(String name) {
- if ((style & SUPPRESS_SUBTASK_LABEL) != 0) {
- return;
- }
-
- String label = name;
- if ((style & PREPEND_MAIN_LABEL_TO_SUBTASK) != 0 && mainTaskLabel != null && mainTaskLabel.length() > 0) {
- label = mainTaskLabel + ' ' + label;
- }
- super.subTask(label);
-}
-/* (Intentionally not javadoc'd)
- * Implements the method <code>IProgressMonitor.worked</code>.
- */
-public void worked(int work) {
- internalWorked(work);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java
deleted file mode 100644
index bd7b4f6..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationElementModel.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined contents of an extension
- * in a plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-
-public class ConfigurationElementModel extends PluginModelObject {
-
- // DTD properties (included in plug-in manifest)
- private String value = null;
- private ConfigurationPropertyModel[] properties = null;
- private ConfigurationElementModel[] children = null;
-
- // transient properties (not included in plug-in manifest)
- private Object parent = null; // parent element or declaring extension
-/**
- * Creates a new configuration element model in which all fields
- * are <code>null</code>.
- */
-public ConfigurationElementModel() {}
-/**
- * Returns the element which contains this element. If this element
- * is an immediate child of an extension, the
- * returned value can be downcast to <code>ExtensionModel</code>.
- * Otherwise the returned value can be downcast to
- * <code>ConfigurationElementModel</code>.
- *
- * @return the parent of this configuration element
- * or <code>null</code>
- */
-public Object getParent() {
- return parent;
-}
-/**
- * Returns the extension in which this configuration element is declared.
- * If this element is a top-level child of an extension, the returned value
- * is equivalent to <code>getParent</code>.
- *
- * @return the extension in which this configuration element is declared
- * or <code>null</code>
- */
-public ExtensionModel getParentExtension() {
- Object p = getParent();
- while (p != null && p instanceof ConfigurationElementModel)
- p = ((ConfigurationElementModel) p).getParent();
- return (ExtensionModel) p;
-}
-/**
- * Returns the properties associated with this element.
- *
- * @return the properties associated with this element
- * or <code>null</code>
- */
-public ConfigurationPropertyModel[] getProperties() {
- return properties;
-}
-/**
- * Returns this element's sub-elements.
- *
- * @return the sub-elements of this element or <code>null</code>
- */
-public ConfigurationElementModel[] getSubElements() {
- return children;
-}
-/**
- * Returns the value of this element.
- *
- * @return the value of this element or <code>null</code>
- */
-public String getValue() {
- return value;
-}
-/**
- * Returns the value of this element.
- *
- * @return the value of this element or <code>null</code>
- * @since 2.0
- */
-public String getValueAsIs() {
- return value;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
- super.markReadOnly();
- if (children != null)
- for (int i = 0; i < children.length; i++)
- children[i].markReadOnly();
- if (properties != null)
- for (int i = 0; i < properties.length; i++)
- properties[i].markReadOnly();
-}
-/**
- * Sets the parent of this element. The supplied parent is either
- * an <code>ExtensionModel</code>, if this element is to be a
- * direct child of an extension, or another <code>ConfigurationElement</code>.
- * This object must not be read-only.
- *
- * @param value the new parent of this element. May be <code>null</code>.
- */
-public void setParent(Object value) {
- assertIsWriteable();
- parent = value;
-}
-/**
- * Sets the properties associated with this element. This object must not be read-only.
- *
- * @param value the properties to associate with this element. May be <code>null</code>.
- */
-public void setProperties(ConfigurationPropertyModel[] value) {
- assertIsWriteable();
- properties = value;
-}
-/**
- * Sets configuration elements contained by this element
- * This object must not be read-only.
- *
- * @param value the configuration elements to be associated with this element.
- * May be <code>null</code>.
- */
-public void setSubElements(ConfigurationElementModel[] value) {
- assertIsWriteable();
- children = value;
-}
-/**
- * Sets the value of this element. This object must not be read-only.
- *
- * @param value the new value of this element. May be <code>null</code>.
- */
-public void setValue(String value) {
- assertIsWriteable();
- this.value = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java
deleted file mode 100644
index b1e1b45..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ConfigurationPropertyModel.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined properties in a configuration
- * element of a plug-in manifest. Properties are <code>String</code>-based
- * key/value pairs.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class ConfigurationPropertyModel extends PluginModelObject {
-
- // DTD properties (included in plug-in manifest)
- private String value = null;
-/**
- * Creates a new configuration property model in which all fields
- * are <code>null</code>.
- */
-public ConfigurationPropertyModel() {
-}
-/**
- * Returns the value of this property.
- *
- * @return the value of this property
- * or <code>null</code>
- */
-public String getValue() {
- return value;
-}
-/**
- * Sets the value of this property.
- * This object must not be read-only.
- *
- * @param value the new value of this property. May be <code>null</code>.
- */
-public void setValue(String value) {
- assertIsWriteable();
- this.value = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java
deleted file mode 100644
index c031623..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionModel.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined extension in a
- * plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class ExtensionModel extends PluginModelObject {
-
- // DTD properties (included in plug-in manifest)
- private String extensionPoint = null;
- private String id = null;
- private ConfigurationElementModel[] elements = null;
-
- // transient properties (not included in plug-in manifest)
- private PluginModel plugin = null; // declaring plugin
-/**
- * Creates a new extension model in which all fields
- * are <code>null</code>.
- */
-public ExtensionModel() {}
-/**
- * Returns the extension point with which this extension is associated.
- *
- * @return the extension point with which this extension is associated
- * or <code>null</code>
- */
-public String getExtensionPoint() {
- return extensionPoint;
-}
-/**
- * Returns the simple identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and
- * must be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension (e.g. <code>"main"</code>)
- * or <code>null</code>
- */
-public String getId() {
- return id;
-}
-/**
- * Returns the plug-in model (descriptor or fragment) in which this extension is declared.
- *
- * @return the plug-in model in which this extension is declared
- * or <code>null</code>
- */
-public PluginModel getParent() {
- return plugin;
-}
-/**
- * Returns the plug-in descriptor in which this extension is declared.
- *
- * @return the plug-in descriptor in which this extension is declared
- * or <code>null</code>
- */
-public PluginDescriptorModel getParentPluginDescriptor() {
- return (PluginDescriptorModel) plugin;
-}
-/**
- * Returns the configuration element children of this extension.
- *
- * @return the configuration elements in this extension
- * or <code>null</code>
- */
-public ConfigurationElementModel[] getSubElements() {
- return elements;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
- super.markReadOnly();
- if (elements != null)
- for (int i = 0; i < elements.length; i++)
- elements[i].markReadOnly();
-}
-/**
- * Set the extension point with which this extension is associated.
- * This object must not be read-only.
- *
- * @return the extension point with which this extension is associated.
- * May be <code>null</code>.
- */
-public void setExtensionPoint(String value) {
- assertIsWriteable();
- extensionPoint = value;
-}
-/**
- * Sets the simple identifier of this extension, or <code>null</code>
- * if this extension does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and
- * must be unique within the defining plug-in.
- * This object must not be read-only.
- *
- * @param value the simple identifier of the extension (e.g. <code>"main"</code>).
- * May be <code>null</code>.
- */
-public void setId(String value) {
- assertIsWriteable();
- id = value;
-}
-/**
- * Sets the plug-in model in which this extension is declared.
- * This object must not be read-only.
- *
- * @param value the plug-in model in which this extension is declared.
- * May be <code>null</code>.
- */
-public void setParent(PluginModel value) {
- assertIsWriteable();
- plugin = value;
-}
-/**
- * Sets the plug-in descriptor in which this extension is declared.
- * This object must not be read-only.
- *
- * @param value the plug-in descriptor in which this extension is declared.
- * May be <code>null</code>.
- */
-public void setParentPluginDescriptor(PluginDescriptorModel value) {
- assertIsWriteable();
- plugin = value;
-}
-/**
- * Sets the configuration element children of this extension.
- * This object must not be read-only.
- *
- * @param value the configuration elements in this extension.
- * May be <code>null</code>.
- */
-public void setSubElements(ConfigurationElementModel[] value) {
- assertIsWriteable();
- elements = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java
deleted file mode 100644
index 6f0c386..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/ExtensionPointModel.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined extension point in a
- * plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class ExtensionPointModel extends PluginModelObject {
-
- // DTD properties (included in plug-in manifest)
- private String id = null;
- private String schema = null;
-
- // transient properties (not included in plug-in manifest)
- private PluginModel plugin = null; // declaring plugin
- private ExtensionModel[] extensions = null; // configured extensions
-/**
- * Creates a new extension point model in which all fields
- * are <code>null</code>.
- */
-public ExtensionPointModel() {}
-/**
- * Returns this extensions added to this extension point.
- *
- * @return the extensions in this extension point or <code>null</code>
- */
-public ExtensionModel[] getDeclaredExtensions() {
- return extensions;
-}
-/**
- * Returns the simple identifier of this extension point, or <code>null</code>
- * if this extension point does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and
- * must be unique within the defining plug-in.
- *
- * @return the simple identifier of the extension point (e.g. <code>"main"</code>)
- * or <code>null</code>
- */
-public String getId() {
- return id;
-}
-/**
- * Returns the plug-in model (descriptor or fragment) in which this extension is declared.
- *
- * @return the plug-in model in which this extension is declared
- * or <code>null</code>
- */
-public PluginModel getParent() {
- return plugin;
-}
-/**
- * Returns the plug-in descriptor in which this extension point is declared.
- *
- * @return the plug-in descriptor in which this extension point is declared
- * or <code>null</code>
- */
-public PluginDescriptorModel getParentPluginDescriptor() {
- return (PluginDescriptorModel) plugin;
-}
-/**
- * Returns the schema specification for this extension point.
- *
- * @return the schema specification for this extension point or <code>null</code>
- */
-public String getSchema() {
- return schema;
-}
-/**
- * Sets this extensions added to this extension point.
- * This object must not be read-only.
- *
- * @param value the extensions in this extension point.
- * May be <code>null</code>.
- */
-public void setDeclaredExtensions(ExtensionModel[] value) {
- assertIsWriteable();
- extensions = value;
-}
-/**
- * Sets the simple identifier of this extension point, or <code>null</code>
- * if this extension point does not have an identifier.
- * This identifier is specified in the plug-in manifest as a non-empty
- * string containing no period characters (<code>'.'</code>) and
- * must be unique within the defining plug-in.
- * This object must not be read-only.
- *
- * @param value the simple identifier of the extension point (e.g. <code>"main"</code>).
- * May be <code>null</code>.
- */
-public void setId(String value) {
- assertIsWriteable();
- id = value;
-}
-/**
- * Sets the plug-in model in which this extension is declared.
- * This object must not be read-only.
- *
- * @param value the plug-in model in which this extension is declared.
- * May be <code>null</code>.
- */
-public void setParent(PluginModel value) {
- assertIsWriteable();
- plugin = value;
-}
-/**
- * Sets the plug-in descriptor in which this extension point is declared.
- * This object must not be read-only.
- *
- * @param the plug-in descriptor in which this extension point is declared.
- * May be <code>null</code>.
- */
-public void setParentPluginDescriptor(PluginDescriptorModel value) {
- assertIsWriteable();
- plugin = value;
-}
-/**
- * Sets the schema specification for this extension point.
- * This object must not be read-only.
- *
- * @param value the schema specification for this extension point.
- * May be <code>null</code>.
- */
-public void setSchema(String value) {
- assertIsWriteable();
- schema = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java
deleted file mode 100644
index e464e32..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/Factory.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-
-/**
- * An object which can create plug-in related model objects (typically when
- * parsing plug-in manifest files).
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-
-public class Factory {
- private MultiStatus status;
-/**
- * Creates a factory which can be used to create plug-in model objects.
- * Errors and warnings during parsing etc. can be logged to the given
- * status via the <code>error</code> method.
- *
- * @param status the status to which errors should be logged
- */
-public Factory(MultiStatus status) {
- super();
- this.status = status;
-}
-
-/**
- * Returns a new configuration element model which is not initialized.
- *
- * @return a new configuration element model
- */
-public ConfigurationElementModel createConfigurationElement() {
- return new ConfigurationElementModel();
-}
-
-/**
- * Returns a new configuration property model which is not initialized.
- *
- * @return a new configuration property model
- */
-public ConfigurationPropertyModel createConfigurationProperty() {
- return new ConfigurationPropertyModel();
-}
-
-/**
- * Returns a new extension model which is not initialized.
- *
- * @return a new extension model
- */
-public ExtensionModel createExtension() {
- return new ExtensionModel();
-}
-/**
- * Returns a new extension point model which is not initialized.
- *
- * @return a new extension point model
- */
-public ExtensionPointModel createExtensionPoint() {
- return new ExtensionPointModel();
-}
-/**
- * Returns a new library model which is initialized to not export any
- * of its code.
- *
- * @return a new library model
- */
-public LibraryModel createLibrary() {
- return new LibraryModel();
-}
-/**
- * Returns a new plug-in descriptor model which is not initialized.
- *
- * @return a new plug-in descriptor model
- */
-public PluginDescriptorModel createPluginDescriptor() {
- return new PluginDescriptorModel();
-}
-/**
- * Returns a new plug-in fragment model which is not initialized.
- *
- * @return a new plug-in fragment model
- */
-public PluginFragmentModel createPluginFragment() {
- return new PluginFragmentModel();
-}
-/**
- * Returns a new plug-in prerequisite model which is initialized to
- * not export its code and to not require an exact match.
- *
- * @return a new plug-in prerequisite model
- */
-public PluginPrerequisiteModel createPluginPrerequisite() {
- return new PluginPrerequisiteModel();
-}
-/**
- * Returns a new plug-in registry model with an empty plug-in table.
- *
- * @return a new plug-in registry model
- */
-public PluginRegistryModel createPluginRegistry() {
- return new PluginRegistryModel();
-}
-
-/**
- * Returns a new URL model which is not initialized.
- *
- * @return a new URL model
- */
-public URLModel createURL() {
- return new URLModel();
-}
-
-/**
- * Handles an error state specified by the status. The collection of all logged status
- * objects can be accessed using <code>getStatus()</code>.
- *
- * @param error a status detailing the error condition
- */
-public void error(IStatus error) {
- status.add(error);
- if (InternalPlatform.DEBUG && InternalPlatform.DEBUG_PLUGINS)
- System.out.println(error.toString());
-}
-/**
- * Returns all of the status objects logged thus far by this factory.
- *
- * @return a multi-status containing all of the logged status objects
- */
-public MultiStatus getStatus() {
- return status;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java
deleted file mode 100644
index 84d3efb..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/LibraryModel.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.Assert;
-
-/**
- * A runtime library declared in a plug-in. Libraries contribute elements to the search path.
- * These contributions are specified as a path to a directory or Jar file. This path is always
- * considered to be relative to the containing plug-in.
- * <p>
- * Libraries are typed. The type is used to determine to which search path the library's
- * contribution should be added. The valid types are: <code>CODE</code> and
- * <code>RESOURCE</code>.
- * </p>
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class LibraryModel extends PluginModelObject {
-
- // DTD properties (included in plug-in manifest)
- private String[] exports = null;
- private String type = CODE;
- private String[] packagePrefixes = null;
-
- // transient properties (not included in plug-in manifest)
- private boolean isExported = false;
- private boolean isFullyExported = false;
-
- /**
- * Constant string (value "code") indicating the code library type.
- */
- public static final String CODE = "code"; //$NON-NLS-1$
-
- /**
- * Constant string (value "resource") indicating the resource library type.
- */
- public static final String RESOURCE = "resource"; //$NON-NLS-1$
-
-/**
- * Creates a new library model in which all fields
- * are <code>null</code>.
- */
-public LibraryModel() {}
-/**
- * Returns this library's export mask.
- *
- * @return this library's export mask or <code>null</code>
- */
-public String[] getExports() {
- return exports;
-}
-/**
- * Returns this library's type.
- *
- * @return the type of this library. The valid types are: <code>CODE</code> and <code>RESOURCE</code>.
- * @see #CODE
- * @see #RESOURCE
- */
-public String getType() {
- return type;
-}
-/**
- * Returns whether or not any of the code in this library is exported.
- *
- * @return whether or not any of the code in this library represents is exported
- */
-public boolean isExported() {
- return isExported;
-}
-/**
- * Returns whether or not all of the code in this library is exported.
- *
- * @return whether or not all of the code in this library is exported
- */
-public boolean isFullyExported() {
- return isFullyExported;
-}
-/**
- * Sets this library's export mask.
- * This object must not be read-only.
- *
- * @param value this library's export mask. May be <code>null</code>.
- */
-public void setExports(String[] value) {
- assertIsWriteable();
- exports = value;
- if (value == null) {
- isExported = false;
- isFullyExported = false;
- } else {
- for (int i = 0; i < value.length; i++) {
- if (!value[i].equals("")) //$NON-NLS-1$
- isExported = true;
- if (value[i].equals("*")) //$NON-NLS-1$
- isFullyExported = true;
- }
- }
-}
-/**
- * Sets this library's type. The valid types are: <code>CODE</code> and <code>RESOURCE</code>.
- * The given type value is canonicalized before being set.
- * This object must not be read-only.
- *
- * @param value the type of this library.
- * @see #CODE
- * @see #RESOURCE
- */
-public void setType(String value) {
- assertIsWriteable();
- String lcValue = value.toLowerCase();
- Assert.isTrue (lcValue.equals(CODE) || lcValue.equals(RESOURCE));
- type = lcValue;
-}
-/**
- * @see ILibrary#getPackagePrefixes
- */
-public String[] getPackagePrefixes() {
- return packagePrefixes;
-}
-/**
- * Sets this library's package prefixes to be the specified array or <code>null</code>.
- */
-public void setPackagePrefixes(String[] packagePrefixes) {
- this.packagePrefixes = packagePrefixes;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java
deleted file mode 100644
index 1dc851e..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginDescriptorModel.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents the user-defined contents of a plug-in
- * in a plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginDescriptorModel extends PluginModel {
-
- // DTD properties (included in plug-in manifest)
- private String pluginClass = null;
-
- // transient properties (not included in plug-in manifest)
- private boolean enabled = true; // whether or not the plugin definition loaded ok
- private PluginFragmentModel[] fragments;
-
-/**
- * Creates a new plug-in descriptor model in which all fields
- * are <code>null</code>.
- */
-public PluginDescriptorModel() {
- super();
-}
-/*
- * Returns true if this plugin has all of it's prerequisites and is,
- * therefore enabled.
- */
-public boolean getEnabled() {
- return enabled;
-}
-
-/**
- * Returns the fragments installed for this plug-in.
- *
- * @return this plug-in's fragments or <code>null</code>
- */
-public PluginFragmentModel[] getFragments() {
- return fragments;
-}
-
-/**
- * Returns the fully qualified name of the Java class which implements
- * the runtime support for this plug-in.
- *
- * @return the name of this plug-in's runtime class or <code>null</code>.
- */
-public String getPluginClass() {
- return pluginClass;
-}
-/**
- * Returns the unique identifier of the plug-in related to this model
- * or <code>null</code>.
- * This identifier is a non-empty string and is unique
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in related to this model
- * (e.g. <code>"com.example"</code>) or <code>null</code>.
- */
-public String getPluginId() {
- return getId();
-}
-
-/*
- * Sets the value of the field 'enabled' to the parameter 'value'.
- * If this plugin is enabled (default) it is assumed to have all
- * of it's prerequisites.
- *
- * @param value set to false if this plugin should be disabled and
- * true otherwise.
- */
-public void setEnabled(boolean value) {
- enabled = value;
-}
-
-/**
- * Sets the list of fragments for this plug-in.
- * This object must not be read-only.
- *
- * @param value the fragments for this plug-in. May be <code>null</code>.
- */
-public void setFragments(PluginFragmentModel[] value) {
- assertIsWriteable();
- fragments = value;
-}
-
-/**
- * Sets the fully qualified name of the Java class which implements
- * the runtime support for this plug-in.
- * This object must not be read-only.
- *
- * @param value the name of this plug-in's runtime class.
- * May be <code>null</code>.
- */
-public void setPluginClass(String value) {
- assertIsWriteable();
- pluginClass = value;
-}
-
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java
deleted file mode 100644
index a766095..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginFragmentModel.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.Assert;
-import org.eclipse.core.runtime.PluginVersionIdentifier;
-
-/**
- * An object which represents the user-defined contents of a plug-in fragment
- * in a plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginFragmentModel extends PluginModel {
-
- public static final byte FRAGMENT_MATCH_UNSPECIFIED = 0;
- public static final byte FRAGMENT_MATCH_PERFECT = 1;
- public static final byte FRAGMENT_MATCH_EQUIVALENT = 2;
- public static final byte FRAGMENT_MATCH_COMPATIBLE = 3;
- public static final byte FRAGMENT_MATCH_GREATER_OR_EQUAL = 4;
-
- // DTD properties (included in plug-in manifest)
- private String plugin = null;
- private String pluginVersion = null;
- private byte pluginMatch = FRAGMENT_MATCH_UNSPECIFIED;
-/**
- * Creates a new plug-in descriptor model in which all fields
- * are <code>null</code>.
- */
-public PluginFragmentModel() {
- super();
-}
-/**
- * Returns a byte code indicating the type of match this fragment requires
- * when trying to find its associated plugin.
- * The byte code can be any one of the following:
- * FRAGMENT_MATCH_UNSPECIFIED initial value
- * FRAGMENT_MATCH_PERFECT perfectly equal match
- * FRAGMENT_MATCH_EQUIVALENT equivalent match
- * FRAGMENT_MATCH_COMPATIBLE compatible match
- * FRAGMENT_MATCH_GREATER_OR_EQUAL greater than or equal to match
- *
- * @return a byte code indicating the type of match this fragment requires
- * @since 2.0
- */
-public byte getMatch() {
- return pluginMatch;
-}
-/**
- * Returns the fully qualified name of the plug-in for which this is a fragment
- *
- * @return the name of this fragment's plug-in or <code>null</code>.
- */
-public String getPlugin() {
- return plugin;
-}
-/**
- * Returns the unique identifier of the plug-in related to this model
- * or <code>null</code>.
- * This identifier is a non-empty string and is unique
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in related to this model
- * (e.g. <code>"com.example"</code>) or <code>null</code>.
- */
-public String getPluginId() {
- return getPlugin();
-}
-/**
- * Returns the version name of the plug-in for which this is a fragment.
- *
- * @return the version name of this fragment's plug-in or <code>null</code>
- */
-public String getPluginVersion() {
- return pluginVersion;
-}
-/**
- * Sets the type of match this fragment requires when trying to
- * find its associated plugin. The value parameter may be any
- * one of the following:
- * FRAGMENT_MATCH_UNSPECIFIED initial value
- * FRAGMENT_MATCH_PERFECT perfectly equal match
- * FRAGMENT_MATCH_EQUIVALENT equivalent match
- * FRAGMENT_MATCH_COMPATIBLE compatible match
- * FRAGMENT_MATCH_GREATER_OR_EQUAL greater than or equal to match
- * This object must not be read-only.
- *
- * @param value the type of match required with the associated plugin
- * @since 2.0
- */
-public void setMatch(byte value) {
- assertIsWriteable();
- Assert.isTrue ((value == FRAGMENT_MATCH_PERFECT) ||
- (value == FRAGMENT_MATCH_EQUIVALENT) ||
- (value == FRAGMENT_MATCH_COMPATIBLE) ||
- (value == FRAGMENT_MATCH_GREATER_OR_EQUAL));
- pluginMatch = value;
-}
-/**
- * Sets the fully qualified name of the plug-in for which this is a fragment
- * This object must not be read-only.
- *
- * @param value the name of this fragment's plug-in.
- * May be <code>null</code>.
- */
-public void setPlugin(String value) {
- assertIsWriteable();
- plugin = value;
-}
-/**
- * Sets the version name of the plug-in for which this is a fragment.
- * The given version number is canonicalized.
- * This object must not be read-only.
- *
- * @param value the version name of this fragment's plug-in.
- * May be <code>null</code>.
- */
-public void setPluginVersion(String value) {
- assertIsWriteable();
- pluginVersion = new PluginVersionIdentifier(value).toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java
deleted file mode 100644
index 5176a8c..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModel.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.runtime.PluginVersionIdentifier;
-
-/**
- * An object which represents the user-defined contents of a plug-in model
- * (either a descriptor or a fragment) in a plug-in manifest.
- * <p>
- * This class may not be instantiated, but may be further subclassed.
- * </p>
- */
-public abstract class PluginModel extends PluginModelObject {
-
- // DTD properties (included in plug-in manifest)
- private String id = null;
- private String providerName = null;
- private String version = null;
- private LibraryModel[] runtime = null;
- private ExtensionPointModel[] extensionPoints = null;
- private ExtensionModel[] extensions = null;
- private PluginPrerequisiteModel[] requires = null;
-
- // transient properties (not included in plug-in manifest)
- private PluginRegistryModel registry = null;
- private String location = null;
-/**
- * Creates a new plug-in descriptor model in which all fields
- * are <code>null</code>.
- */
-public PluginModel() {
- super();
-}
-/**
- * Returns the extension points in this plug-in descriptor.
- *
- * @return the extension points in this plug-in descriptor or <code>null</code>
- */
-public ExtensionPointModel[] getDeclaredExtensionPoints() {
- return extensionPoints;
-}
-/**
- * Returns the extensions in this plug-in descriptor.
- *
- * @return the extensions in this plug-in descriptor or <code>null</code>
- */
-public ExtensionModel[] getDeclaredExtensions() {
- return extensions;
-}
-/**
- * Returns the unique identifier of this plug-in model
- * or <code>null</code>.
- * This identifier is a non-empty string and is unique
- * within the plug-in registry.
- *
- * @return the unique identifier of this plugin model
- * (e.g. <code>"com.example"</code>) or <code>null</code>.
- */
-public String getId() {
- return id;
-}
-/**
- * Returns the location of the plug-in manifest file (e.g., <code>plugin.xml</code>)
- * which corresponds to this plug-in descriptor. The location is in the
- * form of a URL.
- *
- * @return the location of this plug-in descriptor or <code>null</code>.
- */
-public String getLocation() {
- return location;
-}
-/**
- * Returns the unique identifier of the plug-in related to this model
- * or <code>null</code>.
- * This identifier is a non-empty string and is unique
- * within the plug-in registry.
- *
- * @return the unique identifier of the plug-in related to this model
- * (e.g. <code>"com.example"</code>) or <code>null</code>.
- */
-public abstract String getPluginId();
-/**
- * Returns the name of the provider who authored this plug-in.
- *
- * @return name of the provider who authored this plug-in or <code>null</code>
- */
-public String getProviderName() {
- return providerName;
-}
-/**
- * Returns the plug-in registry of which this plug-in descriptor is a member.
- *
- * @return the registry in which this descriptor has been installed or
- * <code>null</code> if none.
- */
-public PluginRegistryModel getRegistry() {
- return registry;
-}
-
-/**
- * Returns the prerequisites of this plug-in.
- *
- * @return the prerequisites of this plug-in or <code>null</code>
- */
-public PluginPrerequisiteModel[] getRequires() {
- return requires;
-}
-
-/**
- * Returns the libraries configured for this plug-in.
- *
- * @return the libraries configured for this plug-in or <code>null</code>
- */
-public LibraryModel[] getRuntime() {
- return runtime;
-}
-/**
- * Returns the version name of this plug-in.
- *
- * @return the version name of this plug-in or <code>null</code>
- */
-public String getVersion() {
- return version;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
- super.markReadOnly();
- if (runtime != null)
- for (int i = 0; i < runtime.length; i++)
- runtime[i].markReadOnly();
- if (extensionPoints != null)
- for (int i = 0; i < extensionPoints.length; i++)
- extensionPoints[i].markReadOnly();
- if (extensions != null)
- for (int i = 0; i < extensions.length; i++)
- extensions[i].markReadOnly();
- if (requires != null)
- for (int i = 0; i < requires.length; i++)
- requires[i].markReadOnly();
-}
-/**
- * Sets the extension points in this plug-in descriptor.
- * This object must not be read-only.
- *
- * @param value the extension points in this plug-in descriptor.
- * May be <code>null</code>.
- */
-public void setDeclaredExtensionPoints(ExtensionPointModel[] value) {
- assertIsWriteable();
- extensionPoints = value;
-}
-/**
- * Sets the extensions in this plug-in descriptor.
- * This object must not be read-only.
- *
- * @param value the extensions in this plug-in descriptor.
- * May be <code>null</code>.
- */
-public void setDeclaredExtensions(ExtensionModel[] value) {
- assertIsWriteable();
- extensions = value;
-}
-/**
- * Sets the unique identifier of this plug-in model.
- * The identifier is a non-empty string and is unique
- * within the plug-in registry.
- * This object must not be read-only.
- *
- * @param value the unique identifier of the plug-in model (e.g. <code>"com.example"</code>).
- * May be <code>null</code>.
- */
-public void setId(String value) {
- assertIsWriteable();
- id = value;
-}
-/**
- * Sets the location of the plug-in manifest file (e.g., <code>plugin.xml</code>)
- * which corresponds to this plug-in descriptor. The location is in the
- * form of a URL.
- * This object must not be read-only.
- *
- * @param value the location of this plug-in descriptor. May be <code>null</code>.
- */
-public void setLocation(String value) {
- assertIsWriteable();
- location = value;
-}
-/**
- * Sets the name of the provider who authored this plug-in.
- * This object must not be read-only.
- *
- * @param value name of the provider who authored this plug-in.
- * May be <code>null</code>.
- */
-public void setProviderName(String value) {
- assertIsWriteable();
- providerName = value;
-}
-/**
- * Sets the registry with which this plug-in descriptor is associated.
- * This object must not be read-only.
- *
- * @param value the registry with which this plug-in is associated.
- * May be <code>null</code>.
- */
-public void setRegistry(PluginRegistryModel value) {
- assertIsWriteable();
- registry = value;
-}
-
-/**
- * Sets the prerequisites of this plug-in.
- * This object must not be read-only.
- *
- * @param value the prerequisites of this plug-in. May be <code>null</code>.
- */
-public void setRequires(PluginPrerequisiteModel[] value) {
- assertIsWriteable();
- requires = value;
-}
-
-/**
- * Sets the libraries configured for this plug-in.
- * This object must not be read-only.
- *
- * @param value the libraries configured for this plug-in. May be <code>null</code>.
- */
-public void setRuntime(LibraryModel[] value) {
- assertIsWriteable();
- runtime = value;
-}
-/**
- * Sets the version name of this plug-in. The version number
- * is canonicalized.
- * This object must not be read-only.
- *
- * @param value the version name of this plug-in.
- * May be <code>null</code>.
- */
-public void setVersion(String value) {
- assertIsWriteable();
- version = new PluginVersionIdentifier(value).toString();
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java
deleted file mode 100644
index 76fa8fb..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginModelObject.java
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java
deleted file mode 100644
index 646d8e5..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginPrerequisiteModel.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.internal.runtime.Assert;
-/**
- * An object which represents the relationship between a plug-in and a
- * prerequisite plug-in in the dependent's plug-in manifest.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginPrerequisiteModel extends PluginModelObject {
-
- public static final byte PREREQ_MATCH_UNSPECIFIED = 0;
- public static final byte PREREQ_MATCH_PERFECT = 1;
- public static final byte PREREQ_MATCH_EQUIVALENT = 2;
- public static final byte PREREQ_MATCH_COMPATIBLE = 3;
- public static final byte PREREQ_MATCH_GREATER_OR_EQUAL = 4;
-
- // DTD properties (included in plug-in manifest)
- private String plugin = null;
- private String version = null;
- private byte match = PREREQ_MATCH_UNSPECIFIED;
- private boolean export = false;
- private String resolvedVersion = null;
- private boolean optional = false;
-
-/**
- * Creates a new plug-in prerequisite model in which all fields
- * are <code>null</code>.
- */
-public PluginPrerequisiteModel() {
- super();
-}
-/**
- * Returns whether or not the code in this pre-requisite is exported.
- *
- * @return whether or not the code in this pre-requisite is exported
- */
-public boolean getExport() {
- return export;
-}
-/**
- * Returns whether or not this pre-requisite requires an exact match.
- *
- * @return whether or not this pre-requisite requires an exact match
- * @deprecated - use getMatchByte
- */
-public boolean getMatch() {
- return (match == PREREQ_MATCH_EQUIVALENT);
-}
-/**
- * Returns a byte code indicating the type of match this pre-requisite requires.
- * The byte code can be any one of the following:
- * PREREQ_MATCH_UNSPECIFIED initial value
- * PREREQ_MATCH_PERFECT perfectly equal match
- * PREREQ_MATCH_EQUIVALENT equivalent match
- * PREREQ_MATCH_COMPATIBLE compatible match
- * PREREQ_MATCH_GREATER_OR_EQUAL greater than or equal to match
- *
- * @return a byte code indicating the type of match this pre-requisite requires
- * @since 2.0
- */
-public byte getMatchByte() {
- return match;
-}
-/**
- * Returns whether this pre-requisite is optional.
- *
- * @return whether this pre-requisite is optional
- */
-public boolean getOptional() {
- return optional;
-}
-/**
- * Returns the plug-in identifier of the prerequisite plug-in.
- *
- * @return the plug-in identifier or <code>null</code>
- */
-public String getPlugin() {
- return plugin;
-}
-/**
- * Returns the resolved version of the prerequisite plug-in. The
- * returned value is in the format specified by <code>PluginVersionIdentifier</code>.
- *
- * @return the version of the prerequisite plug-in
- * @see PluginVersionIdentifier
- */
-public String getResolvedVersion() {
- return resolvedVersion;
-}
-/**
- * Returns the version name of this plug-in.
- *
- * @return the version name of this plug-in or <code>null</code>
- */
-public String getVersion() {
- return version;
-}
-/**
- * Sets whether or not the code in this pre-requisite is exported.
- * This object must not be read-only.
- *
- * @param value whether or not the code in this pre-requisite is exported
- */
-public void setExport(boolean value) {
- assertIsWriteable();
- export = value;
-}
-/**
- * Sets whether or not this pre-requisite requires an exact match.
- * This object must not be read-only.
- *
- * @param value whether or not this pre-requisite requires an exact match
- * @deprecated use setMatchByte
- */
-public void setMatch(boolean value) {
- assertIsWriteable();
- if (value) {
- setMatchByte(PREREQ_MATCH_EQUIVALENT);
- } else {
- setMatchByte(PREREQ_MATCH_COMPATIBLE);
- }
-}
-/**
- * Sets whether or not this pre-requisite requires an exact match.
- * This object must not be read-only.
- *
- * @param value whether or not this pre-requisite requires an exact match
- * @since 2.0
- */
-public void setMatchByte(byte value) {
- assertIsWriteable();
- Assert.isTrue ((value == PREREQ_MATCH_PERFECT) ||
- (value == PREREQ_MATCH_EQUIVALENT) ||
- (value == PREREQ_MATCH_COMPATIBLE) ||
- (value == PREREQ_MATCH_GREATER_OR_EQUAL));
- match = value;
-}
-/**
- * Sets whether this pre-requisite is optional.
- * This object must not be read-only.
- *
- * @param value whether this pre-requisite is optional
- */
-public void setOptional(boolean value) {
- assertIsWriteable();
- optional = value;
-}
-/**
- * Sets the plug-in identifier of this prerequisite plug-in.
- * This object must not be read-only.
- *
- * @param value the prerequisite plug-in identifier. May be <code>null</code>.
- */
-public void setPlugin(String value) {
- assertIsWriteable();
- plugin = value;
-}
-/**
- * Sets the resolved version of the prerequisite plug-in. The
- * given value is in the format specified by <code>PluginVersionIdentifier</code>.
- *
- * @param value the version of the prerequisite plug-in
- * @see PluginVersionIdentifier
- */
-public void setResolvedVersion(String value) {
- assertIsWriteable();
- resolvedVersion = value;
-}
-/**
- * Sets the version name of this plug-in prerequisite.
- * This object must not be read-only.
- *
- * @param value the version name of this plug-in prerequisite.
- * May be <code>null</code>.
- */
-public void setVersion(String value) {
- assertIsWriteable();
- version = value;
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java
deleted file mode 100644
index c0b8ed2..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/PluginRegistryModel.java
+++ /dev/null
@@ -1,394 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.internal.runtime.Assert;
-import org.eclipse.core.internal.plugins.RegistryResolver;
-import java.util.*;
-
-/**
- * A container for a collection of plug-in descriptors.
- * <p>
- * This class may be instantiated, or further subclassed.
- * </p>
- */
-public class PluginRegistryModel {
-
- // transient properties (not included in plug-in manifest)
- private Map plugins = new HashMap(30);
- private Map fragments = new HashMap(30);
- private boolean readOnly = false;
- private boolean resolved = false;
-/**
- * Creates a new plug-in registry model which contains no plug-ins.
- */
-public PluginRegistryModel() {
- super();
-}
-/**
- * Adds the specified plug-in fragment to this registry. An existing fragment
- * with the same unique id and version is replaced by the new
- * value.
- *
- * @param fragment the plug-in fragment to add
- */
-public void addFragment(PluginFragmentModel fragment) {
- assertIsWriteable();
- String key = fragment.getId();
- PluginFragmentModel[] list = getFragments(key);
- if (list == null) {
- list = new PluginFragmentModel[1];
- list[0] = fragment;
- fragments.put(key, list);
- } else {
- //XXX should we check for duplicates? See javadoc comment.
-// for (int i = 0; i < list.length; i++) {
-// if (list[i].getVersion().equals(fragment.getVersion())) {
-// //replace with new plugin
-// list[i] = fragment;
-// return;
-// }
-// }
- PluginFragmentModel[] newList = new PluginFragmentModel[list.length + 1];
- System.arraycopy(list, 0, newList, 0, list.length);
- newList[list.length] = fragment;
- fragments.put(key, newList);
- }
-}
-/**
- * Adds the specified plug-in to this registry. An existing plug-in
- * with the same unique id and version is replaced by the new
- * value.
- *
- * @param plugin the plug-in descriptor to add
- */
-public void addPlugin(PluginDescriptorModel plugin) {
- assertIsWriteable();
- String key = plugin.getId();
- PluginDescriptorModel[] pluginList = getPlugins(key);
- if (pluginList == null) {
- pluginList = new PluginDescriptorModel[1];
- pluginList[0] = plugin;
- plugins.put(key, pluginList);
- } else {
- //check for duplicates
- for (int i = 0; i < pluginList.length; i++) {
- if (pluginList[i].getVersion().equals(plugin.getVersion())) {
- //replace with new plugin
- pluginList[i] = plugin;
- return;
- }
- }
- PluginDescriptorModel[] newPluginList = new PluginDescriptorModel[pluginList.length + 1];
- System.arraycopy(pluginList, 0, newPluginList, 0, pluginList.length);
- newPluginList[pluginList.length] = plugin;
- plugins.put(key, newPluginList);
- }
-}
-/**
- * Checks that this model object is writeable. A runtime exception
- * is thrown if it is not.
- */
-protected void assertIsWriteable() {
- Assert.isTrue(!isReadOnly(), "Model is read-only"); //$NON-NLS-1$
-}
-/**
- * Returns the plug-in fragment with the given identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * fragment. If there are multiple versions of the identified fragment,
- * one will be non-deterministically chosen and returned.
- *
- * @param id the unique identifier of the plug-in fragment
- * (e.g. <code>"com.example.acme"</code>).
- * @return the plug-in fragment, or <code>null</code>
- */
-public PluginFragmentModel getFragment(String id) {
- PluginFragmentModel[] result = (PluginFragmentModel[]) fragments.get(id);
- return result == null ? null : result[0];
-}
-/**
- * Returns the identified plug-in fragment or <code>null</code> if
- * the fragment does not exist.
- *
- * @param id the unique identifier of the plug-in fragment
- * @param version fragment version identifier. If <code>null</code> is
- * specified, a non-deterministically chosen version of the identified fragment
- * (if any) will be returned
- * @return the matching fragment in this registry, or <code>null</code>
- */
-public PluginFragmentModel getFragment(String id, String version) {
- PluginFragmentModel[] list = getFragments(id);
- if (list == null || list.length == 0)
- return null;
- if (version == null)
- // Just return the first one in the list (random)
- return list[0];
-
- for (int i = 0; i < list.length; i++) {
- PluginFragmentModel element = list[i];
- if (element.getVersion().equals(version))
- return element;
- }
- return null;
-}
-/**
- * Returns the list of plug-in fragments managed by this registry.
- *
- * @return the fragments in this registry
- */
-public PluginFragmentModel[] getFragments() {
- List result = new ArrayList(fragments.size());
- for (Iterator i = fragments.values().iterator(); i.hasNext();) {
- PluginFragmentModel[] entries = (PluginFragmentModel[]) i.next();
- for (int j = 0; j < entries.length; j++)
- result.add(entries[j]);
- }
- return (PluginFragmentModel[]) result.toArray(new PluginFragmentModel[result.size()]);
-}
-/**
- * Returns all versions of the identified plug-in fragment
- * known to this plug-in registry.
- * Returns an empty array if there are no fragments
- * with the specified identifier.
- *
- * @param id the unique identifier of the plug-in fragment
- * (e.g. <code>"org.eclipse.core.resources"</code>).
- * @return the fragments known to this plug-in registry with the given id
- */
-public PluginFragmentModel[] getFragments(String id) {
- return (PluginFragmentModel[]) fragments.get(id);
-}
-/**
- * Returns the plug-in descriptor with the given plug-in identifier
- * in this plug-in registry, or <code>null</code> if there is no such
- * plug-in. If there are multiple versions of the identified plug-in,
- * one will be non-deterministically chosen and returned.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"com.example.acme"</code>).
- * @return the plug-in descriptor, or <code>null</code>
- */
-public PluginDescriptorModel getPlugin(String pluginId) {
- PluginDescriptorModel[] result = (PluginDescriptorModel[]) plugins.get(pluginId);
- return result == null ? null : result[0];
-}
-/**
- * Returns the identified plug-in or <code>null</code> if
- * the plug-in does not exist.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>)
- * @param version plug-in version identifier. If <code>null</code> is specified,
- * a non-deterministically chosen version of the identified plug-in (if any)
- * will be returned
- * @return the matching plug-in in this registry or <code>null</code>
- */
-public PluginDescriptorModel getPlugin(String pluginId, String version) {
- PluginDescriptorModel[] list = getPlugins(pluginId);
- if (list == null || list.length == 0)
- return null;
- if (version == null)
- // Just return the first one in the list (random)
- return list[0];
-
- for (int i = 0; i < list.length; i++) {
- PluginDescriptorModel element = list[i];
- if (element.getVersion().equals(version))
- return element;
- }
- return null;
-}
-/**
- * Returns the list of plug-ins managed by this registry.
- *
- * @return the plug-ins in this registry
- */
-public PluginDescriptorModel[] getPlugins() {
- List result = new ArrayList(plugins.size());
- for (Iterator i = plugins.values().iterator(); i.hasNext();) {
- PluginDescriptorModel[] entries = (PluginDescriptorModel[]) i.next();
- for (int j = 0; j < entries.length; j++)
- result.add(entries[j]);
- }
- return (PluginDescriptorModel[]) result.toArray(new PluginDescriptorModel[result.size()]);
-}
-/**
- * Returns all versions of the identified plug-in descriptor
- * known to this plug-in registry.
- * Returns an empty array if there are no plug-ins
- * with the specified identifier.
- *
- * @param pluginId the unique identifier of the plug-in
- * (e.g. <code>"org.eclipse.core.resources"</code>).
- * @return the plug-in descriptors known to this plug-in registry
- */
-public PluginDescriptorModel[] getPlugins(String pluginId) {
- return (PluginDescriptorModel[]) plugins.get(pluginId);
-}
-/**
- * Returns whether or not this model object is read-only.
- *
- * @return <code>true</code> if this model object is read-only,
- * <code>false</code> otherwise
- * @see #markReadOnly
- */
-public boolean isReadOnly() {
- return readOnly;
-}
-/**
- * Returns whether or not this model object has been resolved.
- *
- * @return <code>true</code> if this model object has been resolved,
- * <code>false</code> otherwise
- * @see #resolve
- */
-public boolean isResolved() {
- return resolved;
-}
-/**
- * Sets this model object and all of its descendents to be read-only.
- * Subclasses may extend this implementation.
- *
- * @see #isReadOnly
- */
-public void markReadOnly() {
- readOnly = true;
- for (Iterator it = plugins.values().iterator(); it.hasNext();) {
- PluginDescriptorModel[] list = (PluginDescriptorModel[]) it.next();
- for (int i = 0; i < list.length; i++)
- list[i].markReadOnly();
- }
- for (Iterator it = fragments.values().iterator(); it.hasNext();) {
- PluginFragmentModel[] list = (PluginFragmentModel[]) it.next();
- for (int i = 0; i < list.length; i++)
- list[i].markReadOnly();
- }
-}
-/**
- * Sets this model object to be resolved.
- */
-public void markResolved() {
- resolved = true;
-}
-/**
- * Removes the fragment with id and version if it exists in this registry.
- * This method has no effect if a fragment with the given id and version
- * cannot be found.
- *
- * @param id the unique identifier of the fragment to remove
- * @param version the version of the fragment to remove
- */
-public void removeFragment(String id, String version) {
- assertIsWriteable();
- PluginFragmentModel[] list = getFragments(id);
- if (list == null || list.length == 0)
- return;
- int removedCount = 0;
- for (int i = 0; i < list.length; i++) {
- if (version.equals(list[i].getVersion())) {
- list[i] = null;
- removedCount++;
- }
- }
- // If all were removed, toss the whole entry. Otherwise, compact the array
- if (removedCount == list.length)
- removeFragments(id);
- else {
- PluginFragmentModel[] newList = new PluginFragmentModel[list.length - removedCount];
- int index = 0;
- for (int i = 0; i < list.length; i++) {
- if (list[i] != null)
- newList[index++] = list[i];
- }
- fragments.put(id, newList);
- }
-}
-/**
- * Removes all versions of the identified plug-in fragment from this registry.
- * This method has no effect if such a fragment cannot be found.
- *
- * @param id the unique identifier of the fragments to remove
- */
-public void removeFragments(String id) {
- assertIsWriteable();
- fragments.remove(id);
-}
-/**
- * Removes the plug-in with id and version if it exists in this registry.
- * This method has no effect if a plug-in with the given id and version
- * cannot be found.
- *
- * @param pluginId the unique identifier of the plug-in to remove
- * @param version the version of the plug-in to remove
- */
-public void removePlugin(String pluginId, String version) {
- assertIsWriteable();
- PluginDescriptorModel[] plugins = getPlugins(pluginId);
- if (plugins == null || plugins.length == 0)
- return;
- int removedCount = 0;
- for (int i = 0; i < plugins.length; i++) {
- if (version.equals(plugins[i].getVersion())) {
- plugins[i] = null;
- removedCount++;
- }
- }
- // If all were removed, toss the whole entry. Otherwise, compact the array
- if (removedCount == plugins.length)
- removePlugins(pluginId);
- else {
- PluginDescriptorModel[] newList = new PluginDescriptorModel[plugins.length - removedCount];
- int index = 0;
- for (int i = 0; i < plugins.length; i++) {
- if (plugins[i] != null)
- newList[index++] = plugins[i];
- }
- this.plugins.put(pluginId,newList);
- }
-}
-/**
- * Removes all versions of the given plug-in from this registry.
- * This method has no effect if such a plug-in cannot be found.
- *
- * @param pluginId the unique identifier of the plug-ins to remove
- */
-public void removePlugins(String pluginId) {
- assertIsWriteable();
- plugins.remove(pluginId);
-}
-/**
- * Runs a resolve through the entire registry. This resolve will
- * mark any PluginDescriptorModels which do not have access to all
- * of their prerequisites as disabled. Prerequisites which cause
- * cyclical dependencies will be marked as disabled.
- *
- * If the parameter trimDisabledPlugins is set to true, all PluginDescriptorModels
- * which are labelled as disabled will be removed from the registry.
- *
- * If the paramter doCrossLinking is set to true, links will be
- * created between ExtensionPointModels and their corresponding
- * ExtensionModels. Not that these links will include disabled
- * plugins if trimDisabledPlugins was set to false.
- *
- * @param trimDisabledPlugins if true, remove all disabled plugins
- * from the registry (recommended value = true)
- *
- * @param doCrossLinking if true, link all ExtensionModels in the registry
- * to their corresponding ExtensionPointModel (recommended value = true).
- */
-public IStatus resolve(boolean trimDisabledPlugins, boolean doCrossLinking) {
- RegistryResolver resolver = new RegistryResolver();
- resolver.setTrimPlugins(trimDisabledPlugins);
- resolver.setCrossLink(doCrossLinking);
- return resolver.resolve(this);
-}
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java
deleted file mode 100644
index c07c8f2..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/URLModel.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2000, 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.runtime.model;
-
-/**
- * An object which represents a named URL in a component or configuration
- * manifest.
- * <p>
- * This class may be instantiated and further subclassed.
- * </p>
- */
-
-public class URLModel extends PluginModelObject {
- // DTD properties (included in install manifest)
- private String url = null;
-
-/**
- * Returns the URL specification.
- *
- * @return the URL specification or <code>null</code>.
- */
-public String getURL() {
- return url;
-}
-
-/**
- * Sets the URL specification.
- * This object must not be read-only.
- *
- * @param value the URL specification.
- * May be <code>null</code>.
- */
-public void setURL(String value) {
- assertIsWriteable();
- url = value;
-}
-
-}
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html
deleted file mode 100644
index e25bcaf..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/model/package.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides core support for the modeling plug-ins and the plug-in registry.
-<h2>Package Specification</h2>
-This package specifies the runtime API related to modeling plug-ins and the plug-in
-registry. The types provided here are typically data containers and have very little
-behaviour other than setters and getters. They are primarily intended for clients writing
-tools which manipulate/change registry entries as part of their normal work.
-
-</body>
-</html>
diff --git a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html b/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html
deleted file mode 100644
index c11e920..0000000
--- a/bundles/org.eclipse.core.runtime/src/org/eclipse/core/runtime/package.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides core support for plug-ins and the plug-in registry.
-<h2>
-Package Specification</h2>
-This package specifies the API related to running the platform itself. This includes
-area such as the definition and management of plug-ins and the starting, stopping and maintaining the
-platform itself. In addition, this API supplies various utility types such as <tt>Path</tt>,
-<tt>IPath</tt> and various flavours of progress monitors.
-<p>
-Clients writing plug-ins or accessing plug-in functionality will likely be interested in the types
-provided by this package.
-</p>
-</body>
-</html>
diff --git a/tests/org.eclipse.core.tests.runtime/.classpath b/tests/org.eclipse.core.tests.runtime/.classpath
deleted file mode 100644
index 2bda792..0000000
--- a/tests/org.eclipse.core.tests.runtime/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
- <classpathentry kind="src" path="/org.eclipse.core.boot"/>
- <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
- <classpathentry kind="src" path="/org.eclipse.core.tests.harness"/>
- <classpathentry kind="src" path="/org.eclipse.core.resources"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="src" path="/org.apache.xerces"/>
- <classpathentry kind="src" path="/org.junit"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/tests/org.eclipse.core.tests.runtime/.cvsignore b/tests/org.eclipse.core.tests.runtime/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/.project b/tests/org.eclipse.core.tests.runtime/.project
deleted file mode 100644
index e59a007..0000000
--- a/tests/org.eclipse.core.tests.runtime/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.core.tests.runtime</name>
- <comment></comment>
- <projects>
- <project>org.apache.xerces</project>
- <project>org.eclipse.core.boot</project>
- <project>org.eclipse.core.resources</project>
- <project>org.eclipse.core.runtime</project>
- <project>org.eclipse.core.tests.harness</project>
- <project>org.junit</project>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path
deleted file mode 100644
index 49b86e0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/20011219/eclipse/plugins/
-test=file:c:/LibraryLookupTests/JarLookupTests/
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml
deleted file mode 100644
index 9904fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="%pluginName"
- id="JarLookupTest1"
- version="1.0.0"
- provider-name="Object Technology International, Inc.">
-
- <runtime>
- <library name="$ws$/jarLookupTest1.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar
deleted file mode 100644
index 6e2a578..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest1/ws/win32/jarLookupTest1.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar
deleted file mode 100644
index db48b65..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/jarLookupTest2.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml
deleted file mode 100644
index e2b06ef..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="%pluginName"
- id="JarLookupTest2"
- version="1.0.0"
- provider-name="Object Technology International, Inc.">
-
- <runtime>
- <library name="$ws$/jarLookupTest2.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml
deleted file mode 100644
index 8f8e5ac..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="%pluginName"
- id="JarLookupTest3"
- version="1.0.0"
- provider-name="Object Technology International, Inc.">
-
- <runtime>
- <library name="$ws$/jarLookupTest3.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar
deleted file mode 100644
index e38f718..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest3/ws/jarLookupTest3.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar
deleted file mode 100644
index b773ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/os/win32/x86/jarLookupTest4.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml
deleted file mode 100644
index 524c9f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/LibraryLookupTests/JarLookupTests/jarLookupTest4/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="%pluginName"
- id="JarLookupTest4"
- version="1.0.0"
- provider-name="Object Technology International, Inc.">
-
- <runtime>
- <library name="$os$/jarLookupTest4.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt
deleted file mode 100644
index 18f4088..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/PR1GHFPFY.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-1GHFPFY: ITPCORE:ALL - fragment runtime libs added twice
-
-PRODUCT VERSION:
-0.9
-
-DESCRIPTION:
-
-When you have a runtime statement in a fragment, the library is added to the base plugin twice.
-
-NOTES:
-
-DDW (26/07/2001 11:32:17 AM)
- RegistryResolver was adding any fragment element to the relevant plugin twice (see
- resolvePluginRegistry). Fixed in 1.0 and current development stream.
-=======================================
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml
deleted file mode 100644
index 6ad2111..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/fragment/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHFPFY Fragment Test"
- id="PR1GHFPFYFragmentTest"
- plugin-id="PR1GHFPFYPluginTest"
- version="1.2"
- plugin-version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt3" name="Thirdextension point"/>
- <extension-point id="xpt4" name="Fourth extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml
deleted file mode 100644
index c0bbed4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionPointTest/plugin/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="PR1GHFPFY Plugin Test"
- id="PR1GHFPFYPluginTest"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension point"/>
- <extension-point id="xpt2" name="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml
deleted file mode 100644
index d025bf3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/fragment/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHFPFY Fragment Test"
- id="PR1GHFPFYFragmentTest"
- plugin-id="PR1GHFPFYPluginTest"
- version="1.2"
- plugin-version="1.2"
- vendor-name="OTI">
-
- <extension id="x3" name="Third extension" point="xpt4"/>
- <extension id="x4" name="Fourth extension" point="xpt3"/>
-
- <extension-point id="xpt3" name="Thirdextension point"/>
- <extension-point id="xpt4" name="Fourth extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml
deleted file mode 100644
index d87d9fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/extensionTest/plugin/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="PR1GHFPFY Plugin Test"
- id="PR1GHFPFYPluginTest"
- version="1.2"
- vendor-name="OTI">
-
- <extension id="x1" name="First extension" point="xpt1"/>
- <extension id="x2" name="Second extension" point="xpt2"/>
-
- <extension-point id="xpt1" name="First extension point"/>
- <extension-point id="xpt2" name="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml
deleted file mode 100644
index 7b3c731..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/fragment/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHFPFY Fragment Test"
- id="PR1GHFPFYFragmentTest"
- plugin-id="PR1GHFPFYPluginTest"
- version="1.2"
- plugin-version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- </library>
- <library name="lib4.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml
deleted file mode 100644
index e6c3798..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/libraryTest/plugin/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="PR1GHFPFY Plugin Test"
- id="PR1GHFPFYPluginTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar">
- <export name="a.b.C"/>
- </library>
- <library name="lib2.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml
deleted file mode 100644
index 5ed624e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/fragment/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHFPFY Fragment Test"
- id="PR1GHFPFYFragmentTest"
- plugin-id="PR1GHFPFYPluginTest"
- version="1.2"
- plugin-version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testc"/>
- <import plugin="testd" version="1.0.0"/>
- </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml
deleted file mode 100644
index 53e949a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/plugin/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="PR1GHFPFY Plugin Test"
- id="PR1GHFPFYPluginTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testa"/>
- <import plugin="testb" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml
deleted file mode 100644
index 472b689..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testa/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test A"
- id="testa"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml
deleted file mode 100644
index 58f769f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testb/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test B"
- id="testb"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml
deleted file mode 100644
index 93fff08..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testc/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test C"
- id="testc"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml
deleted file mode 100644
index c1016e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHFPFYTest/requiresTest/testd/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test D"
- id="testd"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt
deleted file mode 100644
index 6d06e7b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/PR1GHH81D.txt
+++ /dev/null
@@ -1,12 +0,0 @@
-1GHH81D: ITPCORE:WIN2000 - Multiple versions of fragments not handled properly
-
-PRODUCT VERSION:
-0.9
-
-DESCRIPTION:
-If you have muliple fragments with the same id but each with a different version number, we will
-non-deterministically pick one of these fragments to augment the related plugin.
-
-NOTES:
-
-=======================================
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml
deleted file mode 100644
index b1cf67d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment1.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHH81D Fragment Test"
- id="PR1GHH81DFragmentTest"
- plugin-id="PR1GHH81DPluginTest"
- version="1.2"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- </library>
- <library name="lib4.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml
deleted file mode 100644
index 7a200e4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment2.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHH81D Fragment Test"
- id="PR1GHH81DFragmentTest"
- plugin-id="PR1GHH81DPluginTest"
- version="1.8"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib5.jar">
- <export name="a.b.C"/>
- </library>
- <library name="lib6.jar"/>
- <library name="lib7.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml
deleted file mode 100644
index 9e8b5f8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="PR1GHH81D Fragment Test"
- id="PR1GHH81DFragmentTest"
- plugin-id="PR1GHH81DPluginTest"
- version="1.0"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib8.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml
deleted file mode 100644
index d92a2d2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/PR1GHH81DTest/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="PR1GHH81D Plugin Test"
- id="PR1GHH81DPluginTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar">
- <export name="a.b.C"/>
- </library>
- <library name="lib2.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml
deleted file mode 100644
index 025be0b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent1AttributesTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component
- name="Bad Component 1 Attributes Test"
- id="badComponent1AttributesTest"
- version="1.2"
- vendor-name="OTI"
- a-bad-attribute="nothing">
-
-</component>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml
deleted file mode 100644
index 181f1c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent2AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component
- name="Bad Component 2 Attributes Test"
- id="badComponent2AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <plugin
- name="A component plugin"
- id="aComponentPlugin"
- version="0.1"
- vendor-name="OTI">
- </plugin>
-
-</component>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml
deleted file mode 100644
index dcb9b5c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badComponent3AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<component
- name="Bad Component 3 Attributes Test"
- id="badComponent3AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <fragment
- name="A component fragment"
- id="aComponentFragment"
- version="0.1"
- vendor-name="OTI">
- </fragment>
-
-</component>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml
deleted file mode 100644
index dc90459..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badConfigurationAttributesTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<configuration
- name="Bad ConfigurationAttributes Test"
- id="badConfigurationAttributesTest"
- version="1.2"
- vendor-name="OTI"
- a-bad-attribute="nothing">
-
-</configuration>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml
deleted file mode 100644
index ef14f56..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionAttributesTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Extension Attributes Test"
- id="badExtensionAttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <extension point="xpt1" id="ext1" hello="world" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml
deleted file mode 100644
index 6a9268f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointAttributesTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Extension Point Attributes Test"
- id="badExtensionPointAttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension point" bogusAttribute="nothing" schema="pde\xpt1.xml"/>
- <extension-point id="xpt2" somethingElse="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml
deleted file mode 100644
index fde9b7c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badExtensionPointElementsTest.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Extension Point Elements Test"
- id="badExtensionPointElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml">
- <nameless name="noname"/>
- </extension-point>
- <extension-point id="xpt2" somethingElse="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml
deleted file mode 100644
index 686207c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment1AttributesTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Bad Fragment 1 Attributes Test"
- id="badFragment1AttributesTest"
- version="1.2"
- vendor-name="OTI"
- plugin-id="aPlugin"
- plugin-version="1.1.1"
- a-bad-attribute="nothing">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml
deleted file mode 100644
index 7af2f05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragment2AttributesTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Bad Fragment 2 Attributes Test"
- id="badFragment2AttributesTest"
- version="1.2"
- plugin-id="aPlugin"
- plugin-version="1.1.1"
- match="nothing">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml
deleted file mode 100644
index 110dfe0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentPluginVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Bad Fragment Plugin Version Test"
- id="BadFragmentPluginVersionTest"
- version="1.2.0"
- plugin-id="aPlugin"
- plugin-version="1.1.bad">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml
deleted file mode 100644
index a682ca1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Bad Fragment Version Test"
- id="BadFragmentVersionTest"
- version="1.2.bad"
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml
deleted file mode 100644
index ec9d274..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Fragments Plugin Test"
- id="badFragmentsPluginTest"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml
deleted file mode 100644
index 1c4c941..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badFragmentsTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Bug Fragment"
- id="badFragmentsTest"
- version="1.0.0"
- plugin-id="org.eclipse.not.there"
- plugin-version="1.0.0">
- <runtime>
- <library name="bug.jar"/>
- </runtime>
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml
deleted file mode 100644
index c823add..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1AttributesTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Library 1 Attributes Test"
- id="badLibrary1AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar" badAttribute="rudeness">
- <export name="a"/>
- <export name="*"/>
- <export name="b"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml
deleted file mode 100644
index 752d348..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary1ElementsTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Library 1 Elements Test"
- id="badLibrary1ElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <notAnExport name="a"/>
- <export name="*"/>
- <export name="b"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml
deleted file mode 100644
index 605ba06..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2AttributesTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Library 2 Attributes Test"
- id="badLibrary2AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="a"/>
- <export badExportAttribute="nothing"/>
- <export name="b"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml
deleted file mode 100644
index 6fb4124..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary2ElementsTest.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Library 2 Elements Test"
- id="badLibrary2ElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="a">
- <badElement name="noname"/>
- </export>
- <export name="*"/>
- <export name="b"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml
deleted file mode 100644
index 84153b9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badLibrary3AttributesTest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Library 3 Attributes Test"
- id="badLibrary3AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar" type="source"/>
- <library name="lib2.jar">
- <export name="a"/>
- <export name="b"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml
deleted file mode 100644
index cc9fadc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginAttributesTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Attributes Test"
- id="badPluginAttributesTest"
- version="1.2"
- vendor-name="OTI"
- a-bad-attribute="nothing">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml
deleted file mode 100644
index 805ebc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginElementsTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Elements Test"
- id="badPluginElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <somethingBad>
- </somethingBad>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml
deleted file mode 100644
index 3f4c5db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Version 2 Test"
- id="BadPluginVersion2Test"
- version="1.bad.0"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml
deleted file mode 100644
index 4e7a922..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion3Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Version 3 Test"
- id="BadPluginVersion3Test"
- version="..."
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml
deleted file mode 100644
index b0b01c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion4Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Version 4 Test"
- id="BadPluginVersion4Test"
- version="one"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml
deleted file mode 100644
index 3c9d4f8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersion5Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Version 5 Test"
- id="BadPluginVersion5Test"
- version="1.2.3.4.5"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml
deleted file mode 100644
index 9bd1210..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badPluginVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Plugin Version Test"
- id="BadPluginVersionTest"
- version="1.2.bad"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml
deleted file mode 100644
index 5d40f9f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresElementsTest.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Requires Elements Test"
- id="badRequiresElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="firstPrerequisite"/>
- <import plugin="secondPrerequisite" version="1.0.0"/>
- <import plugin="thirdPrerequisite"/>
- <notAnImport plugin="badPrerequisite"/>
- <import plugin="fourthPrerequisite"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml
deleted file mode 100644
index 3efefc7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport1AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Requires Import 1 Attributes Test"
- id="badRequiresImport1AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="firstPrerequisite"/>
- <import plugin="secondPrerequisite" version="1.0.0"/>
- <import plugin="thirdPrerequisite"/>
- <import plugin="fourthPrerequisite" badImportAttr="notGood"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml
deleted file mode 100644
index 70d4683..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport2AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Requires Import 2 Attributes Test"
- id="badRequiresImport2AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="firstPrerequisite"/>
- <import plugin="secondPrerequisite" version="1.0.0"/>
- <import plugin="thirdPrerequisite"/>
- <import plugin="fifthPrerequisite" export="notTrue"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml
deleted file mode 100644
index 65cf8b1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImport3AttributesTest.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Requires Import 3 Attributes Test"
- id="badRequiresImport3AttributesTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="firstPrerequisite"/>
- <import plugin="secondPrerequisite" version="1.0.0"/>
- <import plugin="thirdPrerequisite"/>
- <import plugin="sixthPrerequisite" version="6.9.10" match="incompatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml
deleted file mode 100644
index ec577a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRequiresImportElementsTest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Requires Import Elements Test"
- id="badRequiresImportElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="firstPrerequisite"/>
- <import plugin="secondPrerequisite" version="1.0.0"/>
- <import plugin="thirdPrerequisite">
- <unrecognizedElement name="noname"/>
- </import>
- <import plugin="fourthPrerequisite"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml
deleted file mode 100644
index 935e4bf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badRuntimeElementsTest.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Bad Runtime Elements Test"
- id="badRuntimeElementsTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="*"/>
- <export name="b"/>
- </library>
- <notALibrary/>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml
deleted file mode 100644
index c12c7d4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/badTopLevelElementsTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<notAPlugin
- name="Bad Top Level Elements Test"
- id="badTopLevelElementsTest"
- version="1.2"
- vendor-name="OTI">
-</notAPlugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml
deleted file mode 100644
index 3515b54..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentIdTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Blank Fragment Id Test"
- id=""
- version="1.2"
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml
deleted file mode 100644
index b9385f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentNameTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name=""
- id="BlankFragmentNameTest"
- version="1.2"
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml
deleted file mode 100644
index 9ba5493..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginIdTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Blank Fragment Plugin Id Test"
- id="BlankFragmentPluginIdTest"
- version="1.2.0"
- plugin-id=""
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml
deleted file mode 100644
index 3f5f2fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentPluginVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Blank Fragment Plugin Version Test"
- id="BlankFragmentPluginVersionTest"
- version="1.2.0"
- plugin-id="aPlugin"
- plugin-version="">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml
deleted file mode 100644
index 60c2f88..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankFragmentVersionTest.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Blank Fragment Version Test"
- id="BlankFragmentVersionTest"
- version=""
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml
deleted file mode 100644
index 3a9ba48..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginIdTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Blank Plugin Id Test"
- id=""
- version="1.2"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml
deleted file mode 100644
index 5be0733..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginNameTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name=""
- id="BlankPluginNameTest"
- version="1.2"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml
deleted file mode 100644
index 91c32da..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/blankPluginVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Blank Plugin Version Test"
- id="BlankPluginVersionTest"
- version=""
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml
deleted file mode 100644
index 9666fbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Duplicate Plugin Test"
- id="duplicatePluginTest"
- version="1.2"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml
deleted file mode 100644
index 9666fbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/duplicatePlugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Duplicate Plugin Test"
- id="duplicatePluginTest"
- version="1.2"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml
deleted file mode 100644
index 543537d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/fragment10799.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment 10799"
- id="fragment10799"
- version="1.0.0"
- plugin-id="badFragmentsPluginTest"
- plugin-version="1.2.0">
-
- <requires>
- <import plugin="org.apache.something.which.does.not.exist"/>
- </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml
deleted file mode 100644
index 86f6199..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentIdTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="No Fragment Id Test"
- version="1.2"
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml
deleted file mode 100644
index 6a809c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentNameTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- id="NoFragmentNameTest"
- version="1.2"
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml
deleted file mode 100644
index 4a5ac0a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginIdTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="No Fragment Plugin Id Test"
- id="NoFragmentPluginIdTest"
- version="1.2.0"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml
deleted file mode 100644
index 8cfbf92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentPluginVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="No Fragment Plugin Version Test"
- id="NoFragmentPluginVersionTest"
- version="1.2.0"
- plugin-id="aPlugin">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml
deleted file mode 100644
index 9db72ac..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noFragmentVersionTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="No Fragment Version Test"
- id="NoFragmentVersionTest"
- plugin-id="aPlugin"
- plugin-version="1.1.1">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml
deleted file mode 100644
index 136cbb4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginIdTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="No Plugin Id Test"
- version="1.2"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml
deleted file mode 100644
index 7151477..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginNameTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- id="NoPluginNameTest"
- version="1.2"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml
deleted file mode 100644
index 8bfdcaa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/badPluginsTest/noPluginVersionTest.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="No Plugin Version Test"
- id="NoPluginVersionTest"
- provider-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml
deleted file mode 100644
index 726293a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.a.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml
deleted file mode 100644
index f1d3bc0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.b.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.a"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml
deleted file mode 100644
index 2502f47..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/circular/tests.top.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.top"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.a"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index d78b063..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 4ce2949..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.1/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 21aeac9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- <import plugin="tests.d" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index d78b063..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 4ce2949..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 1475e20..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.2/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.f" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 2dc8e44..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.3/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.f"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.0.0"/>
- <import plugin="tests.d" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.f" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 3e40463..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.4/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.f"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- <import plugin="tests.d" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.f" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 7a3a0ca..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.5/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.f"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.0.0" optional="true"/>
- <import plugin="tests.d" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.f" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 9ba1f6d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.6/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.f"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0" optional="true"/>
- <import plugin="tests.d" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml
deleted file mode 100644
index 2615913..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml
deleted file mode 100644
index 41554fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 3808bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml
deleted file mode 100644
index b1ec236..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 2615c1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index 43fc285..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index 884e4d0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml
deleted file mode 100644
index 5d5dfcc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.e_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.f" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml
deleted file mode 100644
index 66c7c7c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/conflictResolve.7/tests.f_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.f"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- <import plugin="tests.d" version="2.0.0" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml
deleted file mode 100644
index c59841b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension 1 Test"
- id="extension1Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension id="xpt1" name="First extension" point="firstPoint"/>
- <extension id="xpt2" name="Second extension" point="secondPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml
deleted file mode 100644
index f33a0cf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension 2 Test"
- id="extension2Test"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml
deleted file mode 100644
index 060dfaa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension3Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension 3 Test"
- id="extension3Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension id="xpt1" name="First extension" point="firstPoint"/>
- <extension id="xpt2" name="Second extension" point="secondPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml
deleted file mode 100644
index 6ebbd63..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension4Test.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension 4 Test"
- id="extension4Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension id="xpt1" name="First extension" point="firstPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml
deleted file mode 100644
index 0550c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extension5Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension5 Test"
- id="extension5Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension id="xpt1" name="First extension" point="firstPoint"/>
- <extension id="xpt2" name="Second extension" point="secondPoint"/>
- <extension id="xpt4" name="Fourth extension" point="fourthPoint"/>
- <extension id="xpt6" name="Sixth extension" point="sixthPoint"/>
- <extension id="xpt8" name="Eighth extension" point="eighthPoint"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml
deleted file mode 100644
index 58033bd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension Point 1 Test"
- id="extensionPoint1Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml"/>
- <extension-point id="xpt2" name="Second extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml
deleted file mode 100644
index 5205e83..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension Point 2 Test"
- id="extensionPoint2Test"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml
deleted file mode 100644
index 3b3bd69..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension Point 3 Test"
- id="extensionPoint3Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension" schema="pde\xpt1.xml"/>
- <extension-point id="xpt2" name="Second extension"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml
deleted file mode 100644
index 1807896..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension Point 4 Test"
- id="extensionPoint4Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml
deleted file mode 100644
index 7c8a9f4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Extension Point 5 Test"
- id="extensionPoint5Test"
- version="1.2"
- vendor-name="OTI">
-
- <extension-point id="xpt1" name="First extension point" schema="pde\xpt1.xml"/>
- <extension-point id="xpt2" name="Second extension point"/>
- <extension-point id="xpt4" name="Fourth extension point"/>
- <extension-point id="xpt6" name="Sixth extension point"/>
- <extension-point id="xpt8" name="Eighth extension point"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml
deleted file mode 100644
index 5f49bd1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension 1 Test"
- id="fragmentExtension1Test"
- version="1.0"
- plugin-id="extension1Test"
- plugin-version="1.2">
-
- <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml
deleted file mode 100644
index 05ef691..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension 2 Test"
- id="fragmentExtension2Test"
- version="1.0"
- plugin-id="extension2Test"
- plugin-version="1.2">
-
- <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml
deleted file mode 100644
index 5ffff30..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension 3 Test"
- id="fragmentExtension3Test"
- version="1.0"
- plugin-id="extension3Test"
- plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml
deleted file mode 100644
index 26db7aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension 4 Test"
- id="fragmentExtension4Test"
- version="1.0"
- plugin-id="extension4Test"
- plugin-version="1.2">
-
- <extension id="xpt3" name="Third extension" point="thirdPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml
deleted file mode 100644
index ca6456a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension 5 Test"
- id="fragmentExtension5Test"
- version="1.0"
- plugin-id="extension5Test"
- plugin-version="1.2">
-
- <extension id="xpt3" name="Third extension" point="thirdPoint"/>
- <extension id="xpt5" name="Fifth extension " point="fifthPoint"/>
- <extension id="xpt7" name="Seventh extension" point="seventhPoint"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml
deleted file mode 100644
index a6fbd0f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension Point 1 Test"
- id="fragmentExtensionPoint1Test"
- version="1.0"
- plugin-id="extensionPoint1Test"
- plugin-version="1.2">
-
- <extension-point id="xpt3" name="Third extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml
deleted file mode 100644
index 2faca4f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension Point 2 Test"
- id="fragmentExtensionPoint2Test"
- version="1.0"
- plugin-id="extensionPoint2Test"
- plugin-version="1.2">
-
- <extension-point id="xpt3" name="Third extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml
deleted file mode 100644
index e017200..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension Point 3 Test"
- id="fragmentExtensionPoint3Test"
- version="1.0"
- plugin-id="extensionPoint3Test"
- plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml
deleted file mode 100644
index f0652a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension Point 4 Test"
- id="fragmentExtensionPoint4Test"
- version="1.0"
- plugin-id="extensionPoint4Test"
- plugin-version="1.2">
-
- <extension-point id="xpt3" name="Third extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml
deleted file mode 100644
index fab5155..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Extension Point 5 Test"
- id="fragmentExtensionPoint5Test"
- version="1.0"
- plugin-id="extensionPoint5Test"
- plugin-version="1.2">
-
- <extension-point id="xpt3" name="Third extension point"/>
- <extension-point id="xpt5" name="Fifth extension point"/>
- <extension-point id="xpt7" name="Seventh extension point"/>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml
deleted file mode 100644
index 851b253..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Library 1 Test"
- id="fragmentLibrary1Test"
- version="1.0"
- plugin-id="library1Test"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib3.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml
deleted file mode 100644
index 75fc8a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Library 2 Test"
- id="fragmentLibrary2Test"
- version="1.0"
- plugin-id="library2Test"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib3.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml
deleted file mode 100644
index 3266163..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Library 3 Test"
- id="fragmentLibrary3Test"
- version="1.0"
- plugin-id="library3Test"
- plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml
deleted file mode 100644
index 0ecc6a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Library 4 Test"
- id="fragmentLibrary4Test"
- version="1.0"
- plugin-id="library4Test"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib3.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml
deleted file mode 100644
index 50be84d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Library 5 Test"
- id="fragmentLibrary5Test"
- version="1.0"
- plugin-id="library5Test"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib3.jar"/>
- <library name="lib5.jar"/>
- <library name="lib7.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml
deleted file mode 100644
index 391375c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Requires 1 Test"
- id="fragmentRequires1Test"
- version="1.0"
- plugin-id="requires1Test"
- plugin-version="1.2">
-
- <requires>
- <import plugin="plugin3"/>
- </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml
deleted file mode 100644
index abe986a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Requires 2 Test"
- id="fragmentRequires2Test"
- version="1.0"
- plugin-id="requires2Test"
- plugin-version="1.2">
-
- <requires>
- <import plugin="plugin3"/>
- </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml
deleted file mode 100644
index a87390a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Requires 3 Test"
- id="fragmentRequires3Test"
- version="1.0"
- plugin-id="requires3Test"
- plugin-version="1.2">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml
deleted file mode 100644
index ad63094..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Requires 4 Test"
- id="fragmentRequires4Test"
- version="1.0"
- plugin-id="requires4Test"
- plugin-version="1.2">
-
- <requires>
- <import plugin="plugin3"/>
- </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml
deleted file mode 100644
index 18df74a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Requires 5 Test"
- id="fragmentRequires5Test"
- version="1.0"
- plugin-id="requires5Test"
- plugin-version="1.2">
-
- <requires>
- <import plugin="plugin3"/>
- <import plugin="plugin5"/>
- <import plugin="plugin7"/>
- </requires>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml
deleted file mode 100644
index 0161534..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Library 1 Test"
- id="library1Test"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml
deleted file mode 100644
index 370cccd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Library 2 Test"
- id="library2Test"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml
deleted file mode 100644
index 0d9b4a7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library3Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Library 3 Test"
- id="library3Test"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml
deleted file mode 100644
index 8f7e4b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library4Test.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Library 4 Test"
- id="library4Test"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml
deleted file mode 100644
index 30210ce..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/library5Test.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Library 5 Test"
- id="library5Test"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib4.jar"/>
- <library name="lib6.jar"/>
- <library name="lib8.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml
deleted file mode 100644
index ce69681..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 1"
- id="plugin1"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml
deleted file mode 100644
index f02d315..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 2"
- id="plugin2"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml
deleted file mode 100644
index c4157aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 3"
- id="plugin3"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml
deleted file mode 100644
index 247c642..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 4"
- id="plugin4"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml
deleted file mode 100644
index ae3c4ee..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 5"
- id="plugin5"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml
deleted file mode 100644
index 24827d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin6.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 6"
- id="plugin6"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml
deleted file mode 100644
index f71d72d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin7.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 7"
- id="plugin7"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml
deleted file mode 100644
index 42a41c6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/plugin8.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin 8"
- id="plugin8"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml
deleted file mode 100644
index 6efacb6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires1Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Requires 1 Test"
- id="requires1Test"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="plugin1"/>
- <import plugin="plugin2"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml
deleted file mode 100644
index 61bbfcd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires2Test.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Requires 2 Test"
- id="requires2Test"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml
deleted file mode 100644
index ca524d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires3Test.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Requires 3 Test"
- id="requires3Test"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="plugin1"/>
- <import plugin="plugin2"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml
deleted file mode 100644
index 3286127..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires4Test.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Requires 4 Test"
- id="requires4Test"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="plugin1"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml
deleted file mode 100644
index c7ebbfc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveFragmentTest/requires5Test.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Requires 5 Test"
- id="requires5Test"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="plugin1"/>
- <import plugin="plugin2"/>
- <import plugin="plugin4"/>
- <import plugin="plugin6"/>
- <import plugin="plugin8"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml
deleted file mode 100644
index 6f7aaf2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Empty Library Test"
- id="emptyLibraryTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library />
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml
deleted file mode 100644
index d4eeade..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Multi Library Multi Export Test"
- id="multiLibraryMultiExportTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="a"/>
- <export name="*"/>
- <export name="b"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- <export name="a.b.D"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml
deleted file mode 100644
index 42382c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Multi Library One Export Test"
- id="multiLibraryOneExportTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="*"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml
deleted file mode 100644
index 45b5d08..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="No Library Test"
- id="noLibraryTest"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml
deleted file mode 100644
index 2b07ee8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="One Library One Export 1Test"
- id="oneLibraryOneExport1Test"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib2.jar">
- <export name="*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml
deleted file mode 100644
index c59e9f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="One Library One Export 2 Test"
- id="oneLibraryOneExport2Test"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib2.jar">
- <export name="abc"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml
deleted file mode 100644
index fe18906..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="One Library Test"
- id="oneLibraryTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml
deleted file mode 100644
index 29de037..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Empty Requires Test"
- id="emptyRequiresTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml
deleted file mode 100644
index 596cfbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Export 1 Requires Test"
- id="export1RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml
deleted file mode 100644
index 05e5378..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Export 2 Requires Test"
- id="export2RequiresTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="tests.b" export="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml
deleted file mode 100644
index 57a7bce..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Export 3 Requires Test"
- id="export3RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b" export="false"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml
deleted file mode 100644
index 6b9cfba..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Export 4 Requires Test"
- id="export4RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.a" export="true"/>
- <import plugin="tests.b"/>
- <import plugin="tests.c" export="false"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml
deleted file mode 100644
index 9acc799..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Match 1 Requires Test"
- id="match1RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml
deleted file mode 100644
index 4b126c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Match 2 Requires Test"
- id="match2RequiresTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="tests.b" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml
deleted file mode 100644
index 641162c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Match 3 Requires Test"
- id="match3RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b" match="equivalent"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml
deleted file mode 100644
index 88c07e7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Match 4 Requires Test"
- id="match4RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.c" match="perfect"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml
deleted file mode 100644
index e516bd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Match 5 Requires Test"
- id="match5RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.c" match="greaterOrEqual"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml
deleted file mode 100644
index bef8be7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Match 6 Requires Test"
- id="match6RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.a"/>
- <import plugin="tests.b" match="greaterOrEqual"/>
- <import plugin="tests.c" match="compatible"/>
- <import plugin="tests.c" match="equivalent"/>
- <import plugin="tests.c" match="perfect"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml
deleted file mode 100644
index 95e34c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Multi Requires Test"
- id="multiRequiresTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="firstPrerequisite"/>
- <import plugin="secondPrerequisite" version="1.0.0"/>
- <import plugin="thirdPrerequisite"/>
- <import plugin="fourthPrerequisite"/>
- <import plugin="fifthPrerequisite"/>
- <import plugin="sixthPrerequisite" version="6.9.10"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml
deleted file mode 100644
index 09da86a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="No Requires Test"
- id="noRequiresTest"
- version="1.2"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml
deleted file mode 100644
index ced0aa9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="One Requires Test"
- id="oneRequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml
deleted file mode 100644
index 07fa43b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Optional 1 Requires Test"
- id="optional1RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml
deleted file mode 100644
index 89a014f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Optional 2 Requires Test"
- id="optional2RequiresTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml
deleted file mode 100644
index 4200c12..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Optional 3 Requires Test"
- id="optional3RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.b" optional="false"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml
deleted file mode 100644
index 4d9daea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Optional 4 Requires Test"
- id="optional4RequiresTest"
- version="1.2"
- vendor-name="OTI">
- <requires>
- <import plugin="tests.a" optional="true"/>
- <import plugin="tests.b"/>
- <import plugin="tests.c" optional="false"/>
- </requires>
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml
deleted file mode 100644
index 674f6e7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml
deleted file mode 100644
index 172403d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml
deleted file mode 100644
index 2032855..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml
deleted file mode 100644
index 81b22df..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.0">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml
deleted file mode 100644
index 675b4f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.1">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml
deleted file mode 100644
index 0d62ac1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.4">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml
deleted file mode 100644
index 6b4aad6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.8">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml
deleted file mode 100644
index d0fbf95..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml
deleted file mode 100644
index 3c4f7e9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.1/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.6"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml
deleted file mode 100644
index c8aaf35..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="5.9.8" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml
deleted file mode 100644
index 20dc058..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.3" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml
deleted file mode 100644
index cce7bd8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.4" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml
deleted file mode 100644
index 0e9316f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.0.0" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml
deleted file mode 100644
index 888fd54..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.4" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml
deleted file mode 100644
index 7b7f35b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.6.2" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml
deleted file mode 100644
index 59a3201..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.5.8" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml
deleted file mode 100644
index caa31a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.4.2" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml
deleted file mode 100644
index b7afcfc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.5.1" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml
deleted file mode 100644
index 92b034c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.8"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml
deleted file mode 100644
index 43cc24a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml
deleted file mode 100644
index 97e8cb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml
deleted file mode 100644
index 0c32796..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="3.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml
deleted file mode 100644
index c528461..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.10/plugin6.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="4.5.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml
deleted file mode 100644
index 4dbdb48..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml
deleted file mode 100644
index 54d1783..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/fragment2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.0.1"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml
deleted file mode 100644
index 204219f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.11/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin One"
- id="pluginOne"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml
deleted file mode 100644
index 4dbdb48..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml
deleted file mode 100644
index 54d1783..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.0.1"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml
deleted file mode 100644
index 81c5158..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment3.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.0.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml
deleted file mode 100644
index 93f98c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment4.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.1.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml
deleted file mode 100644
index f2d9044..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment5.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.7.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml
deleted file mode 100644
index f9785fb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment6.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.2.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- <library name="lib6.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml
deleted file mode 100644
index 9bb0b05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment7.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.4.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- <library name="lib6.jar"/>
- <library name="lib7.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml
deleted file mode 100644
index 36e637d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/fragment8.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.5.1"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- <library name="lib6.jar"/>
- <library name="lib7.jar"/>
- <library name="lib8.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml
deleted file mode 100644
index 204219f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.12/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin One"
- id="pluginOne"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml
deleted file mode 100644
index 4e1112a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.9.9"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml
deleted file mode 100644
index 346727f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment2.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="2.3.5"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml
deleted file mode 100644
index 3d57b34..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment21.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="3.0.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml
deleted file mode 100644
index f60a337..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment22.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="2.3.5"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- <library name="lib22.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml
deleted file mode 100644
index cfea91c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment23.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="2.5"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- <library name="lib22.jar"/>
- <library name="lib23.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml
deleted file mode 100644
index 852c238..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment24.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="1.1.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- <library name="lib22.jar"/>
- <library name="lib23.jar"/>
- <library name="lib24.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml
deleted file mode 100644
index e6a4152..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment25.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="1.7.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- <library name="lib22.jar"/>
- <library name="lib23.jar"/>
- <library name="lib24.jar"/>
- <library name="lib25.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml
deleted file mode 100644
index 68da0ab..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment26.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="2.9.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- <library name="lib22.jar"/>
- <library name="lib23.jar"/>
- <library name="lib24.jar"/>
- <library name="lib25.jar"/>
- <library name="lib26.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml
deleted file mode 100644
index f81a091..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment27.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Two"
- id="fragmentTwo"
- version="1.4.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib21.jar"/>
- <library name="lib22.jar"/>
- <library name="lib23.jar"/>
- <library name="lib24.jar"/>
- <library name="lib25.jar"/>
- <library name="lib26.jar"/>
- <library name="lib27.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml
deleted file mode 100644
index 619445f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment3.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="4.5"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml
deleted file mode 100644
index 93f98c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment4.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.1.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml
deleted file mode 100644
index 0a65e1c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment5.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="2.7.2"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml
deleted file mode 100644
index d41a851..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment6.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.9.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- <library name="lib6.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml
deleted file mode 100644
index 4587b01..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment7.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="3.4.0"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- <library name="lib6.jar"/>
- <library name="lib7.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml
deleted file mode 100644
index 36e637d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/fragment8.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment One"
- id="fragmentOne"
- version="1.5.1"
- plugin-id="pluginOne"
- plugin-version="1.2.5">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar"/>
- <library name="lib3.jar"/>
- <library name="lib4.jar"/>
- <library name="lib5.jar"/>
- <library name="lib6.jar"/>
- <library name="lib7.jar"/>
- <library name="lib8.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml
deleted file mode 100644
index 204219f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.13/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin One"
- id="pluginOne"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml
deleted file mode 100644
index 53b8fba..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.3">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml
deleted file mode 100644
index 7c28ebc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml
deleted file mode 100644
index 94727f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.1.1">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml
deleted file mode 100644
index 87caa3f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.5.0">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml
deleted file mode 100644
index 0d62ac1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.4">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml
deleted file mode 100644
index c852105..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.0">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml
deleted file mode 100644
index ce57d92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.4.0">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml
deleted file mode 100644
index 9f5741d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml
deleted file mode 100644
index 8882863..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml
deleted file mode 100644
index 568b52c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml
deleted file mode 100644
index bc9b794..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.2/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml
deleted file mode 100644
index d862a4e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml
deleted file mode 100644
index 1487052..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.2" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml
deleted file mode 100644
index 29b915b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml
deleted file mode 100644
index d343ad1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml
deleted file mode 100644
index 0e36c02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml
deleted file mode 100644
index 73ddfdc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.5.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml
deleted file mode 100644
index e9bbf5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.5.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml
deleted file mode 100644
index 7025238..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml
deleted file mode 100644
index b71cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.2.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml
deleted file mode 100644
index fe7cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.3/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml
deleted file mode 100644
index d862a4e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml
deleted file mode 100644
index 1487052..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.2" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml
deleted file mode 100644
index 29b915b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml
deleted file mode 100644
index d343ad1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml
deleted file mode 100644
index 0e36c02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml
deleted file mode 100644
index 73ddfdc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.5.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml
deleted file mode 100644
index e9bbf5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.5.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml
deleted file mode 100644
index 7025238..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.0" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml
deleted file mode 100644
index b71cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.2.1" match="perfect">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml
deleted file mode 100644
index fe7cd5a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml
deleted file mode 100644
index cd3271f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml
deleted file mode 100644
index 8360cc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.7"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml
deleted file mode 100644
index fc511f2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="3.0.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml
deleted file mode 100644
index 2d9d893..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.4/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="0.2.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml
deleted file mode 100644
index fbcd03f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3.2" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml
deleted file mode 100644
index de697ff..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment10.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.0" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml
deleted file mode 100644
index b03f827..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment11.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.2.5" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml
deleted file mode 100644
index ca52259..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment12.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.2.4" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml
deleted file mode 100644
index 781c12c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3.7" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml
deleted file mode 100644
index 6e4cc3a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.5" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml
deleted file mode 100644
index 36c09fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.8" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml
deleted file mode 100644
index 3131a96..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.2" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml
deleted file mode 100644
index 25fed6a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.0" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml
deleted file mode 100644
index 0504fc6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.5" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml
deleted file mode 100644
index a9380f5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.0" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml
deleted file mode 100644
index 533d770..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3.5" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.5/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml
deleted file mode 100644
index 5730093..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="5.9.8" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml
deleted file mode 100644
index 154160e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.3" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml
deleted file mode 100644
index 8a97b91..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.4" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml
deleted file mode 100644
index bf607bb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.0.0" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml
deleted file mode 100644
index cf652a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.4" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml
deleted file mode 100644
index 9f152b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.6.2" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml
deleted file mode 100644
index da66f16..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.5.8" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml
deleted file mode 100644
index 13bf9bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.4.2" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml
deleted file mode 100644
index b7afcfc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="4.5.1" match="equivalent">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml
deleted file mode 100644
index 92b034c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.8"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml
deleted file mode 100644
index 43cc24a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml
deleted file mode 100644
index 97e8cb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml
deleted file mode 100644
index 0c32796..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin5.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="3.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml
deleted file mode 100644
index c528461..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.6/plugin6.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="4.5.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml
deleted file mode 100644
index a4b7888..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml
deleted file mode 100644
index 30196b4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml
deleted file mode 100644
index f2dbf64..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml
deleted file mode 100644
index 2403f53..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.0" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml
deleted file mode 100644
index bc0e666..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.1" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml
deleted file mode 100644
index 439e209..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.4" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml
deleted file mode 100644
index df9da1e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.8" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml
deleted file mode 100644
index d0fbf95..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml
deleted file mode 100644
index 3c4f7e9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.7/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.6"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml
deleted file mode 100644
index b8bfdf5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.3" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml
deleted file mode 100644
index 91e851b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml
deleted file mode 100644
index a94f807..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.1.1" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml
deleted file mode 100644
index 089c2a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.5.0" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml
deleted file mode 100644
index 439e209..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.4" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml
deleted file mode 100644
index e810b11..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.0" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml
deleted file mode 100644
index 8e1bc73..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="2.4.0" match="compatible">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml
deleted file mode 100644
index 9f5741d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml
deleted file mode 100644
index 8882863..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin2.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml
deleted file mode 100644
index 568b52c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin3.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml
deleted file mode 100644
index bc9b794..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.8/plugin4.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml
deleted file mode 100644
index 01fd4f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment1.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3.2" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml
deleted file mode 100644
index c1990e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment10.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.0.0" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml
deleted file mode 100644
index e19e857..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment11.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.2.5" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml
deleted file mode 100644
index a3e2f8a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment12.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="3.2.4" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml
deleted file mode 100644
index a6cbe86..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment2.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3.7" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml
deleted file mode 100644
index d393397..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment3.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.5" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml
deleted file mode 100644
index ac51121..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment4.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.8" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml
deleted file mode 100644
index f06f169..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment5.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.2" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml
deleted file mode 100644
index 0e2984e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment6.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.2.0" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml
deleted file mode 100644
index 0d9124b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment7.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.5" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml
deleted file mode 100644
index eca71ad..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment8.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.1.0" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml
deleted file mode 100644
index 849b2f5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/fragment9.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Test"
- id="fragmentTest"
- version="1.0"
- plugin-id="tests.a"
- plugin-version="1.3.5" match="greaterOrEqual">
-
- <runtime>
- <library name="lib1.jar"/>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml
deleted file mode 100644
index 2a5f853..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/fragment.resolve.9/plugin1.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml
deleted file mode 100644
index cdbea99..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRequires/plugin.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Number of Requires Test"
- id="reqTest"
- version="1.2"
- vendor-name="OTI">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
- <requires>
- <import plugin="tests.a"/>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml
deleted file mode 100644
index fc36056..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/numberOfRuntimes/plugin.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Number of Runtime Test"
- id="runtimeTest"
- version="1.2"
- vendor-name="OTI">
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="*"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- </library>
- </runtime>
-
- <runtime>
- <library name="lib4.jar"/>
- <library name="lib5.jar">
- <export name="*"/>
- </library>
- <library name="lib6.jar">
- <export name="a.b.C"/>
- </library>
- <library name="lib7.jar"/>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml
deleted file mode 100644
index 8e33d5b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testa/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 1 A"
- id="testa"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testc"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml
deleted file mode 100644
index 9dfc1e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testb/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 1 B"
- id="testb"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testd"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml
deleted file mode 100644
index fa44d25..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testc/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 1 C"
- id="testc"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="teste"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml
deleted file mode 100644
index 278c60f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/testd/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 1 D"
- id="testd"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml
deleted file mode 100644
index 19dcdf8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.1/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 1 E"
- id="teste"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml
deleted file mode 100644
index 70aa8cc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 A"
- id="testa"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testc"/>
- <import plugin="testd"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml
deleted file mode 100644
index f83e93c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 B"
- id="testb"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="teste"/>
- <import plugin="testf"/>
- <import plugin="testg"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml
deleted file mode 100644
index 13265e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 C"
- id="testc"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testh"/>
- <import plugin="testi"/>
- <import plugin="testj"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml
deleted file mode 100644
index a0ae39d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testd/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 D"
- id="testd"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testk"/>
- <import plugin="testl"/>
- <import plugin="testm"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml
deleted file mode 100644
index 5054c41..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 E"
- id="teste"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml
deleted file mode 100644
index 9153a08..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 F"
- id="testf"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml
deleted file mode 100644
index c61fd06..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 G"
- id="testg"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml
deleted file mode 100644
index dcecdb6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 H"
- id="testh"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml
deleted file mode 100644
index 8aa8b5b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 I"
- id="testi"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml
deleted file mode 100644
index b86d81c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 J"
- id="testj"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml
deleted file mode 100644
index af61735..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testk/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 K"
- id="testk"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml
deleted file mode 100644
index 085d144..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testl/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 L"
- id="testl"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml
deleted file mode 100644
index cc0e18c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.2/testm/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 2 M"
- id="testm"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml
deleted file mode 100644
index bfcf523..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 A"
- id="testa"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testc"/>
- <import plugin="testd"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml
deleted file mode 100644
index c362676..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testa2/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 A2"
- id="testa2"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testd"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml
deleted file mode 100644
index 587e26e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 B"
- id="testb"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="teste"/>
- <import plugin="testf"/>
- <import plugin="testg"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml
deleted file mode 100644
index b7303a5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 C"
- id="testc"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testh"/>
- <import plugin="testi"/>
- <import plugin="testj"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml
deleted file mode 100644
index 746564d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testd/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 D"
- id="testd"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml
deleted file mode 100644
index e973d80..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 E"
- id="teste"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml
deleted file mode 100644
index b05267f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 F"
- id="testf"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml
deleted file mode 100644
index 781eaa3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 G"
- id="testg"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml
deleted file mode 100644
index e64b909..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 H"
- id="testh"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml
deleted file mode 100644
index 96b8228..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 I"
- id="testi"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml
deleted file mode 100644
index aebefb4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.3/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 3 J"
- id="testj"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml
deleted file mode 100644
index 4812cf4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testa/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 4 A"
- id="testa"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testc"/>
- <import plugin="testb"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml
deleted file mode 100644
index 7a7ffb7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testb/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 4 B"
- id="testb"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testd"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml
deleted file mode 100644
index b41413f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testc/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 4 C"
- id="testc"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="teste"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml
deleted file mode 100644
index 1c0b1ed..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/testd/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 4 D"
- id="testd"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml
deleted file mode 100644
index 284041c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.4/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 4 E"
- id="teste"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml
deleted file mode 100644
index 2786ee4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 A"
- id="testa"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testd"/>
- <import plugin="testc"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml
deleted file mode 100644
index 15bc6b8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 B"
- id="testb"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="teste"/>
- <import plugin="testf"/>
- <import plugin="testg"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml
deleted file mode 100644
index 87eb44d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 C"
- id="testc"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testh"/>
- <import plugin="testj"/>
- <import plugin="testi"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml
deleted file mode 100644
index 9270c2a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testd/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 D"
- id="testd"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testk"/>
- <import plugin="testl"/>
- <import plugin="testm"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml
deleted file mode 100644
index 365c77f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 E"
- id="teste"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml
deleted file mode 100644
index 7f59a34..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 F"
- id="testf"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml
deleted file mode 100644
index a9145b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 G"
- id="testg"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml
deleted file mode 100644
index d14177a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 H"
- id="testh"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml
deleted file mode 100644
index e337b7c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 I"
- id="testi"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml
deleted file mode 100644
index b68902a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 J"
- id="testj"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml
deleted file mode 100644
index 0e1ebde..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testk/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 K"
- id="testk"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml
deleted file mode 100644
index cc4c7cf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testl/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 L"
- id="testl"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml
deleted file mode 100644
index 92ae02e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.5/testm/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 5 M"
- id="testm"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml
deleted file mode 100644
index 465dfca..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 A"
- id="testa"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testd"/>
- <import plugin="testc"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml
deleted file mode 100644
index c5b7509..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testa2/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 A2"
- id="testa2"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testb"/>
- <import plugin="testd"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml
deleted file mode 100644
index ad08f62..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testb/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 B"
- id="testb"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="teste"/>
- <import plugin="testf"/>
- <import plugin="testg"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml
deleted file mode 100644
index 379c0a2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testc/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 C"
- id="testc"
- version="1.0.0"
- vendor-name="OTI">
-
- <requires>
- <import plugin="testh"/>
- <import plugin="testj"/>
- <import plugin="testi"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml
deleted file mode 100644
index c4e6773..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testd/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 D"
- id="testd"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml
deleted file mode 100644
index 3db6774..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/teste/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 E"
- id="teste"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml
deleted file mode 100644
index 2c2b5b1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testf/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 F"
- id="testf"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml
deleted file mode 100644
index 4bea7af..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testg/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 G"
- id="testg"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml
deleted file mode 100644
index 9fc306b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testh/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 H"
- id="testh"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml
deleted file mode 100644
index 652fb94..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testi/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 I"
- id="testi"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml
deleted file mode 100644
index bb2d110..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/orphan.6/testj/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Core Runtime Orphan Test 6 J"
- id="testj"
- version="1.0.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path
deleted file mode 100644
index 16127c5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/.plugin-path
+++ /dev/null
@@ -1 +0,0 @@
-test=file:c:/20020319/eclipse/plugins/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties
deleted file mode 100644
index 418f56b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml
deleted file mode 100644
index 692319e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="1.0"
- class="org.eclipse.core.tests.internal.plugin.a.PluginClass"
- vendor-name="IBM">
-
- <requires>
- <import plugin="plugin.b"/>
- </requires>
-
- <runtime>
- <library name="plugin_a.jar">
- <export name="org.eclipse.core.tests.internal.plugin.a.api.*"/>
- </library>
- </runtime>
-
- <extension-point id="case" name="CaseExtPt"/>
-
- <extension point="case" id="base">
- <test run="org.eclipse.core.tests.internal.plugin.a.BaseExtension"/>
- </extension>
-
- <extension point="case" id="referencePlugin">
- <test run="org.eclipse.core.tests.internal.plugin.a.ExtensionDirectCompilerReferenceToPluginClass"/>
- </extension>
-
- <extension point="case" id="referenceOther">
- <test run="org.eclipse.core.tests.internal.plugin.a.ExtensionDirectCompilerReferenceToOtherClass"/>
- </extension>
-
- <extension point="case" id="lookupPlugin">
- <test run="org.eclipse.core.tests.internal.plugin.a.ExtensionIndirectReferenceToPlugin"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar
deleted file mode 100644
index 64fed09..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar
deleted file mode 100644
index 97f6df5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.a/plugin_a_external.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties
deleted file mode 100644
index 418f56b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml
deleted file mode 100644
index d57b074..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin B"
- id="plugin.b"
- version="1.0"
- class="org.eclipse.core.tests.internal.plugin.b.PluginClass"
- vendor-name="IBM">
-
- <requires>
- <import plugin="plugin.c" export="true"/>
- <import plugin="plugin.d"/>
- </requires>
-
- <runtime>
- <library name="plugin_b.jar">
- <export name="org.eclipse.core.tests.internal.plugin.b.api.*"/>
- <export name="org.eclipse.core.tests.internal.plugin.b.PluginClass"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar
deleted file mode 100644
index 68d5189..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.b/plugin_b.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties
deleted file mode 100644
index 418f56b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml
deleted file mode 100644
index 5fa9a4d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin C"
- id="plugin.c"
- version="1.0"
- class="org.eclipse.core.tests.internal.plugin.c.PluginClass"
- vendor-name="IBM">
-
- <runtime>
- <library name="plugin_c.jar">
- <export name="org.eclipse.core.tests.internal.plugin.c.api.*"/>
- <export name="org.eclipse.core.tests.internal.plugin.c.ExportedClass"/>
- <export name="org.eclipse.core.tests.internal.plugins.TestClass"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar
deleted file mode 100644
index 108414e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.c/plugin_c.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml
deleted file mode 100644
index 8b2f1dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin D"
- id="plugin.d"
- version="1.0"
- class="org.eclipse.core.tests.internal.plugin.d.PluginClass"
- vendor-name="IBM">
-
- <runtime>
- <library name="plugin_d.jar">
- <export name="org.eclipse.core.tests.internal.plugin.d.api.*"/>
- <export name="org.eclipse.core.tests.internal.plugins.TestClass"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar
deleted file mode 100644
index fb24038..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/plugin_d.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties
deleted file mode 100644
index 38a30aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.activation.1/plugins/plugin.d/resource.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=resource.properties Test String
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path
deleted file mode 100644
index 0f1297e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.parser.1/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml
deleted file mode 100644
index e4abe83..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.1/plugin.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="plugins.parser.1"
- version="1.2"
- class="com.ibm.eclipse.MyClass"
- vendor-name="IBM">
-
- <requires>
- <import plugin="plugins.parser.2" version="3.7" export="true"/>
- <import plugin="plugins.parser.3"/>
- </requires>
-
- <runtime>
- <library name="lib1.jar"/>
- <library name="lib2.jar">
- <export name="*"/>
- </library>
- <library name="lib3.jar">
- <export name="a.b.C"/>
- </library>
- </runtime>
-
- <extension-point id="xpt1" name="First extension point" schema="pde/xpt1.xml"/>
- <extension-point id="xpt2" name="Second extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
- <extension point="plugins.parser.1.xpt1">
- <config id="2"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml
deleted file mode 100644
index aec78e2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="plugins.parser.2"
- version="3.7.9"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml
deleted file mode 100644
index ae389b7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.parser.1/plugins.parser.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="plugins.parser.3"
- version="1.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path
deleted file mode 100644
index 6347db6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.resolve.1/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 9b4e2d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.1/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path
deleted file mode 100644
index 1943c23..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.resolve.10/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml
deleted file mode 100644
index 0205bad..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.d"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml
deleted file mode 100644
index 1092985..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml
deleted file mode 100644
index ced5b43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.10/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.5"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.5" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.11/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml
deleted file mode 100644
index aabadc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 9b4e2d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.12/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml
deleted file mode 100644
index aabadc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.5" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.13/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml
deleted file mode 100644
index b2e0e2d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.5" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.14/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml
deleted file mode 100644
index b2e0e2d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml
deleted file mode 100644
index aabadc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6efef81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.5" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.15/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml
deleted file mode 100644
index 6ca139d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.0.1" match="perfect"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml
deleted file mode 100644
index dbd23be..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.16/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml
deleted file mode 100644
index 6ca139d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.0.1" match="perfect"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.17/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml
deleted file mode 100644
index f851fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.0.1" match="equivalent"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.18/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml
deleted file mode 100644
index f851fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.0.1" match="equivalent"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml
deleted file mode 100644
index 2ad03bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml
deleted file mode 100644
index dbd23be..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml
deleted file mode 100644
index 1fdeaaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.0.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.0.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.19/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path
deleted file mode 100644
index 3a1b638..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.resolve.2/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml
deleted file mode 100644
index 3b209d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml
deleted file mode 100644
index f551f66..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.1"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml
deleted file mode 100644
index f0de7fc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.a_1.2.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index ec9bc5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 0429290..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index 774276c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml
deleted file mode 100644
index 7b845e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.0.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6c425fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index c4cfdc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 58b3262..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index a2d7ac2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml
deleted file mode 100644
index 6c77f9c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_1.1.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.1"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index adb384d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml
deleted file mode 100644
index 9f3584b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml
deleted file mode 100644
index 55b7e92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml
deleted file mode 100644
index 4d01e43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_1.2.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.2.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml
deleted file mode 100644
index c2ba37e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml
deleted file mode 100644
index 1f0e387..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.2/tests.e_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml
deleted file mode 100644
index f851fc2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.0.1" match="equivalent"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.20/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.21/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.22/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.23/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.24/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml
deleted file mode 100644
index 38c53f7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.25/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml
deleted file mode 100644
index 795d7ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="greaterOrEqual"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.26/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml
deleted file mode 100644
index 795d7ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="greaterOrEqual"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.27/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml
deleted file mode 100644
index 795d7ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3" match="greaterOrEqual"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.28/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.29/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path
deleted file mode 100644
index a4505fb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.resolve.3/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml
deleted file mode 100644
index ea9af8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="b" version="2.1.0" match="exact"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml
deleted file mode 100644
index f551f66..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.a_1.2.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.1"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index ec9bc5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 0429290..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index 774276c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml
deleted file mode 100644
index 7b845e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.0.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6c425fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index e2a0490..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id=tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 58b3262..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index a2d7ac2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml
deleted file mode 100644
index 6c77f9c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_1.1.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.1"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index adb384d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml
deleted file mode 100644
index 9f3584b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml
deleted file mode 100644
index 55b7e92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml
deleted file mode 100644
index 4d01e43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_1.2.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.2.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml
deleted file mode 100644
index c2ba37e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml
deleted file mode 100644
index 1f0e387..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.3/tests.e_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.30/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.31/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml
deleted file mode 100644
index ac7c8e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml
deleted file mode 100644
index b1c1568..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.2.4/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.4"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml
deleted file mode 100644
index 79f64db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_2.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.32/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml
deleted file mode 100644
index af78801..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.2.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 87ef40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml
deleted file mode 100644
index 8eb8bb2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.33/tests.b_3.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path
deleted file mode 100644
index fa360bb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000
-base=file:c:/eclipse/plugins/;
-test=file:d:/Plugin_Testing/plugins.resolve.4/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml
deleted file mode 100644
index ba70412..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.0" match="exact"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index ec9bc5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 0429290..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index 774276c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml
deleted file mode 100644
index 7b845e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.0.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6c425fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index c4cfdc5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml
deleted file mode 100644
index 58b3262..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml
deleted file mode 100644
index a2d7ac2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml
deleted file mode 100644
index 6c77f9c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_1.1.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.1.1"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml
deleted file mode 100644
index adb384d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.e" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml
deleted file mode 100644
index 9f3584b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml
deleted file mode 100644
index 55b7e92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml
deleted file mode 100644
index 4d01e43..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_1.2.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="1.2.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml
deleted file mode 100644
index c2ba37e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml
deleted file mode 100644
index 1f0e387..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.4/tests.e_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.e"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path
deleted file mode 100644
index ab507fe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;
-test=file:d:/Plugin_Testing/plugins.resolve.5/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml
deleted file mode 100644
index 726293a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml
deleted file mode 100644
index 00ac852..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml
deleted file mode 100644
index abab4b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.c/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml
deleted file mode 100644
index e8692e7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.5/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path
deleted file mode 100644
index b7bdbe2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.resolve.6/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml
deleted file mode 100644
index f430cd4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml
deleted file mode 100644
index fa2c0f1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml
deleted file mode 100644
index 1964bfe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_1.0.9/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.9"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml
deleted file mode 100644
index cb8300a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.6/tests.c_2.5.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.5.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path
deleted file mode 100644
index d380b61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;
-test=file:d:/Plugin_Testing/plugins.resolve.7/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml
deleted file mode 100644
index f430cd4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml
deleted file mode 100644
index fa2c0f1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml
deleted file mode 100644
index 1964bfe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_1.0.9/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.9"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml
deleted file mode 100644
index 57fac41..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.7/tests.c_2.5.0/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id=tests.c"
- version="2.5.0"
- vendor-name="IBM">
-
- <extension-point id="point1"/>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path
deleted file mode 100644
index 570a4d6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;
-test=file:d:/Plugin_Testing/plugins.resolve.8/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml
deleted file mode 100644
index f430cd4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml
deleted file mode 100644
index 8a00594..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.b/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="3.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml
deleted file mode 100644
index 1964bfe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_1.0.9/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.9"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml
deleted file mode 100644
index cb8300a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.8/tests.c_2.5.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.5.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path
deleted file mode 100644
index 6347db6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000
-base=file:c:/eclipse/plugins/
-test=file:d:/Plugin_Testing/plugins.resolve.1/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml
deleted file mode 100644
index d51f5c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- <import plugin="tests.c" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 9b4e2d7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index b140ab0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.d" version="1.0.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml
deleted file mode 100644
index cf9d0a9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.c_2.0.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml
deleted file mode 100644
index 4ce2949..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml
deleted file mode 100644
index ed4f080..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.resolve.9/tests.d_2.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path
deleted file mode 100644
index 3e60d07..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/.plugin-path
+++ /dev/null
@@ -1,2 +0,0 @@
-base=file:c:/eclipse/plugins/;
-test=file:d:/Plugin_Testing/plugins.version.1/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml
deleted file mode 100644
index 6277eb1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml
deleted file mode 100644
index 6277eb1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml
deleted file mode 100644
index dc33914..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="1.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml
deleted file mode 100644
index 9547280..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml
deleted file mode 100644
index bcf9fdd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml
deleted file mode 100644
index bcf9fdd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.0_copy/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml
deleted file mode 100644
index f7dcbbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.a_2.0.15/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="plugin.a"
- version="2.0.15"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml
deleted file mode 100644
index 443c560..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.1/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="next.1"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="plugin.a" version="1.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml
deleted file mode 100644
index e0c9499..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.2/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="next.2"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="plugin.a" version="1.1.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml
deleted file mode 100644
index fc0664c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.next.3/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests - Test Plugin A"
- id="next.3"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="plugin.a" version="2.0.0" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml
deleted file mode 100644
index 7315cd7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.1/plugin.root/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="plugin.root"
- version="1.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="next.1"/>
- <import plugin="next.2"/>
- <import plugin="next.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path
deleted file mode 100644
index e8c6a0c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/.plugin-path
+++ /dev/null
@@ -1,3 +0,0 @@
-#Mon Nov 13 23:12:14 EST 2000
-base=file:c:/eclipse/plugins/;
-test=file:d:/Plugin_Testing/plugins.version.2/
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml
deleted file mode 100644
index 622118f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="b"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml
deleted file mode 100644
index c7acb07..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.1.1/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="a"
- version="1.1.1"
- vendor-name="IBM">
-
- <requires>
- <import plugin="b"/>
- <import plugin="d" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml
deleted file mode 100644
index b9f41d8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="b" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml
deleted file mode 100644
index 552a2f2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/a_2.0.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="a"
- version="2.0.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="b" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml
deleted file mode 100644
index 22b79ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml
deleted file mode 100644
index 4c92e78..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/b_1.2.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="b"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml
deleted file mode 100644
index b0de87d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="c"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="d" version="1.2.0"/>
- <import plugin="e" version="1.3.1" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml
deleted file mode 100644
index ddae834..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.2.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="c"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="d" version="1.2.0"/>
- <import plugin="e" version="1.3.1" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml
deleted file mode 100644
index 27586d2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/c_1.3.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="c"
- version="1.3.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="d" version="1.2.0"/>
- <import plugin="e" version="1.3.1" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml
deleted file mode 100644
index 6e9d0c2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="d"
- version="1.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml
deleted file mode 100644
index 3d2d617..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_1.3.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="d"
- version="1.3.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml
deleted file mode 100644
index a65d004..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/d_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="d"
- version="2.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml
deleted file mode 100644
index 36ca60d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="e"
- version="1.3.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml
deleted file mode 100644
index a6092e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.3.2/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="e"
- version="1.3.2"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml
deleted file mode 100644
index b9e7a33..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/plugins.version.2/e_1.4.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin"
- id="e"
- version="1.4.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.1/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml
deleted file mode 100644
index 0376309..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.10/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml
deleted file mode 100644
index 8d62e24..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.a/plugin.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="pluginA"
- id="tests.a"
- version="1.0.0">
- <requires>
- <import plugin="tests.b" optional="true" version="2.0.0" match="perfect"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 5e84f38..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="pluginB"
- id="tests.b"
- version="1.0.0">
- <requires>
- <import plugin="tests.d"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml
deleted file mode 100644
index 1d1d09f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.c/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="pluginC"
- id="tests.c"
- version="1.0.0">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml
deleted file mode 100644
index 87f9198..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.11/tests.d/plugin.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="pluginD"
- id="tests.d"
- version="1.0.0">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.2/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.3/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.1/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml
deleted file mode 100644
index 0376309..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.10/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.2/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml
deleted file mode 100644
index 5b62ebb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="exact"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/regression.resolve.3/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml
deleted file mode 100644
index 5bcabbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.4/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml
deleted file mode 100644
index 5bcabbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.5/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml
deleted file mode 100644
index 5bcabbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3" match="compatible"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.6/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml
deleted file mode 100644
index 04b3af6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.7/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml
deleted file mode 100644
index 04b3af6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml
deleted file mode 100644
index 69ae779..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.1.5/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.5"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml
deleted file mode 100644
index d465d05..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_2.2.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.8/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml
deleted file mode 100644
index 04b3af6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" version="2.1.3"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml
deleted file mode 100644
index 07d68a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml
deleted file mode 100644
index 92282e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_2.1.3/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.3"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml
deleted file mode 100644
index 4e1e9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/regression.resolve.9/tests.b_3.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="3.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml
deleted file mode 100644
index 9c60e76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.1/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml
deleted file mode 100644
index 3805dc1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 194b145..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- <import plugin="tests.d" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 44acda9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml
deleted file mode 100644
index 546e359..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.10/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml
deleted file mode 100644
index 131f083..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.11/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml
deleted file mode 100644
index 131f083..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.12/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml
deleted file mode 100644
index 3592f6a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" match="exact" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.13/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml
deleted file mode 100644
index 3592f6a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.14/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" match="exact" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml
deleted file mode 100644
index 476920b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" match="compatible" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml
deleted file mode 100644
index 8af738a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.15/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml
deleted file mode 100644
index 6911006..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.16/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" match="compatible" version="1.2.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.17/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.18/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.19/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml
deleted file mode 100644
index 9c60e76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml
deleted file mode 100644
index 44bed7e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.2/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml
deleted file mode 100644
index dc73e55..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c"/>
- <import plugin="tests.b" optional="true"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.20/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml
deleted file mode 100644
index 0bc585b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.21/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml
deleted file mode 100644
index 0bc585b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.22/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.3/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.4/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.5/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml
deleted file mode 100644
index d498e02..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true"/>
- <import plugin="tests.c"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml
deleted file mode 100644
index 3c393a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.b/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.1"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml
deleted file mode 100644
index bfb2c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.6/tests.c/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml
deleted file mode 100644
index f75a19f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.7/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml
deleted file mode 100644
index f75a19f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.a/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index b00e4e5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 5966614..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
- <extension-point id="xpt1" name="First extension point"/>
-
- <extension point="xpt1" id="ext1" name="First extension">
- <config id="1"/>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.8/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml
deleted file mode 100644
index 3805dc1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.a/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.a"
- version="1.2"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.b" optional="true" version="1.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml
deleted file mode 100644
index 919a7e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml
deleted file mode 100644
index 194b145..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_1.1.0/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="1.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="1.1.0"/>
- <import plugin="tests.d" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml
deleted file mode 100644
index 6c73a50..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.b_2.1.0/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.b"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml
deleted file mode 100644
index 7d8bce2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.0.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml
deleted file mode 100644
index 6972d1b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_1.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="1.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml
deleted file mode 100644
index 8ba12f3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.c_2.1.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.c"
- version="2.1.0"
- vendor-name="IBM">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml
deleted file mode 100644
index 546e359..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugin_Testing/softPrereq.9/tests.d/plugin.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="IBM Tooling Platform Core Tests"
- id="tests.d"
- version="2.1.0"
- vendor-name="IBM">
-
- <requires>
- <import plugin="tests.c" version="2.1.0"/>
- </requires>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar
deleted file mode 100644
index 5b2d198..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/codePluginA.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml
deleted file mode 100644
index e878267..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/Bug3093/plugins/pluginA/plugin.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test 3093 Plugin A"
- id="test3093PluginA"
- version="1.0"
- vendor-name="OTI">
-
- <runtime>
- <library name="$nl$/">
- <export name="*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml
deleted file mode 100644
index fdfb747..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Interesting Fragment Find Test"
- id="interestingFragmentFindTest"
- version="1.0.0"
- plugin-id="interestingPluginFindTest"
- plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml
deleted file mode 100644
index 17c6dd8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/interestingPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Interesting Plugin Find Test"
- id="interestingPluginFindTest"
- version="1.2.0"
- vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml
deleted file mode 100644
index 2f1bcd2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="NL Fragment Find Test"
- id="nlFragmentFindTest"
- version="1.0.0"
- plugin-id="nlPluginFindTest"
- plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml
deleted file mode 100644
index 9577dd5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/nlPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="NL Plugin Find Test"
- id="nlPluginFindTest"
- version="1.2.0"
- vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml
deleted file mode 100644
index 2d18c36..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="OS Fragment Find Test"
- id="osFragmentFindTest"
- version="1.0.0"
- plugin-id="osPluginFindTest"
- plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml
deleted file mode 100644
index 0953e23..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/osPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="OS Plugin Find Test"
- id="osPluginFindTest"
- version="1.2.0"
- vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml
deleted file mode 100644
index af54504..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Root Fragment Find Test"
- id="rootFragmentFindTest"
- version="1.0.0"
- plugin-id="rootPluginFindTest"
- plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml
deleted file mode 100644
index 0a37d5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/rootPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Root Plugin Find Test"
- id="rootPluginFindTest"
- version="1.2.0"
- vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml
deleted file mode 100644
index d8aa9b1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsFragmentFindTest/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="WS Fragment Find Test"
- id="wsFragmentFindTest"
- version="1.0.0"
- plugin-id="wsPluginFindTest"
- plugin-version="1.2.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml
deleted file mode 100644
index 89d01a0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/FindTests/plugins/wsPluginFindTest/plugin.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="WS Plugin Find Test"
- id="wsPluginFindTest"
- version="1.2.0"
- vendor-name="OTI">
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar
deleted file mode 100644
index 9de9737..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/codePluginD.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml
deleted file mode 100644
index 84093b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentD/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test D"
- id="codeFragmentD"
- version="1.0.0"
- plugin-id="codePluginD"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginD.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar
deleted file mode 100644
index f7fee80..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/bin/codePluginE.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml
deleted file mode 100644
index 9e8f2a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentE/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test E"
- id="codeFragmentE"
- version="1.0.0"
- plugin-id="codePluginE"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginE.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar
deleted file mode 100644
index 7d834e6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/bin/codePluginF.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar
deleted file mode 100644
index b8ed413..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/codePluginF.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml
deleted file mode 100644
index e6f7e76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentF/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test F"
- id="codeFragmentF"
- version="1.0.0"
- plugin-id="codePluginF"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar
deleted file mode 100644
index e8e8719..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/codePluginG.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml
deleted file mode 100644
index 6b58234..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentG/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test G"
- id="codeFragmentG"
- version="1.0.0"
- plugin-id="codePluginG"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginG.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar
deleted file mode 100644
index 53c4bf0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/bin/codePluginH.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml
deleted file mode 100644
index 9771365..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentH/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test H"
- id="codeFragmentH"
- version="1.0.0"
- plugin-id="codePluginH"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginH.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar
deleted file mode 100644
index fbd6d84..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/codePluginI.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml
deleted file mode 100644
index 8282c2f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentI/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test I"
- id="codeFragmentI"
- version="1.0.0"
- plugin-id="codePluginI"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginI.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar
deleted file mode 100644
index 72566f6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/bin/codePluginJ.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml
deleted file mode 100644
index 8ae5d56..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentJ/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test J"
- id="codeFragmentJ"
- version="1.0.0"
- plugin-id="codePluginJ"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginJ.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar
deleted file mode 100644
index ce48356..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/codePluginK.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml
deleted file mode 100644
index addcfa1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentK/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test K"
- id="codeFragmentK"
- version="1.0.0"
- plugin-id="codePluginK"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginK.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar
deleted file mode 100644
index f315f45..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/bin/codePluginL.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml
deleted file mode 100644
index 2d1e2a7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentL/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test L"
- id="codeFragmentL"
- version="1.0.0"
- plugin-id="codePluginL"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginL.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar
deleted file mode 100644
index cc7a362..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/bin/codePluginM.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar
deleted file mode 100644
index 4a5a641..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/codePluginM.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml
deleted file mode 100644
index ff2acbe..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentM/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test M"
- id="codeFragmentM"
- version="1.0.0"
- plugin-id="codePluginM"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginM.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar
deleted file mode 100644
index 915b41d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/bin/codePluginN.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar
deleted file mode 100644
index 393594f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/codePluginN.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml
deleted file mode 100644
index b0ee879..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentN/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test N"
- id="codeFragmentN"
- version="1.0.0"
- plugin-id="codePluginN"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginN.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar
deleted file mode 100644
index 9bfc2fc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/bin/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar
deleted file mode 100644
index 713d0dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml
deleted file mode 100644
index a6f6c0e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codeFragmentO/fragment.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Code Fragment Test O"
- id="codeFragmentO"
- version="1.0.0"
- plugin-id="codePluginO"
- plugin-version="1.0">
-
- <runtime>
- <library name="codePluginO.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar
deleted file mode 100644
index 5b2d198..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/codePluginA.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml
deleted file mode 100644
index 3e4dee7..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginA/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin Test A"
- id="codePluginA"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleA">
-
- <runtime>
- <library name="codePluginA.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar
deleted file mode 100644
index 2f8b9db..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/bin/codePluginB.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml
deleted file mode 100644
index a99f56a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginB/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin Test B"
- id="codePluginB"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleB">
-
- <runtime>
- <library name="codePluginB.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar
deleted file mode 100644
index 4e94745..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/bin/codePluginC.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar
deleted file mode 100644
index 8c249ea..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/codePluginC.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml
deleted file mode 100644
index 4f28589..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginC/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin Test C"
- id="codePluginC"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleCPB">
-
- <runtime>
- <library name="codePluginC.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml
deleted file mode 100644
index 75af240..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginD/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin Test D"
- id="codePluginD"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleD">
-
- <runtime>
- <library name="codePluginD.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml
deleted file mode 100644
index bfc1c10..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginE/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin Test E"
- id="codePluginE"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleE">
-
- <runtime>
- <library name="codePluginE.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml
deleted file mode 100644
index c406092..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginF/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin Test F"
- id="codePluginF"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleFFB">
-
- <runtime>
- <library name="codePluginF.jar">
- <export name="org.eclipse.core.tests.internal.runtimetests.*"/>
- </library>
- </runtime>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar
deleted file mode 100644
index c5017bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/codePluginG.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml
deleted file mode 100644
index 5b8e54c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginG/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestG"
- id="codePluginG"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleGPR">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar
deleted file mode 100644
index 8f08968..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/codePluginH.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml
deleted file mode 100644
index dd6f249..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginH/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestH"
- id="codePluginH"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleHFB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar
deleted file mode 100644
index 47dab6f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/bin/codePluginI.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml
deleted file mode 100644
index a7b140c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginI/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestI"
- id="codePluginI"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleIPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar
deleted file mode 100644
index f2b19de..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/bin/codePluginJ.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml
deleted file mode 100644
index ac1f39e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginJ/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestJ"
- id="codePluginJ"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleJPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar
deleted file mode 100644
index 4725fba..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/bin/codePluginK.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar
deleted file mode 100644
index fe90bcf..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/codePluginK.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml
deleted file mode 100644
index de354a8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginK/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestK"
- id="codePluginK"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleKPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar
deleted file mode 100644
index e363b33..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/bin/codePluginL.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar
deleted file mode 100644
index 243f6b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/codePluginL.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml
deleted file mode 100644
index fe1413e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginL/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestL"
- id="codePluginL"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleLPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar
deleted file mode 100644
index b02907d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/codePluginM.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml
deleted file mode 100644
index 134e79a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginM/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestM"
- id="codePluginM"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleMFB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar
deleted file mode 100644
index d10a77f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/bin/codePluginN.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml
deleted file mode 100644
index 0cc69b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginN/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestN"
- id="codePluginN"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleNPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar
deleted file mode 100644
index f88c86b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/bin/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar
deleted file mode 100644
index 02323b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/codePluginO.jar
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml
deleted file mode 100644
index c0c4ef4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/codePluginO/plugin.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Code Plugin TestO"
- id="codePluginO"
- version="1.0"
- vendor-name="OTI"
- class="org.eclipse.core.tests.internal.runtimetests.SampleOPB">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml
deleted file mode 100644
index 64cd381..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment D"
- id="fragmentd"
- version="1.0.0"
- plugin-id="plugind"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties
deleted file mode 100644
index 7587f77..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentD/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginD fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties
deleted file mode 100644
index 7725c61..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginE fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml
deleted file mode 100644
index c9005a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentE/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment E"
- id="fragmente"
- version="1.0.0"
- plugin-id="plugine"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties
deleted file mode 100644
index a2042bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginF fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml
deleted file mode 100644
index 76c8574..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment F"
- id="fragmentf"
- version="1.0.0"
- plugin-id="pluginf"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties
deleted file mode 100644
index 0fe3ea0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentF/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginF fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml
deleted file mode 100644
index fd760f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment G"
- id="fragmentg"
- version="1.0.0"
- plugin-id="pluging"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties
deleted file mode 100644
index d39a646..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentG/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginG fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties
deleted file mode 100644
index 9307aee..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginH fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml
deleted file mode 100644
index c995c80..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentH/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment H"
- id="fragmenth"
- version="1.0.0"
- plugin-id="pluginh"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml
deleted file mode 100644
index c4e9a3d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment I"
- id="fragmenti"
- version="1.0.0"
- plugin-id="plugini"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties
deleted file mode 100644
index a386998..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentI/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginI fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties
deleted file mode 100644
index ce4d615..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginJ fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml
deleted file mode 100644
index f3d970b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentJ/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment J"
- id="fragmentj"
- version="1.0.0"
- plugin-id="pluginj"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml
deleted file mode 100644
index c9ebc25..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment K"
- id="fragmentk"
- version="1.0.0"
- plugin-id="plugink"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties
deleted file mode 100644
index 1d6689b..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentK/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginK fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties
deleted file mode 100644
index b1f14ee..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginL fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml
deleted file mode 100644
index a3a632e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentL/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment L"
- id="fragmentl"
- version="1.0.0"
- plugin-id="pluginl"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties
deleted file mode 100644
index a7b3305..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginM fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml
deleted file mode 100644
index 0378888..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment M"
- id="fragmentm"
- version="1.0.0"
- plugin-id="pluginm"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties
deleted file mode 100644
index bd7a1c6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentM/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginM fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties
deleted file mode 100644
index 1e97281..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginN fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml
deleted file mode 100644
index ad236ab..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment N"
- id="fragmentn"
- version="1.0.0"
- plugin-id="pluginn"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties
deleted file mode 100644
index bebb54e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentN/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginN fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties
deleted file mode 100644
index 69a3d75..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO fragment bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml
deleted file mode 100644
index 59ce72c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/fragment.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Test Fragment O"
- id="fragmento"
- version="1.0.0"
- plugin-id="plugino"
- plugin-version="1.0">
-
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties
deleted file mode 100644
index 98f3df0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/fragmentO/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO fragment root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties
deleted file mode 100644
index 5ba457d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginA root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml
deleted file mode 100644
index 3a83d5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginA/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin A"
- id="plugina"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties
deleted file mode 100644
index 1242b4f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginB bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml
deleted file mode 100644
index d5d5d1c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginB/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin B"
- id="pluginb"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties
deleted file mode 100644
index 5932830..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginC bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties
deleted file mode 100644
index f0c4eb0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginC root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml
deleted file mode 100644
index 36ead92..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginC/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin C"
- id="pluginc"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml
deleted file mode 100644
index 182abd6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginD/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin D"
- id="plugind"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml
deleted file mode 100644
index ab36687..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginE/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin E"
- id="plugine"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml
deleted file mode 100644
index d19cef4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginF/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin F"
- id="pluginf"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties
deleted file mode 100644
index ff1a9a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginG root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml
deleted file mode 100644
index 17e00f2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginG/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin G"
- id="pluging"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties
deleted file mode 100644
index e015ed9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginH root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml
deleted file mode 100644
index b138f1a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginH/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin H"
- id="pluginh"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties
deleted file mode 100644
index 542fc23..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginI bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml
deleted file mode 100644
index ca656a6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginI/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin I"
- id="plugini"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties
deleted file mode 100644
index 145b356..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginJ bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml
deleted file mode 100644
index 0603fb8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginJ/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin J"
- id="pluginj"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties
deleted file mode 100644
index 71496e3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginK bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties
deleted file mode 100644
index ea570a0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginK root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml
deleted file mode 100644
index c9e22cd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginK/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin K"
- id="plugink"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties
deleted file mode 100644
index 19188a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginL bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties
deleted file mode 100644
index 1b8d368..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginL root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml
deleted file mode 100644
index f5530bc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginL/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin L"
- id="pluginl"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties
deleted file mode 100644
index 9ccce57..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginM root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml
deleted file mode 100644
index 4c66d32..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginM/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin M"
- id="pluginm"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties
deleted file mode 100644
index ded4749..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginN bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml
deleted file mode 100644
index 3dae8c9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginN/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin N"
- id="pluginn"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties
deleted file mode 100644
index a08e359..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/bin/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO bin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties
deleted file mode 100644
index d3f96c6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.properties
+++ /dev/null
@@ -1 +0,0 @@
-key=Test string from pluginO root directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml
deleted file mode 100644
index bfcf637..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/LibraryLookupTests/plugins/pluginO/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Test Plugin O"
- id="plugino"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml
deleted file mode 100644
index 382895d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Add New Preference"
- id="addNewPreference"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini
deleted file mode 100644
index f25c5c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/addNewPreference/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-ExistingPreference = From the local plugin directory of addNewPreference
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml
deleted file mode 100644
index 7d58978..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Change Existing Preference"
- id="changeExistingPreference"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini
deleted file mode 100644
index 2169a63..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/changeExistingPreference/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-ExistingPreference = From the local plugin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini
deleted file mode 100644
index 84b508e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPluginLocal/CommandLinePreference = From the command line specified file via the plugin cmdLineAndPluginLocal
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndPluginLocal/commonCmdLineAndPluginLocalPreference = Common preference from the command line via the plugin cmdLineAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml
deleted file mode 100644
index 6a20a0f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and Plugin Local Preferences"
- id="cmdLineAndPluginLocal"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini
deleted file mode 100644
index 26d6674..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndPluginLocal
-commonCmdLineAndPluginLocalPreference = Common preference from the local plugin directory of plugin cmdLineAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index 414dc32..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPluginLocalAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndPluginLocalAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndPluginLocalAndPrimaryFeature/commonCmdLineAndPluginLocalAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index e2e7e53..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPluginLocalAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndPluginLocalAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndPluginLocalAndPrimaryFeature/commonCmdLineAndPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 99d5ff4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and Plugin Local and Primary Feature Preferences"
- id="cmdLineAndPluginLocalAndPrimaryFeature"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 1ede640..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndPluginLocalAndPrimaryFeature
-commonCmdLineAndPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin cmdLineAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index 9f1dc22..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndPrimaryFeature/commonCmdLineAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 6fb4b3c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndPrimaryFeature/commonCmdLineAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml
deleted file mode 100644
index db545b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and Primary Feature Preferences"
- id="cmdLineAndPrimaryFeature"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini
deleted file mode 100644
index 77b55dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndState/CommandLinePreference = From the command line specified file via the plugin cmdLineAndState
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndState/commonCommandLineAndStatePreference = Common preference from the command line via the plugin cmdLineAndState
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini
deleted file mode 100644
index 03dfe69..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndState
-commonCommandLineAndStatePreference = Common preference from the plugin state area of plugin cmdLineAndState
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml
deleted file mode 100644
index e7ca055..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndState/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and State Preferences"
- id="cmdLineAndState"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini
deleted file mode 100644
index 2b12d97..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPluginLocal/CommandLinePreference = From the command line specified file via the plugin cmdLineAndStateAndPluginLocal
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndStateAndPluginLocal/commonCommandLineAndStateAndPluginLocalPreference = Common preference from the command line via the plugin cmdLineAndStateAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini
deleted file mode 100644
index 1090215..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndStateAndPluginLocal
-commonCommandLineAndStateAndPluginLocalPreference = Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml
deleted file mode 100644
index f2e7039..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and State and Plugin Local Preferences"
- id="cmdLineAndStateAndPluginLocal"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini
deleted file mode 100644
index a4e1cbc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndStateAndPluginLocal
-commonCommandLineAndStateAndPluginLocalPreference = Common preference from the local plugin directory of plugin cmdLineAndStateAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index a812341..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPluginLocalAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndStateAndPluginLocalAndPrimaryFeature/commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 00b4d7d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPluginLocalAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndStateAndPluginLocalAndPrimaryFeature/commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 1435de4..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
-commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index cdd1392..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and State and Plugin Local and Primary Feature Preferences"
- id="cmdLineAndStateAndPluginLocalAndPrimaryFeature"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 20bc434..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
-commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini
deleted file mode 100644
index 836900d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/cmdLinePreferences.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPrimaryFeature/CommandLinePreference = From the command line specified file via the plugin cmdLineAndStateAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndStateAndPrimaryFeature/commonCmdLineAndStateAndPrimaryFeaturePreference = Common preference from the command line via the plugin cmdLineAndStateAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index fceb898..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-cmdLineAndStateAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin cmdLineAndStateAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-cmdLineAndStateAndPrimaryFeature/commonCmdLineAndStateAndPrimaryFeaturePreference = Common preference from the primary feature of plugin cmdLineAndStateAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 0f95ec2..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin cmdLineAndStateAndPrimaryFeature
-commonCmdLineAndStateAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin cmdLineAndStateAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 98c50d3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/cmdLineAndStateAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line and State And Primary Feature Preferences"
- id="cmdLineAndStateAndPrimaryFeature"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini
deleted file mode 100644
index 20474c3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/cmdLinePreferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-commandLinePluginPreferences/CommandLinePreference = From the command line specified file
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml
deleted file mode 100644
index 830faf5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/commandLinePreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Command Line Plugin Preferences"
- id="commandLinePluginPreferences"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml
deleted file mode 100644
index 1f7367d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Local And Primary Feature Preferences"
- id="fragmentLocalAndPrimaryFeaturePreferences"
- version="1.0"
- plugin-id="fragmentLocalAndPrimaryFeaturePlugin"
- plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index c170521..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-fragmentLocalAndPrimaryFeaturePlugin/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin fragmentLocalAndPrimaryFeaturePlugin
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-fragmentLocalAndPrimaryFeaturePlugin/commonFragmentLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin fragmentLocalAndPrimaryFeaturePlugin
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 77e02a0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-FragmentLocalPreference = From the local fragment directory of the plugin fragmentLocalAndPrimaryFeaturePlugin
-commonFragmentLocalAndPrimaryFeaturePreference = Common preference from the local fragment directory of plugin fragmentLocalAndPrimaryFeaturePlugin
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml
deleted file mode 100644
index a351a38..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalAndPrimaryFeaturePlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Fragment Local And Primary Feature Preferences Plugin"
- id="fragmentLocalAndPrimaryFeaturePlugin"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml
deleted file mode 100644
index b554885..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Fragment Local Preferences"
- id="fragmentLocalPreferences"
- version="1.0"
- plugin-id="fragmentLocalPreferencesPlugin"
- plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini
deleted file mode 100644
index 6a492c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferences/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-FragmentLocalPreference = From the local fragment directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml
deleted file mode 100644
index e4f7136..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/fragmentLocalPreferencesPlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Fragment Local Preferences Plugin"
- id="fragmentLocalPreferencesPlugin"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml
deleted file mode 100644
index b04750e..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/noPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="No Preferences Plugin"
- id="noPreferencesPlugin"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 9d65b76..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginLocalAndPrimaryFeaturePreferences/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin pluginLocalAndPrimaryFeaturePreferences
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-pluginLocalAndPrimaryFeaturePreferences/commonPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin pluginLocalAndPrimaryFeaturePreferences
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 9faa741..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin Local and Primary Feature Preferences"
- id="pluginLocalAndPrimaryFeaturePreferences"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 1845b3a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of the plugin pluginLocalAndPrimaryFeaturePreferences
-commonPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin pluginLocalAndPrimaryFeaturePreferences
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml
deleted file mode 100644
index f5d4688..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Plugin Local Preferences"
- id="pluginLocalPreferences"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini
deleted file mode 100644
index faac0c5..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/pluginLocalPreferences/preferences.ini
+++ /dev/null
@@ -1 +0,0 @@
-PluginLocalPreference = From the local plugin directory
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml
deleted file mode 100644
index ac72184..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureFragmentTranslations/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="Primary Feature Fragment Translations Test"
- id="primaryFeatureFragmentTranslations"
- version="1.0"
- plugin-id="org.eclipse.platform"
- plugin-version="2.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini
deleted file mode 100644
index 8a46a9a..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/originalplugin_customization.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-primaryFeaturePluginPreferences/PrimaryFeaturePreference = From the primary feature plugin directory
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml
deleted file mode 100644
index c56c401..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeaturePluginPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Primary Feature Plugin Preferences"
- id="primaryFeaturePluginPreferences"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml
deleted file mode 100644
index 8db5ccc..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/primaryFeatureTranslations/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Primary Feature Translations"
- id="primaryFeatureTranslations"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml
deleted file mode 100644
index e74fa81..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="State And Fragment Local Preferences"
- id="stateAndFragmentLocalPreferences"
- version="1.0"
- plugin-id="stateAndFragmentLocalPlugin"
- plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini
deleted file mode 100644
index 5cd3d90..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of the fragment for stateAndFragmentLocal
-commonStateAndFragmentLocalPreference = Common preference from the plugin state area for stateAndFragmentLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini
deleted file mode 100644
index e00460d..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-FragmentLocalPreference = From the local fragment directory of stateAndFragmentLocal
-commonStateAndFragmentLocalPreference = Common preference from the local fragment directory of stateAndFragmentLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml
deleted file mode 100644
index 6cef15f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/fragment.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<fragment
- name="State And Fragment Local And Primary Feature Preferences"
- id="stateAndFragmentLocalAndPrimaryFeaturePreferences"
- version="1.0"
- plugin-id="stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"
- plugin-version="1.0">
-</fragment>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index a7c8db9..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin/commonStateAndFragmentLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 22cca09..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin
-commonStateAndFragmentLocalAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index 2f590ec..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-FragmentLocalPreference = From the local fragment directory of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin
-commonStateAndFragmentLocalAndPrimaryFeaturePreference = Common preference from the local fragment directory of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml
deleted file mode 100644
index 8276478..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalAndPrimaryFeaturePlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="State And Fragment Local And Primary Feature Preferences Plugin"
- id="stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml
deleted file mode 100644
index 0d8c455..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndFragmentLocalPlugin/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="State And Fragment Local Plugin"
- id="stateAndFragmentLocalPlugin"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini
deleted file mode 100644
index 6ecb376..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndPluginLocal
-commonStateAndPluginLocalPreference = Common preference from the plugin state area of plugin stateAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml
deleted file mode 100644
index 1d34ba1..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="State and Plugin Local Preferences"
- id="stateAndPluginLocal"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini
deleted file mode 100644
index 8cbbde0..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocal/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of plugin stateAndPluginLocal
-commonStateAndPluginLocalPreference = Common preference from the local plugin directory of plugin stateAndPluginLocal
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index a1ff157..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-stateAndPluginLocalAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin stateAndPluginLocalAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-stateAndPluginLocalAndPrimaryFeature/commonStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the primary feature of plugin stateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 44f5dbd..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature
-commonStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 33c3c0f..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="State and Plugin Local and Primary Feature Preferences"
- id="stateAndPluginLocalAndPrimaryFeature"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini
deleted file mode 100644
index fe1ffa3..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPluginLocalAndPrimaryFeature/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-PluginLocalPreference = From the local plugin directory of plugin stateAndPluginLocalAndPrimaryFeature
-commonStateAndPluginLocalAndPrimaryFeaturePreference = Common preference from the local plugin directory of plugin stateAndPluginLocalAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini
deleted file mode 100644
index 1a8d7e6..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalplugin_customization.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-stateAndPrimaryFeature/PrimaryFeaturePreference = From the primary feature plugin directory via the plugin stateAndPrimaryFeature
-org.eclipse.core.runtime/SomeRandomPreference = For the runtime plugin only
-stateAndPrimaryFeature/commonStateAndPrimaryFeaturePreference = Common preference from the primary feature of plugin stateAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini
deleted file mode 100644
index 473957c..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/originalpref_store.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-StateLocalPreference = From the plugin state area of plugin stateAndPrimaryFeature
-commonStateAndPrimaryFeaturePreference = Common preference from the plugin state area of plugin stateAndPrimaryFeature
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml
deleted file mode 100644
index 0ead264..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateAndPrimaryFeature/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="State and Primary Feature Preferences"
- id="stateAndPrimaryFeature"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini
deleted file mode 100644
index 3e4b912..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/originalpref_store.ini
+++ /dev/null
@@ -1 +0,0 @@
-StateLocalPreference = From the plugin state area
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml b/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml
deleted file mode 100644
index e9332eb..0000000
--- a/tests/org.eclipse.core.tests.runtime/Plugintests_Testing/PreferencesTests/plugins/stateLocalPreferences/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="State Local Preferences"
- id="stateLocalPreferences"
- version="1.0"
- vendor-name="OTI">
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/about.html b/tests/org.eclipse.core.tests.runtime/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/tests/org.eclipse.core.tests.runtime/about.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-<body lang="EN-US">
-<h2>About This Content</h2>
-
-<p>20th June, 2002</p>
-<h3>License</h3>
-<p>Eclipse.org makes available all content in this plug-in ("Content"). Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 ("CPL"). A copy of the CPL is available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>.
-For purposes of the CPL, "Program" will mean the Content.</p>
-
-<h3>Contributions</h3>
-
-<p>If this Content is licensed to you under the terms and conditions of the CPL, any Contributions, as defined in the CPL, uploaded, submitted, or otherwise
-made available to Eclipse.org, members of Eclipse.org and/or the host of Eclipse.org web site, by you that relate to such
-Content are provided under the terms and conditions of the CPL and can be made available to others under the terms of the CPL.</p>
-
-<p>If this Content is licensed to you under license terms and conditions other than the CPL ("Other License"), any modifications, enhancements and/or
-other code and/or documentation ("Modifications") uploaded, submitted, or otherwise made available to Eclipse.org, members of Eclipse.org and/or the
-host of Eclipse.org, by you that relate to such Content are provided under terms and conditions of the Other License and can be made available
-to others under the terms of the Other License. In addition, with regard to Modifications for which you are the copyright holder, you are also
-providing the Modifications under the terms and conditions of the CPL and such Modifications can be made available to others under the terms of
-the CPL.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/build.properties b/tests/org.eclipse.core.tests.runtime/build.properties
deleted file mode 100644
index 20f6789..0000000
--- a/tests/org.eclipse.core.tests.runtime/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.runtimetests.jar = src/
-bin.includes = plugin.xml,*.jar,Plugin_Testing/,about.xml
-
diff --git a/tests/org.eclipse.core.tests.runtime/plugin.xml b/tests/org.eclipse.core.tests.runtime/plugin.xml
deleted file mode 100644
index aa36076..0000000
--- a/tests/org.eclipse.core.tests.runtime/plugin.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin
- name="Eclipse Core Tests Runtime"
- id="org.eclipse.core.tests.runtime"
- version="2.1.0"
- provider-name="Eclipse.org">
-
- <requires>
- <import plugin="org.eclipse.core.runtime"/>
- <import plugin="org.eclipse.core.resources"/>
- <import plugin="org.eclipse.core.tests.harness"/>
- <import plugin="org.junit"/>
- <import plugin="org.apache.xerces"/>
- </requires>
-
- <runtime>
- <library name="runtimetests.jar">
- <export name="*"/>
- </library>
- </runtime>
-
- <extension point="org.eclipse.core.tests.harness.tests">
- <test id="runtime.AutomatedTests">
- <run class="org.eclipse.core.tests.runtime.AutomatedTests"/>
- </test>
- <test id="runtime.AllTests">
- <run class="org.eclipse.core.tests.runtime.AllTests"/>
- </test>
- <test id="internal.core.runtime.AllTests">
- <run class="org.eclipse.core.tests.internal.runtime.AllTests"/>
- </test>
- <test id="internal.core.runtime.AuthorizationDatabaseTest">
- <run class="org.eclipse.core.tests.internal.runtime.AuthorizationDatabaseTest"/>
- </test>
- <test id="internal.core.runtime.CipherStreamsTest">
- <run class="org.eclipse.core.tests.internal.runtime.CipherStreamsTest"/>
- </test>
- <test id="internal.core.runtime.CipherTest">
- <run class="org.eclipse.core.tests.internal.runtime.CipherTest"/>
- </test>
- <test id="internal.core.runtime.LogSerializationTest">
- <run class="org.eclipse.core.tests.internal.runtime.LogSerializationTest"/>
- </test>
- <test id="internal.core.registrycache.SimpleCacheTests">
- <run class="org.eclipse.core.tests.internal.registrycache.SimpleCacheTests"/>
- </test>
- <test id="internal.core.registrycache.LazyCacheTests">
- <run class="org.eclipse.core.tests.internal.registrycache.LazyCacheTests"/>
- </test>
- <test id="internal.core.registrycache.AllTests">
- <run class="org.eclipse.core.tests.internal.registrycache.AllTests"/>
- </test>
- <test id="internal.core.plugins.AllTests">
- <run class="org.eclipse.core.tests.internal.plugins.AllTests"/>
- </test>
- <test id="internal.core.plugins.BasicXMLTest">
- <run class="org.eclipse.core.tests.internal.plugins.BasicXMLTest"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_Base">
- <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_Base"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectOtherRef">
- <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectOtherRef"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectPluginRef">
- <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_DirectPluginRef"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_IndirectRef">
- <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_IndirectRef"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.ActivationTest_NoRef">
- <run class="org.eclipse.core.tests.internal.plugins.ActivationTest_NoRef"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTest">
- <run class="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTest"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTestConnection">
- <run class="org.eclipse.core.tests.internal.plugins.PlatformURLPerformanceTestConnection"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.PlatformURLTest">
- <run class="org.eclipse.core.tests.internal.plugins.PlatformURLTest"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.LoaderTest">
- <run class="org.eclipse.core.tests.internal.plugins.LoaderTest"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.GetPluginPathTest">
- <run class="org.eclipse.core.tests.internal.plugins.GetPluginPathTest"/>
- </test>
-
- <test id="core.tests.runtime.BenchPath">
- <run class="org.eclipse.core.tests.runtime.BenchPath"/>
- </test>
- <test id="core.tests.runtime.CoreExceptionTest">
- <run class="org.eclipse.core.tests.runtime.CoreExceptionTest"/>
- </test>
- <test id="core.tests.runtime.OperationCanceledExceptionTest">
- <run class="org.eclipse.core.tests.runtime.OperationCanceledExceptionTest"/>
- </test>
- <test id="runtime.PathTest">
- <run class="org.eclipse.core.tests.runtime.PathTest"/>
- </test>
- <test id="core.tests.runtime.PlatformTest">
- <run class="org.eclipse.core.tests.runtime.PlatformTest"/>
- </test>
- <test id="core.tests.runtime.PluginVersionIdentifierTest">
- <run class="org.eclipse.core.tests.runtime.PluginVersionIdentifierTest"/>
- </test>
- <test id="core.tests.runtime.PreferencesTest">
- <run class="org.eclipse.core.tests.runtime.PreferencesTest"/>
- </test>
- <test id="core.tests.runtime.PreferenceExportTest">
- <run class="org.eclipse.core.tests.runtime.PreferenceExportTest"/>
- </test>
- <test id="core.tests.runtime.ProgressMonitorWrapperTest">
- <run class="org.eclipse.core.tests.runtime.ProgressMonitorWrapperTest"/>
- </test>
- <test id="core.tests.runtime.QualifiedNameTest">
- <run class="org.eclipse.core.tests.runtime.QualifiedNameTest"/>
- </test>
- <test id="core.tests.runtime.StatusTest">
- <run class="org.eclipse.core.tests.runtime.StatusTest"/>
- </test>
-
- <test id="core.tests.plugintests.PluginTests">
- <run class="org.eclipse.core.tests.plugintests.PluginTests"/>
- </test>
-
- <test id="internal.plugins.PluginResolveTest_1">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_1"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_2">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_2"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_3">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_3"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_4">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_4"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_5">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_5"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_6">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_6"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_7">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_7"/>
- </test>
- <test id="internal.plugins.PluginResolveTest_8">
- <run class="org.eclipse.core.tests.internal.plugins.PluginResolveTest_8"/>
- </test>
- <test id="internal.plugins.PluginVersionTest">
- <run class="org.eclipse.core.tests.internal.plugins.PluginVersionTest"/>
- </test>
- <test id="internal.plugins.PluginVersionTest_2">
- <run class="org.eclipse.core.tests.internal.plugins.PluginVersionTest_2"/>
- </test>
- <test id="internal.plugins.PluginXmlTest">
- <run class="org.eclipse.core.tests.internal.plugins.PluginXmlTest"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.JarSearchTests">
- <run class="org.eclipse.core.tests.internal.plugins.JarSearchTests"/>
- </test>
- <test id="org.eclipse.core.tests.internal.plugins.JarPluginPathTest">
- <run class="org.eclipse.core.tests.internal.plugins.JarPluginPathTest"/>
- </test>
-
- <test id="org.eclipse.core.tests.plugintests.LibraryLookupTests">
- <run class="org.eclipse.core.tests.plugintests.LibraryLookupTests"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.PluginFindTests">
- <run class="org.eclipse.core.tests.plugintests.PluginFindTests"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.PreferencesRuntimeTests">
- <run class="org.eclipse.core.tests.plugintests.PreferencesRuntimeTests"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLinePreferencesTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLinePreferencesTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndPrimaryFeatureTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndPrimaryFeatureTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalAndPrimaryFeatureTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndPluginLocalAndPrimaryFeatureTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPrimaryFeatureTest">
- <run class="org.eclipse.core.tests.plugintests.CmdLineAndStateAndPrimaryFeatureTest"/>
- </test>
- <test id="org.eclipse.core.tests.plugintests.SavePreferencesTests">
- <run class="org.eclipse.core.tests.plugintests.SavePreferencesTests"/>
- </test>
- </extension>
-
-</plugin>
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java
deleted file mode 100644
index 3772c7d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/BaseExtension.java
+++ /dev/null
@@ -1,26 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.boot.*;
-
-public class BaseExtension implements IPlatformRunnable {
-
- public int runCount = 0;
-public BaseExtension() {
- super();
-}
-
-public Object run(Object o) {
- runCount++;
- return null;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java
deleted file mode 100644
index 3d62138..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ConfigurableExtension.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.*;
-
-public abstract class ConfigurableExtension extends BaseExtension implements IExecutableExtension {
-
- public IConfigurationElement config = null;
- public String propertyName = null;
- public Object data = null;
-
-public void setInitializationData(IConfigurationElement config, String propertyName, Object data) throws CoreException {
-
- this.config = config;
- this.propertyName = propertyName;
- this.data = data;
-
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java
deleted file mode 100644
index d3ae39a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/Dummy.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-/**
- */
-public class Dummy {
-/**
- */
-public Dummy() {
- super();
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java
deleted file mode 100644
index 1f1ef01..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToOtherClass.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-public class ExtensionDirectCompilerReferenceToOtherClass extends ConfigurableExtension {
-public Object run(Object o) {
- super.run(o);
- // make direct compiler reference to other class (not plugin class)
- Class c = org.eclipse.core.tests.internal.plugin.c.api.ApiClass.class;
- return c;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java
deleted file mode 100644
index a77d710..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionDirectCompilerReferenceToPluginClass.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.*;
-
-public class ExtensionDirectCompilerReferenceToPluginClass extends ConfigurableExtension {
-
-public Object run(Object o) {
- super.run(o);
- // make direct compiler reference to other plugin class
- Plugin p = org.eclipse.core.tests.internal.plugin.b.PluginClass.plugin;
- return p;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java
deleted file mode 100644
index 3a5e59e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/ExtensionIndirectReferenceToPlugin.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Plugin;
-
-public class ExtensionIndirectReferenceToPlugin extends ConfigurableExtension {
-
-public Object run(Object o) {
- super.run(o);
- Plugin p = Platform.getPlugin("plugin.c");
- return p;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java
deleted file mode 100644
index 733969b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
- public static Plugin plugin = null;
- public int startupCount = 0;
-
-
-public PluginClass(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
-}
-
-public void startup() throws CoreException {
- startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java
deleted file mode 100644
index 904b929..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/a/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.a.api;
-public class ApiClass {
-
-public ApiClass() {
- super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java
deleted file mode 100644
index c78ce66..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.b;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
- public static Plugin plugin = null;
- public int startupCount = 0;
-
-
-public PluginClass(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
-}
-
-public void startup() throws CoreException {
- startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java
deleted file mode 100644
index fc53eed..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/b/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.b.api;
-public class ApiClass {
-
-public ApiClass() {
- super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java
deleted file mode 100644
index 2da3a46..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/ExportedClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.c;
-public class ExportedClass {
-
-public ExportedClass() {
- super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java
deleted file mode 100644
index 3830f9d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.c;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
- public static Plugin plugin = null;
- public int startupCount = 0;
-
-
-public PluginClass(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
-}
-
-public void startup() throws CoreException {
- startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java
deleted file mode 100644
index f822d8b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/c/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.c.api;
-public class ApiClass {
-
-public ApiClass() {
- super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java
deleted file mode 100644
index 3b05b3c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/PluginClass.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.d;
-
-import org.eclipse.core.runtime.*;
-
-public class PluginClass extends Plugin {
-
- public static Plugin plugin = null;
- public int startupCount = 0;
-
-
-public PluginClass(IPluginDescriptor descriptor) {
- super(descriptor);
- plugin = this;
-}
-
-public void startup() throws CoreException {
- startupCount++;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java
deleted file mode 100644
index 20ed574..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugin/d/api/ApiClass.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugin.d.api;
-public class ApiClass {
-
-public ApiClass() {
- super();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java
deleted file mode 100644
index ccb4293..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_Base.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_Base extends WorkspaceSessionTest {
-public ActivationTest_Base() {
- super(null);
-}
-public ActivationTest_Base(String name) {
- super(name);
-}
-public void testBase() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pdA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pdB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pdC = registry.getPluginDescriptor("plugin.c");
- assertNotNull("0.0", pdA);
- assertNotNull("0.1", pdB);
- assertNotNull("0.2", pdC);
-
- // check initial activation state
- assertTrue("1.0", !pdA.isPluginActivated());
- assertTrue("1.1", !pdB.isPluginActivated());
- assertTrue("1.2", !pdC.isPluginActivated());
-
- Plugin p = null;
- // get plugin class for plugin A
- try {
- p = pdA.getPlugin();
- } catch (CoreException e) {
- fail("2.0.0");
- }
- assertTrue("2.0.1", pdA.isPluginActivated());
- assertTrue("2.1", !pdB.isPluginActivated());
- assertTrue("2.2", !pdC.isPluginActivated());
- assertTrue("2.3", p.getClass().getName().equals("org.eclipse.core.tests.internal.plugin.a.PluginClass"));
-
- // get plugin class for plugin B
- try {
- p = pdB.getPlugin();
- } catch (CoreException e) {
- fail("3.0.0");
- }
- assertTrue("3.0.1", pdA.isPluginActivated());
- assertTrue("3.1", pdB.isPluginActivated());
- assertTrue("3.2", !pdC.isPluginActivated());
- assertTrue("3.3", p.getClass().getName().equals("org.eclipse.core.tests.internal.plugin.b.PluginClass"));
-
- // get plugin class for plugin C
- try {
- p = pdC.getPlugin();
- } catch (CoreException e) {
- fail("4.0.0");
- }
- assertTrue("4.0.1", pdA.isPluginActivated());
- assertTrue("4.1", pdB.isPluginActivated());
- assertTrue("4.2", pdC.isPluginActivated());
- assertTrue("4.3", p.getClass().getName().equals("org.eclipse.core.tests.internal.plugin.c.PluginClass"));
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java
deleted file mode 100644
index cbd1efc..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectOtherRef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.plugins.PluginClassLoader;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_DirectOtherRef extends WorkspaceSessionTest {
-public ActivationTest_DirectOtherRef() {
- super(null);
-}
-public ActivationTest_DirectOtherRef(String name) {
- super(name);
-}
-public void testExtensionDirectReferenceToOtherClassTest() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
-
- // check initial activation state
- assertTrue("1.0", !pluginA.isPluginActivated());
- assertTrue("1.1", !pluginB.isPluginActivated());
- assertTrue("1.2", !pluginC.isPluginActivated());
-
- // get base extension
- IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".referenceOther");
- assertTrue("2.0", cfig.length == 1);
- IPlatformRunnable o = null;
- try {
- o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
- } catch (CoreException e) {
- fail("2.1 " + e.getMessage());
- }
-
- // check activation state
- assertTrue("3.0", pluginA.isPluginActivated());
- assertTrue("3.1", !pluginB.isPluginActivated());
- assertTrue("3.2", !pluginC.isPluginActivated());
-
- // run the extension
- Object result = null;
- try {
- result = o.run(null);
- } catch (Exception e) {
- fail("4.0 " + e.getMessage());
- }
- if (result instanceof Exception) {
- fail("4.1 " + ((Exception) result).getMessage());
- }
-
- // check activation state
- assertTrue("5.0", pluginA.isPluginActivated());
- assertTrue("5.1", !pluginB.isPluginActivated());
- assertTrue("5.2", pluginC.isPluginActivated()); // by direct reference to class in C from A.run()
-
- // check result
- if (result instanceof Class) {
- ClassLoader loader = ((Class) result).getClassLoader();
- if (loader instanceof PluginClassLoader) {
- assertTrue("6.0", pluginC == ((PluginClassLoader) loader).getPluginDescriptor());
- } else
- fail("6.1");
- } else
- fail("6.2");
-
- // check activation state (no change)
- assertTrue("7.0", pluginA.isPluginActivated());
- assertTrue("7.1", !pluginB.isPluginActivated());
- assertTrue("7.2", pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java
deleted file mode 100644
index 2425a76..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_DirectPluginRef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_DirectPluginRef extends WorkspaceSessionTest {
-public ActivationTest_DirectPluginRef() {
- super(null);
-}
-public ActivationTest_DirectPluginRef(String name) {
- super(name);
-}
-public void testExtensionDirectReferenceToPluginClassTest() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
-
- // check initial activation state
- assertTrue("1.0", !pluginA.isPluginActivated());
- assertTrue("1.1", !pluginB.isPluginActivated());
- assertTrue("1.2", !pluginC.isPluginActivated());
-
- // get base extension
- IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".referencePlugin");
- assertTrue("2.0", cfig.length == 1);
- IPlatformRunnable o = null;
- try {
- o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
- } catch (CoreException e) {
- fail("2.1 " + e.getMessage());
- }
-
- // check activation state
- assertTrue("3.0", pluginA.isPluginActivated());
- assertTrue("3.1", !pluginB.isPluginActivated());
- assertTrue("3.2", !pluginC.isPluginActivated());
-
- // run the extension
- Object result = null;
- try {
- result = o.run(null);
- } catch (Exception e) {
- fail("4.0 " + e.getMessage());
- }
- if (result instanceof Exception) {
- fail("4.1 " + ((Exception) result).getMessage());
- }
-
- // check activation state
- assertTrue("5.0", pluginA.isPluginActivated());
- assertTrue("5.1", pluginB.isPluginActivated()); // by direct reference to B plugin class from A.run()
- assertTrue("5.2", !pluginC.isPluginActivated());
-
- // check result
- if (result instanceof Plugin) {
- Plugin p = null;
- try {
- p = pluginB.getPlugin();
- } catch (CoreException e) {
- fail("6.0 " + e.getMessage());
- }
- assertTrue("6.1", ((Plugin) result) == p);
- } else
- fail("6.2");
-
- // check activation state (no change)
- assertTrue("7.0", pluginA.isPluginActivated());
- // assert("7.1", pluginB.isPluginActivated());
- assertTrue("7.2", !pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java
deleted file mode 100644
index c295451..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_IndirectRef.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_IndirectRef extends WorkspaceSessionTest {
-public ActivationTest_IndirectRef() {
- super(null);
-}
-public ActivationTest_IndirectRef(String name) {
- super(name);
-}
-public void testExtensionIndirectReferenceToPluginTest() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
-
- // check initial activation state
- assertTrue("1.0", !pluginA.isPluginActivated());
- assertTrue("1.1", !pluginB.isPluginActivated());
- assertTrue("1.2", !pluginC.isPluginActivated());
-
- // get base extension
- IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".lookupPlugin");
- assertTrue("2.0", cfig.length == 1);
- IPlatformRunnable o = null;
- try {
- o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
- } catch (CoreException e) {
- fail("2.1 " + e.getMessage());
- }
-
- // check activation state
- assertTrue("3.0", pluginA.isPluginActivated());
- assertTrue("3.1", !pluginB.isPluginActivated());
- assertTrue("3.2", !pluginC.isPluginActivated());
-
- // run the extension
- Object result = null;
- try {
- result = o.run(null);
- } catch (Exception e) {
- fail("4.0 " + e.getMessage());
- }
- if (result instanceof Exception) {
- fail("4.1 " + ((Exception) result).getMessage());
- }
-
- // check activation state
- assertTrue("5.0", pluginA.isPluginActivated());
- assertTrue("5.1", !pluginB.isPluginActivated());
- assertTrue("5.2", pluginC.isPluginActivated()); // by indirect reference to C plugin class from A.run()
-
- // check result
- if (result instanceof Plugin) {
- Plugin p = null;
- try {
- p = pluginC.getPlugin();
- } catch (CoreException e) {
- fail("6.0 " + e.getMessage());
- }
- assertTrue("6.1", ((Plugin) result) == p);
- } else
- fail("6.2");
-
- // check activation state (no change)
- assertTrue("7.0", pluginA.isPluginActivated());
- assertTrue("7.1", !pluginB.isPluginActivated());
- assertTrue("7.2", pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java
deleted file mode 100644
index 8c49382..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ActivationTest_NoRef.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.boot.IPlatformRunnable;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class ActivationTest_NoRef extends WorkspaceSessionTest {
-public ActivationTest_NoRef() {
- super(null);
-}
-public ActivationTest_NoRef(String name) {
- super(name);
-}
-public void testExtensionNoReferenceTest() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
-
- // check initial activation state
- assertTrue("1.0", !pluginA.isPluginActivated());
- assertTrue("1.1", !pluginB.isPluginActivated());
- assertTrue("1.2", !pluginC.isPluginActivated());
-
- // get base extension
- IConfigurationElement[] cfig = registry.getConfigurationElementsFor("plugin.a", "case", "plugin.a" + ".base");
- assertTrue("2.0", cfig.length == 1);
- IPlatformRunnable o = null;
- try {
- o = (IPlatformRunnable) cfig[0].createExecutableExtension("run");
- } catch (CoreException e) {
- fail("2.1");
- }
-
- // check activation state
- assertTrue("3.0", pluginA.isPluginActivated());
- assertTrue("3.1", !pluginB.isPluginActivated());
- assertTrue("3.2", !pluginC.isPluginActivated());
-
- // run the extension
- try {
- o.run(null);
- } catch (Exception e) {
- fail("4.0");
- }
-
- // check activation state
- assertTrue("5.0", pluginA.isPluginActivated());
- assertTrue("5.1", !pluginB.isPluginActivated());
- assertTrue("5.2", !pluginC.isPluginActivated());
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
deleted file mode 100644
index eda12a2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/AllTests.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-
-public AllTests() {
- super(null);
-}
-
-public AllTests(String name) {
- super(name);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(PluginResolveTest_1.suite());
- suite.addTest(PluginResolveTest_2.suite());
- suite.addTest(PluginResolveTest_3.suite());
- suite.addTest(PluginResolveTest_4.suite());
- suite.addTest(PluginResolveTest_5.suite());
- suite.addTest(PluginResolveTest_6.suite());
- suite.addTest(PluginResolveTest_7.suite());
- suite.addTest(PluginResolveTest_8.suite());
- suite.addTest(PluginResolveTest_9.suite());
- suite.addTest(PluginResolveTest_10.suite());
- suite.addTest(PluginResolveTest_11.suite());
- suite.addTest(PluginResolveTest_12.suite());
- suite.addTest(PluginResolveTest_13.suite());
- suite.addTest(PluginResolveTest_14.suite());
- suite.addTest(PluginResolveTest_15.suite());
- suite.addTest(PluginResolveTest_16.suite());
- suite.addTest(PluginResolveTest_17.suite());
- suite.addTest(PluginResolveTest_18.suite());
- suite.addTest(PluginResolveTest_19.suite());
- suite.addTest(PluginResolveTest_20.suite());
- suite.addTest(PluginResolveTest_21.suite());
- suite.addTest(PluginResolveTest_22.suite());
- suite.addTest(PluginResolveTest_23.suite());
- suite.addTest(PluginResolveTest_24.suite());
- suite.addTest(PluginResolveTest_25.suite());
- suite.addTest(PluginResolveTest_26.suite());
- suite.addTest(PluginResolveTest_27.suite());
- suite.addTest(PluginResolveTest_28.suite());
- suite.addTest(PluginResolveTest_29.suite());
- suite.addTest(PluginResolveTest_30.suite());
- suite.addTest(PluginResolveTest_31.suite());
- suite.addTest(PluginResolveTest_32.suite());
- suite.addTest(PluginResolveTest_33.suite());
- suite.addTest(PluginVersionTest.suite());
- suite.addTest(PluginVersionTest_2.suite());
- suite.addTest(PluginXmlTest.suite());
- suite.addTest(BasicXMLTest.suite());
- suite.addTest(NumberOfElementsTest.suite());
- suite.addTest(ExtensiveLibraryTest.suite());
- suite.addTest(ExtensiveRequiresTest.suite());
- suite.addTest(BadPluginsTest.suite());
- suite.addTest(ExtensiveFragmentTest.suite());
- suite.addTest(BasicFragmentTest.suite());
- suite.addTest(SoftPrereqTest_1.suite());
- suite.addTest(SoftPrereqTest_2.suite());
- suite.addTest(SoftPrereqTest_3.suite());
- suite.addTest(SoftPrereqTest_4.suite());
- suite.addTest(SoftPrereqTest_5.suite());
- suite.addTest(SoftPrereqTest_6.suite());
- suite.addTest(SoftPrereqTest_7.suite());
- suite.addTest(SoftPrereqTest_8.suite());
- suite.addTest(SoftPrereqTest_9.suite());
- suite.addTest(SoftPrereqTest_10.suite());
- suite.addTest(SoftPrereqTest_11.suite());
- suite.addTest(SoftPrereqTest_12.suite());
- suite.addTest(SoftPrereqTest_13.suite());
- suite.addTest(SoftPrereqTest_14.suite());
- suite.addTest(SoftPrereqTest_15.suite());
- suite.addTest(SoftPrereqTest_16.suite());
- suite.addTest(SoftPrereqTest_17.suite());
- suite.addTest(SoftPrereqTest_18.suite());
- suite.addTest(SoftPrereqTest_19.suite());
- suite.addTest(SoftPrereqTest_20.suite());
- suite.addTest(SoftPrereqTest_21.suite());
- suite.addTest(SoftPrereqTest_22.suite());
- suite.addTest(ConflictResolveTest_1.suite());
- suite.addTest(ConflictResolveTest_2.suite());
- suite.addTest(ConflictResolveTest_3.suite());
- suite.addTest(ConflictResolveTest_4.suite());
- suite.addTest(ConflictResolveTest_5.suite());
- suite.addTest(ConflictResolveTest_6.suite());
- suite.addTest(ConflictResolveTest_7.suite());
- suite.addTest(CircularTest.suite());
- suite.addTest(RegressionResolveTest_1.suite());
- suite.addTest(RegressionResolveTest_2.suite());
- suite.addTest(RegressionResolveTest_3.suite());
- suite.addTest(RegressionResolveTest_4.suite());
- suite.addTest(RegressionResolveTest_5.suite());
- suite.addTest(RegressionResolveTest_6.suite());
- suite.addTest(RegressionResolveTest_7.suite());
- suite.addTest(RegressionResolveTest_8.suite());
- suite.addTest(RegressionResolveTest_9.suite());
- suite.addTest(RegressionResolveTest_10.suite());
- suite.addTest(RegressionResolveTest_11.suite());
- suite.addTest(FragmentResolveTest_1.suite());
- suite.addTest(FragmentResolveTest_2.suite());
- suite.addTest(FragmentResolveTest_3.suite());
- suite.addTest(FragmentResolveTest_4.suite());
- suite.addTest(FragmentResolveTest_5.suite());
- suite.addTest(FragmentResolveTest_6.suite());
- suite.addTest(FragmentResolveTest_7.suite());
- suite.addTest(FragmentResolveTest_8.suite());
- suite.addTest(FragmentResolveTest_9.suite());
- suite.addTest(FragmentResolveTest_10.suite());
- suite.addTest(FragmentResolveTest_11.suite());
- suite.addTest(FragmentResolveTest_12.suite());
- suite.addTest(FragmentResolveTest_13.suite());
- suite.addTest(OrphanTest.suite());
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java
deleted file mode 100644
index 4fe6a06..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BadPluginsTest.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.net.URL;
-import junit.framework.*;
-
-
-public class BadPluginsTest extends EclipseWorkspaceTest {
-
-public BadPluginsTest() {
- super(null);
-}
-
-public BadPluginsTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- return new TestSuite(BadPluginsTest.class);
-}
-
-public void testBadElements() {
- String[] badElements = {
- "badTopLevelElementsTest",
- "badPluginElementsTest",
- "badExtensionPointElementsTest",
- "badLibrary1ElementsTest",
- "badLibrary2ElementsTest",
- "badRequiresImportElementsTest",
- "badRequiresElementsTest",
- "badRuntimeElementsTest",
- };
- String[] errorMessages = {
- "badTopLevelElementsTest.xml: Unknown element \"notAPlugin\", found at the top level, ignored.",
- "badPluginElementsTest.xml: Unknown element \"somethingBad\", found within a \"plugin / fragment\", ignored.",
- "badExtensionPointElementsTest.xml: Unknown element \"nameless\", found within a \"extension-point\", ignored.",
- "badLibrary1ElementsTest.xml: Unknown element \"notAnExport\", found within a \"library\", ignored.",
- "badLibrary2ElementsTest.xml: Unknown element \"badElement\", found within a \"export\", ignored.",
- "badRequiresImportElementsTest.xml: Unknown element \"unrecognizedElement\", found within a \"requires\", ignored.",
- "badRequiresElementsTest.xml: Unknown element \"notAnImport\", found within a \"requires\", ignored.",
- "badRuntimeElementsTest.xml: Unknown element \"notALibrary\", found within a \"runtime\", ignored.",
- };
-
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- for (int i = 0; i < badElements.length; i++) {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badElements[i] + ".xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- if (badElements[i].equals("badTopLevelElementsTest")) {
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue(i + ".0 Only one plugin", pluginDescriptors.length == 0);
- if (errorMessages[i].equals("")) {
- System.out.println ("id = <no plugin>");
- System.out.println (problems.toString());
- } else
- assertTrue(i + ".1 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
- } else {
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue(i + ".0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue(i + ".1 Got the right plugin", plugin.getId().equals(badElements[i]));
- if (errorMessages[i].equals("")) {
- System.out.println ("id = " + plugin.getId());
- System.out.println (problems.toString());
- } else
- assertTrue(i + ".2 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
- }
- }
- } catch (Exception e) {}
-}
-
-public void testBadAttributes() {
- String[] badAttrs = {
- "badPluginAttributesTest",
- "badFragment1AttributesTest",
- "badExtensionPointAttributesTest",
- "badExtensionAttributesTest",
- "badRequiresImport1AttributesTest",
- "badRequiresImport2AttributesTest",
- "badRequiresImport3AttributesTest",
- "badLibrary1AttributesTest",
- "badLibrary2AttributesTest",
- "badLibrary3AttributesTest",
- "badFragment2AttributesTest",
- };
- String[] errorMessages = {
- "badPluginAttributesTest.xml: Unknown attribute \"a-bad-attribute\" for element \"plugin\" ignored.",
- "badFragment1AttributesTest.xml: Unknown attribute \"vendor-name\" for element \"fragment\" ignored.",
- "badExtensionPointAttributesTest.xml: Unknown attribute \"bogusAttribute\" for element \"extension-point\" ignored.",
- "badExtensionAttributesTest.xml: Unknown attribute \"hello\" for element \"extension\" ignored.",
- "badRequiresImport1AttributesTest.xml: Unknown attribute \"badImportAttr\" for element \"import\" ignored.",
- "badRequiresImport2AttributesTest.xml: \"notTrue\" is not a valid value for the attribute \"export\". Use \"true\" or \"false\".",
- "badRequiresImport3AttributesTest.xml: \"incompatible\" is not a valid value for the attribute \"match\". Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".",
- "badLibrary1AttributesTest.xml: Unknown attribute \"badAttribute\" for element \"library\" ignored.",
- "badLibrary2AttributesTest.xml: Unknown attribute \"badExportAttribute\" for element \"library\" ignored.",
- "badLibrary3AttributesTest.xml: Unknown library type \"source\" for library \"lib1.jar\".",
- "badFragment2AttributesTest.xml: \"nothing\" is not a valid value for the attribute \"match\". Use \"perfect\", \"equivalent\", \"compatible\" or \"greaterOrEqual\".",
- };
-
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- for (int i = 0; i < badAttrs.length; i++) {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badAttrs[i] + ".xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- String id = null;
- if ((badAttrs[i].equals("badFragment1AttributesTest")) ||
- (badAttrs[i].equals("badFragment2AttributesTest"))) {
- PluginFragmentModel[] fragmentDescriptors = ((PluginRegistryModel)registry).getFragments();
- assertTrue(i + ".0 Only one fragment", fragmentDescriptors.length == 1);
- PluginFragmentModel fragment = (PluginFragmentModel)fragmentDescriptors[0];
- id = fragment.getId();
- assertTrue(i + ".1 Got the right fragment", id.equals(badAttrs[i]));
- } else {
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue(i + ".0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- id = plugin.getId();
- assertTrue(i + ".1 Got the right plugin", id.equals(badAttrs[i]));
- }
- if (errorMessages[i].equals("")) {
- System.out.println("id = " + id);
- System.out.println(problems.toString());
- } else {
- assertTrue(i + ".2 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
- }
- }
- } catch (Exception e) {}
-}
-
-public void testBadPlugins() {
- String[] badTests = {
- "noPluginIdTest",
- "blankPluginIdTest",
- "noPluginNameTest",
- "blankPluginNameTest",
- "noPluginVersionTest",
- "blankPluginVersionTest",
- "badPluginVersionTest",
- "badPluginVersion2Test",
- "badPluginVersion3Test",
- "badPluginVersion4Test",
- "badPluginVersion5Test",
- };
- String[] errorMessages = {
- "Id attribute missing from plug-in or fragment at \"file:",
- "Id attribute missing from plug-in or fragment at \"file:",
- "Name attribute missing from plug-in or fragment at \"file:",
- "Name attribute missing from plug-in or fragment at \"file:",
- "Version attribute missing from plug-in or fragment at \"file:",
- "A plug-in version identifier must be non-empty.",
- "The service (3rd) component of plug-in version identifier, \"1.2.bad\", must be numeric.",
- "The minor (2nd) component of plug-in version identifier, \"1.bad.0\", must be numeric.",
- "Plug-in version identifier, \"...\", must not start with a separator character.",
- "The major (1st) component of plug-in version identifier, \"one\", must be numeric.",
- "Plug-in version identifier, \"1.2.3.4.5\", can contain a maximum of four components.",
- };
-
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- for (int i = 0; i < badTests.length; i++) {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- String[] pluginPath = new String[1];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badTests[i] + ".xml");
- URL pluginURLs[] = new URL[1];
- for (int j = 0; j < pluginURLs.length; j++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[j]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[j], true);
- }
- pluginURLs[j] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- PluginDescriptorModel[] plugins = ((PluginRegistryModel)registry).getPlugins();
- assertTrue(i + ".0 No plugins found", plugins.length == 0);
- if (errorMessages[i].equals("")) {
- System.out.println("id = " + badTests[i]);
- System.out.println(problems.toString());
- } else {
- assertTrue(i + ".1 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
- }
- }
- } catch (Exception e) {
- fail("0.2 Unexpected exception - " + e.getMessage());
- }
-}
-
-public void testBadFragment() {
- String[] badAttrs = {
- "badFragmentsTest",
- "fragment10799",
- };
- String[] errorMessages = {
- "Plug-in descriptor \"org.eclipse.not.there\" not found for fragment \"badFragmentsTest\". Fragment ignored.",
- "Fragment \"Fragment 10799\" requires non-existant plug-in \"org.apache.something.which.does.not.exist\". Fragment ignored.",
- };
-
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- for (int i = 0; i < badAttrs.length; i++) {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- String[] pluginPath = new String[2];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badAttrs[i] + ".xml");
- URL pluginURLs[] = new URL[2];
- for (int j = 0; j < pluginURLs.length; j++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[j]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[j], true);
- }
- pluginURLs[j] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- String id = null;
- PluginFragmentModel[] fragmentDescriptors = ((PluginRegistryModel)registry).getFragments();
- assertTrue(i + ".0 Only one fragment", fragmentDescriptors.length == 1);
- PluginFragmentModel fragment = (PluginFragmentModel)fragmentDescriptors[0];
- id = fragment.getId();
- assertTrue(i + ".1 Got the right fragment", id.equals(badAttrs[i]));
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue(i + ".2 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- id = plugin.getId();
- assertTrue(i + ".3 Got the right plugin", id.equals("badFragmentsPluginTest"));
- if (errorMessages[i].equals("")) {
- System.out.println("id = " + id);
- System.out.println(problems.toString());
- } else {
- assertTrue(i + ".4 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
- }
- }
- } catch (Exception e) {
- fail("0.5 Unexpected exception - " + e.getMessage());
- }
-}
-
-public void testFailedFragment() {
- String[] badAttrs = {
- "noFragmentIdTest",
- "blankFragmentIdTest",
- "noFragmentNameTest",
- "blankFragmentNameTest",
- "noFragmentVersionTest",
- "blankFragmentVersionTest",
- "badFragmentVersionTest",
- "noFragmentPluginIdTest",
- "blankFragmentPluginIdTest",
- "noFragmentPluginVersionTest",
- "blankFragmentPluginVersionTest",
- };
- String[] errorMessages = {
- "Id attribute missing from plug-in or fragment at \"file:",
- "Id attribute missing from plug-in or fragment at \"file:",
- "Name attribute missing from plug-in or fragment at \"file:",
- "Name attribute missing from plug-in or fragment at \"file:",
- "Version attribute missing from plug-in or fragment at \"file:",
- "A plug-in version identifier must be non-empty.",
- "The service (3rd) component of plug-in version identifier, \"1.2.bad\", must be numeric.",
- "Plug-in name attribute missing from fragment at \"file:",
- "Plug-in name attribute missing from fragment at \"file:",
- "Plug-in version attribute missing from fragment at \"file:",
- "A plug-in version identifier must be non-empty.",
- };
-
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- for (int i = 0; i < badAttrs.length; i++) {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- String[] pluginPath = new String[2];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/badFragmentsPluginTest.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/" + badAttrs[i] + ".xml");
- URL pluginURLs[] = new URL[2];
- for (int j = 0; j < pluginURLs.length; j++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[j]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[j], true);
- }
- pluginURLs[j] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- PluginFragmentModel[] fragmentDescriptors = ((PluginRegistryModel)registry).getFragments();
- assertTrue(i + ".0 No fragments found", fragmentDescriptors.length == 0);
- if (errorMessages[i].equals("")) {
- System.out.println("id = " + badAttrs[i]);
- System.out.println(problems.toString());
- } else {
- assertTrue(i + ".1 Got the right errors", problems.toString().indexOf(errorMessages[i]) != -1);
- }
- }
- } catch (Exception e) {
- fail("0.2 Unexpected exception - " + e.getMessage());
- }
-}
-public void testDuplicatePlugin() {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String errorMessage = "Two plug-ins found with the same id: \"duplicatePluginTest\". Ignoring duplicate at \"file:";
- try {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "badPluginsTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- String[] pluginPath = new String[2];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/duplicatePlugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/badPluginsTest/duplicatePlugin2.xml");
- URL pluginURLs[] = new URL[2];
- for (int j = 0; j < pluginURLs.length; j++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[j]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[j], true);
- }
- pluginURLs[j] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- PluginDescriptorModel[] pluginDescriptors = ((PluginRegistryModel)registry).getPlugins();
- assertTrue("1.0 One plugin found", pluginDescriptors.length == 1);
- if (errorMessage.equals("")) {
- System.out.println(problems.toString());
- } else {
- assertTrue("1.1 Got the right errors", problems.toString().indexOf(errorMessage) != -1);
- }
- } catch (Exception e) {
- fail("0.2 Unexpected exception - " + e.getMessage());
- }
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java
deleted file mode 100644
index d934969..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicFragmentTest.java
+++ /dev/null
@@ -1,282 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.net.URL;
-import junit.framework.*;
-
-
-public class BasicFragmentTest extends EclipseWorkspaceTest {
-
-public BasicFragmentTest() {
- super(null);
-}
-
-public BasicFragmentTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- // These 4 tests are designed primarily to address
- // PR1GHFPFY which noted that runtime libraries in a
- // fragment were being added to the relevant plugin
- // twice.
- suite.addTest(new BasicFragmentTest("extensionPointTest"));
- suite.addTest(new BasicFragmentTest("extensionTest"));
- suite.addTest(new BasicFragmentTest("libraryTest"));
- suite.addTest(new BasicFragmentTest("requiresTest"));
- // The following test was added for PR1GHH81D. In this
- // PR we found that we didn't always pick up the latest
- // version of a fragment to augment the plugin
- suite.addTest(new BasicFragmentTest("fragmentVersionTest"));
- return suite;
-}
-public void extensionPointTest() {
- // Ensure fragment extension point information is not being added twice to the plugin
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[1];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/extensionPointTest/");
- URL pluginURLs[] = new URL[1];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
- assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("1.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("1.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("1.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-
- // Check extension points
- ExtensionPointModel[] extensionPoints = plugin.getDeclaredExtensionPoints();
- assertTrue("1.4 Got 4 extension points", extensionPoints.length == 4);
- assertNotNull("1.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
- assertNotNull("1.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
- assertNotNull("1.7 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
- assertNotNull("1.8 Got xpt4 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt4"));
-}
-
-public void extensionTest() {
- // Ensure fragment extension information is not being added twice to the plugin
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[1];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/extensionTest/");
- URL pluginURLs[] = new URL[1];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
- assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("2.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("2.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("2.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-
- // Check extensions
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- assertTrue("2.4 Got 4 extensions", extensions.length == 4);
- assertNotNull("2.5 Got x1 extension", ((IPluginDescriptor)plugin).getExtension("x1"));
- assertNotNull("2.6 Got x2 extension", ((IPluginDescriptor)plugin).getExtension("x2"));
- assertNotNull("2.7 Got x3 extension", ((IPluginDescriptor)plugin).getExtension("x3"));
- assertNotNull("2.8 Got x4 extension", ((IPluginDescriptor)plugin).getExtension("x4"));
-}
-
-public void libraryTest() {
- // Ensure fragment library information is not being added twice to the plugin
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[1];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/libraryTest/");
- URL pluginURLs[] = new URL[1];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
- assertTrue("3.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("3.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("3.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("3.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-
- // Check libraries
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue ("3.4 Got 4 libraries", libraries.length == 4);
- int idx1 = -1;
- int idx2 = -1;
- int idx3 = -1;
- int idx4 = -1;
- for (int i = 0; i < libraries.length; i++) {
- if (libraries[i].getName().equals("lib1.jar")) {
- idx1 = i;
- } else if (libraries[i].getName().equals("lib2.jar")) {
- idx2 = i;
- } else if (libraries[i].getName().equals("lib3.jar")) {
- idx3 = i;
- } else if (libraries[i].getName().equals("lib4.jar")) {
- idx4 = i;
- }
- }
- assertTrue("3.5 Have lib1.jar library", idx1 != -1);
- assertTrue("3.6 Have lib2.jar library", idx2 != -1);
- assertTrue("3.7 Have lib3.jar library", idx3 != -1);
- assertTrue("3.8 Have lib4.jar library", idx4 != -1);
-
-}
-
-
-public void requiresTest() {
- // Ensure fragment prerequisite information is not being added twice to the plugin
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[1];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHFPFYTest/requiresTest/");
- URL pluginURLs[] = new URL[1];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHFPFYPluginTest");
- assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("4.1 Got the right plugin", plugin.getId().equals("PR1GHFPFYPluginTest"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("4.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("4.3 Got the right fragment", fragment.getId().equals("PR1GHFPFYFragmentTest"));
-
- // Check requires
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- assertTrue ("4.4 Got 4 prerequisites", requires.length == 4);
- int idx1 = -1;
- int idx2 = -1;
- int idx3 = -1;
- int idx4 = -1;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getPlugin().equals("testa")) {
- idx1 = i;
- } else if (requires[i].getPlugin().equals("testb")) {
- idx2 = i;
- } else if (requires[i].getPlugin().equals("testc")) {
- idx3 = i;
- } else if (requires[i].getPlugin().equals("testd")) {
- idx4 = i;
- }
- }
- assertTrue("4.5 Have testa prerequisite", idx1 != -1);
- assertTrue("4.6 Have testb prerequisite", idx2 != -1);
- assertTrue("4.7 Have testc prerequisite", idx3 != -1);
- assertTrue("4.8 Have testd prerequisite", idx4 != -1);
-}
-
-public void fragmentVersionTest() {
- // Ensure that we pick up the latest version of a fragment to augment a plugin
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "basicFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[4];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/plugin.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/fragment1.xml");
- pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/fragment2.xml");
- pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/PR1GHH81DTest/fragment3.xml");
- URL pluginURLs[] = new URL[4];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("PR1GHH81DPluginTest");
- assertTrue("5.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("5.1 Got the right plugin", plugin.getId().equals("PR1GHH81DPluginTest"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("5.2 Three fragments", fragmentList.length == 3);
-
- // Now make sure that the resulting plugin descriptor picked up only the latest
- // version of the fragment. This means there should be a total of 5 library entries:
- // lib1, lib2, lib5, lib6, and lib7.
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue ("5.3 Got 5 libraries", libraries.length == 5);
- int idx1 = -1;
- int idx2 = -1;
- int idx5 = -1;
- int idx6 = -1;
- int idx7 = -1;
- for (int i = 0; i < libraries.length; i++) {
- if (libraries[i].getName().equals("lib1.jar")) {
- idx1 = i;
- } else if (libraries[i].getName().equals("lib2.jar")) {
- idx2 = i;
- } else if (libraries[i].getName().equals("lib5.jar")) {
- idx5 = i;
- } else if (libraries[i].getName().equals("lib6.jar")) {
- idx6 = i;
- } else if (libraries[i].getName().equals("lib7.jar")) {
- idx7 = i;
- }
- }
- assertTrue("5.4 Have lib1.jar library", idx1 != -1);
- assertTrue("5.5 Have lib2.jar library", idx2 != -1);
- assertTrue("5.6 Have lib5.jar library", idx5 != -1);
- assertTrue("5.7 Have lib6.jar library", idx6 != -1);
- assertTrue("5.8 Have lib7.jar library", idx7 != -1);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java
deleted file mode 100644
index 5210067..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/BasicXMLTest.java
+++ /dev/null
@@ -1,2105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.io.*;
-import junit.framework.*;
-import org.xml.sax.*;
-
-public class BasicXMLTest extends EclipseWorkspaceTest {
- PluginDescriptor plugin = null;
- PluginRegistry registry = null;
- InternalFactory factory = null;
-public BasicXMLTest() {
- super(null);
-}
-public BasicXMLTest(String name) {
- super(name);
-}
-/* doParsing
- * This method will parse a series of XML files. The input array should be
- * an array of string buffers where each string buffer is considered a complete
- * XML file. The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-public PluginRegistry doParsing(InternalFactory factory, String[] localXMLFiles) {
-
- registry = new PluginRegistry();
- if (localXMLFiles == null || localXMLFiles.length == 0)
- return null;
-
- for (int i = 0; i < localXMLFiles.length; i++) {
- String thisXMLString = localXMLFiles[i];
- PluginModel localPlugin = null;
- try {
- ByteArrayInputStream is = new ByteArrayInputStream(thisXMLString.toString().getBytes());
- PluginParser p = new PluginParser(factory);
- localPlugin = p.parsePlugin(new InputSource(is));
- } catch (SAXParseException se) {
- /* exception details logged by parser */
- fail("1.2 SAX Parser exception encountered.", se);
- } catch (Exception e) {
- fail("1.3 ", e);
- }
- if (localPlugin instanceof PluginDescriptorModel) {
- registry.addPlugin((PluginDescriptorModel)localPlugin);
- } else {
- registry.addFragment((PluginFragmentModel)localPlugin);
- }
- localPlugin.setRegistry(registry);
- }
- return registry;
-}
-public String[] extensionPointSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("First test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[2];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("first");
- pluginExtensionPoints[0].setSchema("some schema name");
- pluginExtensionPoints[1].setName("Second Extension Point");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* extensionPointTest
- * Tests to ensure we create extension point entries and populate them correctly.
- * Note that this test will NOT ensure that we correctly link related extensions
- * and extension points. This will be done in a different test
- */
-public void extensionPointTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extensionPointSetup();
- registry = doParsing(factory, localXMLFiles);
-
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
- // Check both the read-only accessors and the read-write accessors
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Runtime List", pluginList[0].getRuntime());
- assertNull("2.7 Requires List", pluginList[0].getRequires());
- assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
- // Now check the same things but with the read-only accessors
- assertEquals("2.11 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("2.12 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("2.13 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("2.14 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("2.15 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
- assertEquals("2.16 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("2.17 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("2.18 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("2.19 Plugin Location", ROPluginList[0].getInstallURL());
-
- // Now check the extension points
- ExtensionPointModel[] extPtList = pluginList[0].getDeclaredExtensionPoints();
- assertNotNull("3.1 Extension Point list null", extPtList);
- assertEquals("3.2 Number of extension points", extPtList.length, 2);
- IExtensionPoint[] ROExtPtList = ROPluginList[0].getExtensionPoints();
- assertNotNull("3.1 Extension Point list null", ROExtPtList);
- assertEquals("3.2 Number of extension points", ROExtPtList.length, 2);
-
- ExtensionPoint[] originalExtPts = (ExtensionPoint[]) plugin.getDeclaredExtensionPoints();
-
- // Make sure the values in this extension points are correct
- assertEquals("4.1 Extension Point name", extPtList[0].getName(), originalExtPts[0].getName());
- assertEquals("4.2 Extension Point id", extPtList[0].getId(), originalExtPts[0].getId());
- assertEquals("4.3 Extension Point schema", extPtList[0].getSchema(), originalExtPts[0].getSchema());
- assertEquals("4.4 Extension Point name", ROExtPtList[0].getLabel(), originalExtPts[0].getName());
- assertEquals("4.5 Extension Point id", ROExtPtList[0].getSimpleIdentifier(), originalExtPts[0].getId());
- assertEquals("4.6 Extension Point schema", ROExtPtList[0].getSchemaReference(), originalExtPts[0].getSchemaReference());
-
- // And check the 2nd requires element too
- assertEquals("5.1 Extension Point name", extPtList[1].getName(), originalExtPts[1].getName());
- assertEquals("5.2 Extension Point id", extPtList[1].getId(), originalExtPts[1].getId());
- assertEquals("5.3 Extension Point schema", extPtList[1].getSchema(), originalExtPts[1].getSchema());
- assertEquals("5.4 Extension Point name", ROExtPtList[1].getLabel(), originalExtPts[1].getName());
- assertEquals("5.5 Extension Point id", ROExtPtList[1].getSimpleIdentifier(), originalExtPts[1].getId());
- assertEquals("5.6 Extension Point schema", ROExtPtList[1].getSchemaReference(), originalExtPts[1].getSchemaReference());
-
- factory = null;
-}
-public String[] extensionSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Extension[] pluginExtensions = new Extension[3];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("First Extension Point");
-
- pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
- pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
- // First group of properties
- ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
- for (int i = 0; i < propertyGroup1.length; i++) {
- propertyGroup1[i] = new ConfigurationProperty();
- }
- propertyGroup1[0].setName("id");
- propertyGroup1[0].setValue("category_id");
- propertyGroup1[1].setName("name");
- propertyGroup1[1].setValue("category_name");
- // Second group of properties
- ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
- for (int i = 0; i < propertyGroup2.length; i++) {
- propertyGroup2[i] = new ConfigurationProperty();
- }
- propertyGroup2[0].setName("id");
- propertyGroup2[0].setValue("wizard_id");
- propertyGroup2[1].setName("name");
- propertyGroup2[1].setValue("wizard_name");
- propertyGroup2[2].setName("class");
- propertyGroup2[2].setValue("wizard_class");
- // Third group of properties
- ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
- for (int i = 0; i < propertyGroup3.length; i++) {
- propertyGroup3[i] = new ConfigurationProperty();
- }
- propertyGroup3[0].setName("class");
- propertyGroup3[0].setValue("a selection class");
-
- // First subelement group
- ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup1.length; i++) {
- subElementGroup1[i] = new ConfigurationElement();
- subElementGroup1[i].setParent(pluginExtensions[2]);
- }
- subElementGroup1[0].setName("category");
- subElementGroup1[0].setProperties(propertyGroup1);
-
- subElementGroup1[1].setName("wizard");
- subElementGroup1[1].setProperties(propertyGroup2);
-
- // Second subelement group
- ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup2.length; i++) {
- subElementGroup2[i] = new ConfigurationElement();
- subElementGroup2[i].setParent(subElementGroup1[1]);
- }
- subElementGroup2[0].setName("description");
- subElementGroup2[0].setValue("This is just a description");
- subElementGroup2[1].setName("selection");
- subElementGroup2[1].setProperties(propertyGroup3);
-
- // Now link them together
- subElementGroup1[1].setSubElements(subElementGroup2);
- pluginExtensions[2].setSubElements(subElementGroup1);
- plugin.setDeclaredExtensions(pluginExtensions);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* extensionTest
- * Tests to ensure we create extension entries and populate them correctly.
- * Note that this test will NOT ensure that we correctly link related extensions
- * and extension points. This will be done in a different test
- */
-public void extensionTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extensionSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Runtime List", pluginList[0].getRuntime());
- assertNull("2.7 Requires List", pluginList[0].getRequires());
- assertNull("2.8 Extension Point List", pluginList[0].getDeclaredExtensionPoints());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Repeat for read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("3.7 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("3.8 Extension Point List", ROPluginList[0].getExtensionPoints().length, 0);
- assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
- // Now check the extension points
- ExtensionModel[] extensionList = pluginList[0].getDeclaredExtensions();
- IExtension[] ROExtensionList = ROPluginList[0].getExtensions();
- assertNotNull("4.1 Extension list null", extensionList);
- assertEquals("4.2 Number of extensions", extensionList.length, 3);
- assertNotNull("4.3 Extension list null", ROExtensionList);
- assertEquals("4.4 Number of extensions", ROExtensionList.length, 3);
-
- ExtensionModel[] originalExtensions = plugin.getDeclaredExtensions();
-
- // Make sure the values in this extension are correct
- assertEquals("5.1 Extension name", extensionList[0].getName(), originalExtensions[0].getName());
- assertEquals("5.2 Extension id", extensionList[0].getId(), originalExtensions[0].getId());
- assertEquals("5.3 Extension extension point", extensionList[0].getExtensionPoint(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
- assertEquals("5.4 Extension name", ROExtensionList[0].getLabel(), originalExtensions[0].getName());
- assertEquals("5.5 Extension id", ROExtensionList[0].getSimpleIdentifier(), originalExtensions[0].getId());
- assertEquals("5.6 Extension extension point", ROExtensionList[0].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
-
- // And check the 2nd extension too
- assertEquals("6.1 Extension name", extensionList[1].getName(), originalExtensions[1].getName());
- assertEquals("6.2 Extension id", extensionList[1].getId(), originalExtensions[1].getId());
- assertEquals("6.3 Extension extension point", extensionList[1].getExtensionPoint(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
- assertEquals("6.4 Extension name", ROExtensionList[1].getLabel(), "");
- assertEquals("6.5 Extension id", ROExtensionList[1].getSimpleIdentifier(), originalExtensions[1].getId());
- assertEquals("6.6 Extension extension point", ROExtensionList[1].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
-
- // Finally check the 3rd extension (which is the most complex)
- assertEquals("7.1 Extension name", extensionList[2].getName(), originalExtensions[2].getName());
- assertEquals("7.2 Extension id", extensionList[2].getId(), originalExtensions[2].getId());
- assertEquals("7.3 Extension extension point", extensionList[2].getExtensionPoint(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
- assertEquals("7.4 Extension name", ROExtensionList[2].getLabel(), "");
- assertEquals("7.5 Extension id", ROExtensionList[2].getSimpleIdentifier(), originalExtensions[2].getId());
- assertEquals("7.6 Extension extension point", ROExtensionList[2].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
-
- // Now comes the fun part. Check the structure that hangs off this extension
- ConfigurationElementModel[] subElements = extensionList[2].getSubElements();
- IConfigurationElement ROSubElements[] = ROExtensionList[2].getConfigurationElements();
- ConfigurationElement[] originalSubElements = (ConfigurationElement[]) originalExtensions[2].getSubElements();
- assertNotNull("8.1 First level subelements null", subElements);
- assertEquals("8.2 Number of subelements", subElements.length, 2);
- assertNotNull("8.3 First level subelements null", ROSubElements);
- assertEquals("8.4 Number of subelements", ROSubElements.length, 2);
-
- // First, there should be 2 subelements: category and wizard
- assertEquals("9.1 First level subelements name", subElements[0].getName(), originalSubElements[0].getName());
- assertEquals("9.2 First level subelements name", subElements[1].getName(), originalSubElements[1].getName());
- assertEquals("9.3 First level subelements name", ROSubElements[0].getName(), originalSubElements[0].getName());
- assertEquals("9.4 First level subelements name", ROSubElements[1].getName(), originalSubElements[1].getName());
-
- // Now check the first property group (off the 'category' subelement)
- // Note there is no read-only version of a configuration property
- ConfigurationPropertyModel[] properties = subElements[0].getProperties();
- ConfigurationProperty[] originalProperties = (ConfigurationProperty[]) originalSubElements[0].getProperties();
-
- // There should be 2 properties: id and name
- assertNotNull("10.1 Property Group 1 null", properties);
- assertEquals("10.2 Number of properties", properties.length, 2);
- assertEquals("10.3 Property Group 1 - name", properties[0].getName(), originalProperties[0].getName());
- assertEquals("10.4 Property Group 1 - value", properties[0].getValue(), originalProperties[0].getValue());
- assertEquals("10.5 Property Group 1 - name", properties[1].getName(), originalProperties[1].getName());
- assertEquals("10.6 Property Group 1 - value", properties[1].getValue(), originalProperties[1].getValue());
-
- // Check the second property group (off the 'wizard' subelement)
- properties = subElements[1].getProperties();
- originalProperties = (ConfigurationProperty[]) originalSubElements[1].getProperties();
- assertNotNull("11.1 Property Group 2 null", properties);
- assertEquals("11.2 Number of properties", properties.length, 3);
- assertEquals("11.3 Property Group 2 - name", properties[0].getName(), originalProperties[0].getName());
- assertEquals("11.4 Property Group 2 - value", properties[0].getValue(), originalProperties[0].getValue());
- assertEquals("11.5 Property Group 2 - name", properties[1].getName(), originalProperties[1].getName());
- assertEquals("11.6 Property Group 2 - value", properties[1].getValue(), originalProperties[1].getValue());
- assertEquals("11.7 Property Group 2 - name", properties[2].getName(), originalProperties[2].getName());
- assertEquals("11.8 Property Group 2 - value", properties[2].getValue(), originalProperties[2].getValue());
-
- // The 'wizard' subelement has 2 subelements that hang off it: description and selection
- ConfigurationElementModel[] subElements2 = subElements[1].getSubElements();
- ConfigurationElement[] originalSubElements2 = (ConfigurationElement[]) originalSubElements[1].getSubElements();
- IConfigurationElement ROSubElements2[] = ROSubElements[1].getChildren();
- assertNotNull("12.1 Second level subelements null", subElements2);
- assertEquals("12.2 Number of subelements", subElements2.length, 2);
- assertNotNull("12.3 Second level subelements null", ROSubElements2);
- assertEquals("12.4 Number of subelements", ROSubElements2.length, 2);
-
- // Check for 'description' and 'selection'
- assertEquals("13.1 Second level subelements name", subElements2[0].getName(), originalSubElements2[0].getName());
- assertEquals("13.2 Second level subelements value", subElements2[0].getValue(), originalSubElements2[0].getValue());
- assertEquals("13.3 Second level subelements name", subElements2[1].getName(), originalSubElements2[1].getName());
- assertEquals("13.4 Second level subelements name", ROSubElements2[0].getName(), originalSubElements2[0].getName());
- assertEquals("13.5 Second level subelements value", ROSubElements2[0].getValue(), originalSubElements2[0].getValue());
- assertEquals("13.6 Second level subelements name", ROSubElements2[1].getName(), originalSubElements2[1].getName());
-
- // The last of the second level subelements (selection) has a single property
- properties = subElements2[1].getProperties();
- originalProperties = (ConfigurationProperty[]) originalSubElements2[1].getProperties();
- assertNotNull("14.1 Property Group 3 null", properties);
- assertEquals("14.2 Number of properties", properties.length, 1);
- assertEquals("14.3 Property Group 3 - name", properties[0].getName(), originalProperties[0].getName());
- assertEquals("14.4 Property Group 3 - value", properties[0].getValue(), originalProperties[0].getValue());
-
- factory = null;
-}
-public String[] extExtPtLinkSetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[2];
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("abc1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Extension[] pluginExtensions = new Extension[4];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
- pluginExtensions[1].setName("Second Extension");
- pluginExtensions[1].setId("second");
- pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
- pluginExtensions[2].setName("Third Extension");
- pluginExtensions[2].setId("third");
- pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
- pluginExtensions[3].setName("Fourth Extension");
- pluginExtensions[3].setId("fourth");
- pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
- plugin.setDeclaredExtensions(pluginExtensions);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("firstExtPt");
- pluginExtensionPoints[1].setName("Second Extension Point");
- pluginExtensionPoints[1].setId("secondExtPt");
- pluginExtensionPoints[2].setName("Third Extension Point");
- pluginExtensionPoints[2].setId("thirdExtPt");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test2");
- plugin.setId("abc2");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("Another Extension Point");
- pluginExtensionPoints[0].setId("anotherExtPt");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[1] = plugin;
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[2];
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-/* extExtPtLinkTest
- * Tests to ensure that extensions and extension points are linked correctly
- * at registry resolve time.
- */
-public void extExtPtLinkTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extExtPtLinkSetup();
- registry = doParsing(factory, localXMLFiles);
- registry.resolve(true, true);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
- PluginDescriptorModel plugin1 = registry.getPlugin("abc1");
- IPluginDescriptor ROplugin1 = registry.getPluginDescriptor("abc1");
- PluginDescriptorModel plugin2 = registry.getPlugin("abc2");
- IPluginDescriptor ROplugin2 = registry.getPluginDescriptor("abc2");
- assertNotNull("1.5 Can't find plugin", plugin1);
- assertNotNull("1.6 Can't find read only plugin", ROplugin1);
- assertNotNull("1.7 Can't find plugin", plugin2);
- assertNotNull("1.8 Can't find read only plugin", ROplugin2);
-
- // All of the extensions are in the abc1 plugin. The abc2 plugin just
- // contained one of the extension points.
- ExtensionPointModel[] extensionPtList = plugin1.getDeclaredExtensionPoints();
- IExtensionPoint[] ROExtensionPtList = ROplugin1.getExtensionPoints();
- assertNotNull("2.1 Extension point list null", extensionPtList);
- assertNotNull("2.2 Extension point list null", ROExtensionPtList);
- assertEquals("2.3 Extension point list length", extensionPtList.length, 3);
- assertEquals("2.4 Extension point list length", ROExtensionPtList.length, 3);
-
- String pluginId = plugin1.getId();
- // Just check that the 'point' of the extension, matches the pluginId.extensionPointId
- // pair for this particular extension point
- for (int i = 0; i < extensionPtList.length; i++) {
- ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
- IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
- assertEquals("3.1." + i + " Extension length", extension.length, 1);
- assertEquals("3.2." + i + " Extension length", ROExtension.length, 1);
- assertEquals("3.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
- assertEquals("3.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
- }
-
- // Now repeat for the second plugin
- extensionPtList = plugin2.getDeclaredExtensionPoints();
- ROExtensionPtList = ROplugin2.getExtensionPoints();
- assertNotNull("4.1 Extension point list null", extensionPtList);
- assertNotNull("4.2 Extension point list null", ROExtensionPtList);
- assertEquals("4.3 Extension point list length", extensionPtList.length, 1);
- assertEquals("4.4 Extension point list length", ROExtensionPtList.length, 1);
-
- pluginId = plugin2.getId();
- for (int i = 0; i < extensionPtList.length; i++) {
- ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
- IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
- assertEquals("5.1." + i + " Extension length", extension.length, 1);
- assertEquals("5.2." + i + " Extension length", ROExtension.length, 1);
- assertEquals("5.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
- assertEquals("5.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
- }
-
- factory = null;
-}
-public String[] librarySetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Library[] pluginRuntime = new Library[2];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- String[] exportString = { "*" };
- pluginRuntime[0].setExports(exportString);
- pluginRuntime[1].setName("xerces.jar");
- plugin.setRuntime(pluginRuntime);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* libraryTest
- * Tests to ensure we create library entries and populate them correctly.
- */
-public void libraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = librarySetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Requires List", pluginList[0].getRequires());
- assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
- assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Do the same checks but for the read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("3.5 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
- assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("3.9 Plugin Intall URL", ROPluginList[0].getInstallURL());
-
- // Now check the library elements
- LibraryModel[] libList = pluginList[0].getRuntime();
- ILibrary[] ROLibList = ROPluginList[0].getRuntimeLibraries();
- assertNotNull("4.1 Library list null", libList);
- assertEquals("4.2 Number of library elements", libList.length, 2);
- assertNotNull("4.3 Library list null", ROLibList);
- assertEquals("4.4 Number of library elements", ROLibList.length, 2);
-
- LibraryModel[] originalLibList = plugin.getRuntime();
- String[] exportList = null;
-
- // Make sure the values in this library element are correct
- assertEquals("5.1 Library name", libList[0].getName(), originalLibList[0].getName());
- assertTrue("5.2 Export list", libList[0].isExported());
- assertTrue("5.3 Fully exported list", libList[0].isFullyExported());
- assertNotNull("5.4 Export mask", exportList = libList[0].getExports());
- assertEquals("5.5 Number of export elements", exportList.length, 1);
- assertEquals("5.6 Export list value", exportList[0], originalLibList[0].getExports()[0]);
-
- // And check the 2nd library element too
- assertEquals("6.1 Library name", libList[1].getName(), originalLibList[1].getName());
- assertTrue("6.2 Export list", !libList[1].isExported());
- assertTrue("6.3 Fully exported list", !libList[1].isFullyExported());
- assertNull("6.4 Export mask", libList[1].getExports());
-
- // Repeat the above tests for the read-only accessors
- // Make sure the values in this library element are correct
- assertEquals("7.1 Library name", ROLibList[0].getPath().toString(), originalLibList[0].getName());
- assertTrue("7.2 Export list", ROLibList[0].isExported());
- assertTrue("7.3 Fully exported list", ROLibList[0].isFullyExported());
- // You will get null here because this is a fully exported library
- assertNull("7.4 Export mask", exportList = ROLibList[0].getContentFilters());
-
- // And check the 2nd library element too
- assertEquals("8.1 Library name", ROLibList[1].getPath().toString(), originalLibList[1].getName());
- assertTrue("8.2 Export list", !ROLibList[1].isExported());
- assertTrue("8.3 Fully exported list", !ROLibList[1].isFullyExported());
- assertNull("8.4 Export mask", ROLibList[1].getContentFilters());
-
- factory = null;
-}
-public String[] pluginSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* pluginTest
- * This is a very basic test to make sure we are parsing a very
- * simple XML file and populating a plugin descriptor correctly
- */
-public void pluginTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = pluginSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertEquals("2.5 Plugin Class", plugin.getPluginClass(), pluginList[0].getPluginClass());
- assertNull("2.6 Requires List", pluginList[0].getRequires());
- assertNull("2.7 Runtime List", pluginList[0].getRuntime());
- assertNull("2.8 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
- assertNull("2.9 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.10 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.11 Plugin Location", pluginList[0].getLocation());
-
- // Repeat these tests with the read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
- // assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("3.7 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("3.8 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
- assertEquals("3.9 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("3.10 Plugin Install URL", ROPluginList[0].getInstallURL());
-
- factory = null;
-}
-public String[] PR1GBZ0AWSetup1() {
- PluginDescriptor[] pluginList = new PluginDescriptor[3];
- for (int i = 0; i < pluginList.length; i++) {
- pluginList[i] = new PluginDescriptor();
- }
- pluginList[0].setName("Top level plugin");
- pluginList[0].setId("one.two.three");
- pluginList[0].setVersion("1.0.0");
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.dav4j");
- pluginList[0].setRequires(pluginRequires);
-
- pluginList[1].setName("First Circular plugin");
- pluginList[1].setId("com.ibm.dav4j");
- pluginList[1].setVersion("1.0.0");
-
- pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("a.b.c");
- pluginList[1].setRequires(pluginRequires);
-
- pluginList[2].setName("A final test2");
- pluginList[2].setId("a.b.c");
-
- pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.dav4j");
- pluginList[2].setRequires(pluginRequires);
- pluginList[2].setVersion("1.0.0");
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[3];
-
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-public String[] PR1GBZ0AWSetup2() {
- PluginDescriptor[] pluginList = new PluginDescriptor[2];
- for (int i = 0; i < pluginList.length; i++) {
- pluginList[i] = new PluginDescriptor();
- }
- pluginList[0].setName("First Circular plugin");
- pluginList[0].setId("com.ibm.dav4j");
- pluginList[0].setVersion("1.0.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("a.b.c");
- pluginList[0].setRequires(pluginRequires);
-
- pluginList[1].setName("A final test2");
- pluginList[1].setId("a.b.c");
- pluginList[1].setVersion("1.0.0");
-
- pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.dav4j");
- pluginList[1].setRequires(pluginRequires);
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[2];
-
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-/* PR1GBZ0AWTest1
- * Tests to ensure we have solved this PR. This PR indicates a stack overflow will occur
- * if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = PR1GBZ0AWSetup1();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Now do the resolve. This is where the stack overflow would occur
- registry.resolve(true, true);
-
- // There should be no plugins in the registry
- pluginList = registry.getPlugins();
- assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
- factory = null;
-}
-/* PR1GBZ0AWTest2
- * Tests to ensure we have solved this PR. This PR indicates a stack overflow will occur
- * if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = PR1GBZ0AWSetup2();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Now do the resolve. This is where the stack overflow would occur
- registry.resolve(true, true);
-
- // There should be no plugins in the registry
- pluginList = registry.getPlugins();
- // DDW **NOTE** This test currently fails
- // assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
- factory = null;
-}
-/* readOnlyConfigurationElement
- * This method ensures that once the registry is marked as read-only, configuration
- * elements in the registry cannot be written to. This method is called as part of
- * the test readOnlyTest.
- */
-public void readOnlyConfigurationElement(ConfigurationElement subElement) {
- // Check to ensure we cannot write to the configuration elements
- assertTrue("7.1 Configuration Element marked", subElement.isReadOnly());
- // Now check all methods that can write to a ConfigurationElement
- try {
- subElement.setName("name");
- assertTrue("7.2 ConfigurationElement - setName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- subElement.setParent(new PluginDescriptor());
- assertTrue("7.3 ConfigurationElement - setParent", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- subElement.setProperties(new ConfigurationPropertyModel[1]);
- assertTrue("7.4 ConfigurationElement - setProperties", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- subElement.setSubElements(new ConfigurationElementModel[1]);
- assertTrue("7.5 ConfigurationElement - setSubElements", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- subElement.setValue("value");
- assertTrue("7.6 ConfigurationElement - setValue", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-}
-/* readOnlyConfigurationProperty
- * This method ensures that once the registry is marked as read-only, configuration
- * property elements in the registry cannot be written to. This method is called
- * as part of the test readOnlyTest.
- */
-public void readOnlyConfigurationProperty(ConfigurationProperty property) {
-
- // Check to ensure we cannot write to the configuration property elements
- assertTrue("8.1 Configuration Property marked", property.isReadOnly());
- // Now check all methods that can write to a ConfigurationProperty
- try {
- property.setName("name");
- assertTrue("8.4 ConfigurationProperty - setName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- property.setValue("value");
- assertTrue("8.3 ConfigurationProperty - setValue", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-}
-/* readOnlyExtension
- * This method ensures that once the registry is marked as read-only, extensions
- * in the registry cannot be written to. This method is called as part of the test
- * readOnlyTest.
- */
-public void readOnlyExtension(Extension extension) {
- // Check to ensure we cannot write to the extension elements
- assertTrue("6.1 Extension marked", extension.isReadOnly());
- // Now check all methods that can write to an Extension
- try {
- extension.setName("name");
- assertTrue("6.2 Plugin - setName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extension.setExtensionPoint("extensionPoint");
- assertTrue("6.3 Extension - setExtensionPoint", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extension.setId("id");
- assertTrue("6.4 Extension - setId", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extension.setParentPluginDescriptor(new PluginDescriptor());
- assertTrue("6.5 Extension - setParentPluginDescriptor", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extension.setSubElements(new ConfigurationElementModel[1]);
- assertTrue("6.6 Extension - setSubElements", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-}
-/* readOnlyExtensionPoints
- * This method ensures that once the registry is marked as read-only, extension
- * points in the registry cannot be written to. This method is called as part
- * of the test readOnlyTest.
- */
-public void readOnlyExtensionPoint(ExtensionPoint extensionPoint) {
- // Check to ensure we cannot write to the extension point elements
- assertTrue("5.1 Extension Point marked", extensionPoint.isReadOnly());
- // Now check all methods that can write to an ExtensionPoint
- try {
- extensionPoint.setName("name");
- assertTrue("5.2 Plugin - setName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extensionPoint.setDeclaredExtensions(new ExtensionModel[1]);
- assertTrue("5.3 Extension Point - setDeclaredExtensions", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extensionPoint.setId("id");
- assertTrue("5.4 Extension Point - setId", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extensionPoint.setParentPluginDescriptor(new PluginDescriptor());
- assertTrue("5.5 Extension Point - setParentPluginDescriptor", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- extensionPoint.setSchema("schema");
- assertTrue("5.6 Extension Point - setSchema", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-}
-/* readOnlyLibrary
- * This method ensures that once the registry is marked as read-only, library
- * elements in the registry cannot be written to. This method is called as
- * part of the test readOnlyTest.
- */
-public void readOnlyLibrary(Library library) {
-
- // Now check all methods that can write to a Library
- assertTrue("4.1 Library marked", library.isReadOnly());
- try {
- library.setName("name");
- assertTrue("4.2 Plugin - setName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- library.setExports(new String[1]);
- assertTrue("4.3 Library - setExports", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-
-}
-/* readOnlyPlugin
- * This method ensures that once the registry is marked as read-only, plugin
- * descriptor elements in the registry cannot be written to. This method is
- * called in the test readOnlyTest.
- */
-public void readOnlyPlugin(PluginDescriptor plugin) {
- // Check to ensure we cannot write to this plugin
- assertTrue("3.1 Plugin marked", plugin.isReadOnly());
- // Now check all methods that can write to a PluginDescriptor
- try {
- plugin.setName("name");
- assertTrue("3.2 Plugin - setName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setDeclaredExtensionPoints(new ExtensionPointModel[1]);
- assertTrue("3.3 Plugin - setDeclaredExtensionPoints", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setDeclaredExtensions(new ExtensionModel[1]);
- assertTrue("3.4 Plugin - setDeclaredExtensions", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setId("id");
- assertTrue("3.5 Plugin - setId", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setLocation("location");
- assertTrue("3.6 Plugin - setLocation", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setPluginClass("pluginClass");
- assertTrue("3.7 Plugin - setPluginClass", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setRegistry(new PluginRegistry());
- assertTrue("3.8 Plugin - setRegistry", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setRequires(new PluginPrerequisiteModel[1]);
- assertTrue("3.9 Plugin - setRequires", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setRuntime(new LibraryModel[1]);
- assertTrue("3.10 Plugin - setRuntime", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setProviderName("providerName");
- assertTrue("3.11 Plugin - setVendorName", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- plugin.setVersion("version");
- assertTrue("3.12 Plugin - setVersion", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-}
-/* readOnlyRegistry
- * This method ensures that once the registry is marked as read-only, registry
- * elements cannot be written to. This method is called from the test readOnlyTest
- */
-public void readOnlyRegistry(PluginRegistry registry) {
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- // Check to ensure we cannot write to the registry
- assertTrue("2.1 Registry marked", registry.isReadOnly());
- // Now check all methods that can write to a PluginRegistry
- try {
- registry.addPlugin(pluginList[0]);
- assertTrue("2.2 PluginRegistry - addPlugin", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- registry.removePlugin(pluginList[0].getId(), pluginList[0].getVersion());
- assertTrue("2.3 PluginRegistry - removePlugin", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
- try {
- registry.removePlugins(pluginList[0].getId());
- assertTrue("2.4 PluginRegistry - removePlugins", false);
- } catch (RuntimeException runExcept) {
- // catch intentionally left blank. We do get here
- // but want to continue execution
- }
-}
-public String[] readOnlySetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
- plugin.setRequires(pluginRequires);
-
- Library[] pluginRuntime = new Library[1];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- plugin.setRuntime(pluginRuntime);
-
- Extension[] pluginExtensions = new Extension[1];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- plugin.setDeclaredExtensions(pluginExtensions);
- ConfigurationElement[] subElements = new ConfigurationElement[1];
- for (int i = 0; i < subElements.length; i++) {
- subElements[i] = new ConfigurationElement();
- subElements[i].setParent(pluginExtensions[0]);
- }
- subElements[0].setName("FirstSubelement");
- ConfigurationProperty[] properties = new ConfigurationProperty[1];
- for (int i = 0; i < properties.length; i++) {
- properties[i] = new ConfigurationProperty();
- }
- properties[0].setName("FirstProperty");
- properties[0].setValue("FirstValue");
- subElements[0].setProperties(properties);
- pluginExtensions[0].setSubElements(subElements);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* readOnlyTest
- * This test ensures that once the registry is marked as read-only, elements
- * in the registry cannot be written to
- */
-public void readOnlyTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = readOnlySetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Mark the registry as readonly. This should filter down to all elements
- // in the registry too.
- registry.markReadOnly();
-
- PluginDescriptorModel[] pluginList = registry.getPlugins();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Check to ensure we cannot write to the registry
- readOnlyRegistry(registry);
-
- // Check to ensure we cannot write to this plugin
- readOnlyPlugin((PluginDescriptor) pluginList[0]);
-
- // Check to ensure we cannot write to the runtime elements
- LibraryModel[] libraries = pluginList[0].getRuntime();
- readOnlyLibrary((Library) libraries[0]);
-
- // Check to ensure we cannot write to the extension point elements
- ExtensionPointModel[] extensionPoints = pluginList[0].getDeclaredExtensionPoints();
- readOnlyExtensionPoint((ExtensionPoint) extensionPoints[0]);
-
- // Check to ensure we cannot write to the extension elements
- ExtensionModel[] extensions = pluginList[0].getDeclaredExtensions();
- readOnlyExtension((Extension) extensions[0]);
-
- // Check to ensure we cannot write to the configuration elements
- ConfigurationElementModel[] subElements = extensions[0].getSubElements();
- readOnlyConfigurationElement((ConfigurationElement) subElements[0]);
-
- // Check to ensure we cannot write to the configuration property elements
- ConfigurationPropertyModel[] properties = subElements[0].getProperties();
- readOnlyConfigurationProperty((ConfigurationProperty) properties[0]);
-
- factory = null;
-}
-public String[] registrySetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("3.0");
- pluginList[1] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("2.0");
- pluginList[2] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A Different Name");
- plugin.setId("newId");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[3] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A third name");
- plugin.setId("thirdId");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[4] = plugin;
-
- String[] localXMLFiles = new String[pluginList.length];
- for (int i = 0; i < pluginList.length; i++) {
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
-
- return localXMLFiles;
-}
-/* registryTest
- * Tests to ensure we create plugin registries and populate them correctly.
- */
-public void registryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = registrySetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertEquals("1.3 Right number of plugin descriptors", pluginList.length, localXMLFiles.length);
- assertNotNull("1.4 Sane return value", ROPluginList);
- assertNotNull("1.5 Sane plugin descriptor", ROPluginList[0]);
- assertEquals("1.6 Right number of plugin descriptors", ROPluginList.length, localXMLFiles.length);
-
- factory = null;
-}
-public String[] requiresSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[5];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
- pluginRequires[0].setVersion("4");
- pluginRequires[0].setExport(true);
- pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
- pluginRequires[1].setPlugin("org.apache.xerces");
- pluginRequires[2].setPlugin("com.ibm.eclipse.core.resources");
- pluginRequires[2].setVersion("3");
- pluginRequires[2].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
- pluginRequires[3].setPlugin("anotherPlugin");
- pluginRequires[3].setVersion("1.0.0");
- pluginRequires[3].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- pluginRequires[4].setPlugin("fifthPlugin");
- pluginRequires[4].setVersion("2.0.1");
- pluginRequires[4].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
- plugin.setRequires(pluginRequires);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* requiresTest
- * Tests to ensure we create plugin prerequisite entries and populate them correctly.
- */
-public void requiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = requiresSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Runtime List", pluginList[0].getRuntime());
- assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
- assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Repeat for read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
- assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
- // Now check the plugin prerequisite elements
- PluginPrerequisiteModel[] reqList = pluginList[0].getRequires();
- IPluginPrerequisite[] ROReqList = ROPluginList[0].getPluginPrerequisites();
- assertNotNull("4.1 Requires list null", reqList);
- assertEquals("4.2 Number of requires elements", reqList.length, 5);
- assertNotNull("4.3 Requires list null", ROReqList);
- assertEquals("4.4 Number of requires elements", ROReqList.length, 5);
-
- PluginPrerequisiteModel[] originalRequires = plugin.getRequires();
-
- // Make sure the values in this requires element are correct
- assertEquals("5.1 Requires plugin", reqList[0].getPlugin(), originalRequires[0].getPlugin());
- assertEquals("5.2 Requires version", reqList[0].getVersion(), originalRequires[0].getVersion());
- assertEquals("5.3 Requires exact match", reqList[0].getMatchByte(), originalRequires[0].getMatchByte());
- assertTrue("5.4 Requires export", reqList[0].getExport());
- assertEquals("5.5 Requires plugin", ROReqList[0].getUniqueIdentifier(), originalRequires[0].getPlugin());
- assertEquals("5.6 Requires version", ROReqList[0].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[0]).getVersionIdentifier());
- assertTrue("5.7 Requires greater or equal match", ROReqList[0].isMatchedAsGreaterOrEqual());
- assertTrue("5.8 Requires greater or equal match (compatible)", !ROReqList[0].isMatchedAsCompatible());
- assertTrue("5.9 Requires greater or equal match (equivalent)", !ROReqList[0].isMatchedAsEquivalent());
- assertTrue("5.10 Requires greater or equal match (prefect)", !ROReqList[0].isMatchedAsPerfect());
- assertTrue("5.11 Requires export", ROReqList[0].isExported());
-
- // And check the 2nd requires element too
- assertEquals("6.1 Requires plugin", reqList[1].getPlugin(), originalRequires[1].getPlugin());
- assertEquals("6.2 Requires plugin", ROReqList[1].getUniqueIdentifier(), originalRequires[1].getPlugin());
- assertEquals("6.3 Requires exact match", reqList[1].getMatchByte(), originalRequires[1].getMatchByte());
- assertTrue("6.4 Requires unspecified match (greater or equal)", !ROReqList[1].isMatchedAsGreaterOrEqual());
- assertTrue("6.5 Requires unspecified match (compatible)", !ROReqList[1].isMatchedAsCompatible());
- assertTrue("6.6 Requires unspecified match (equivalent)", !ROReqList[1].isMatchedAsEquivalent());
- assertTrue("6.7 Requires unspecified match (prefect)", !ROReqList[1].isMatchedAsPerfect());
-
- // And the 3rd requires element
- assertEquals("7.1 Requires plugin", reqList[2].getPlugin(), originalRequires[2].getPlugin());
- assertEquals("7.2 Requires version", reqList[2].getVersion(), originalRequires[2].getVersion());
- assertEquals("7.3 Requires compatible match", reqList[2].getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
- assertTrue("7.4 Requires export", !reqList[2].getExport());
- assertEquals("7.5 Requires plugin", ROReqList[2].getUniqueIdentifier(), originalRequires[2].getPlugin());
- assertEquals("7.6 Requires version", ROReqList[2].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[2]).getVersionIdentifier());
- assertTrue("7.7 Requires compatible match", ROReqList[2].isMatchedAsCompatible());
- assertTrue("7.8 Requires compatible match (greater or equal)", !ROReqList[2].isMatchedAsGreaterOrEqual());
- assertTrue("7.9 Requires compatible match (equivalent)", !ROReqList[2].isMatchedAsEquivalent());
- assertTrue("7.10 Requires compatible match (prefect)", !ROReqList[2].isMatchedAsPerfect());
- assertTrue("7.11 Requires export", !ROReqList[2].isExported());
-
- // And the 4th requires element
- assertEquals("8.1 Requires plugin", reqList[3].getPlugin(), originalRequires[3].getPlugin());
- assertEquals("8.2 Requires version", reqList[3].getVersion(), originalRequires[3].getVersion());
- assertEquals("8.3 Requires equivalent match", reqList[3].getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- assertTrue("8.4 Requires export", !reqList[3].getExport());
- assertEquals("8.5 Requires plugin", ROReqList[3].getUniqueIdentifier(), originalRequires[3].getPlugin());
- assertEquals("8.6 Requires version", ROReqList[3].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[3]).getVersionIdentifier());
- assertTrue("8.7 Requires equivalent match", ROReqList[3].isMatchedAsEquivalent());
- assertTrue("8.8 Requires equivalent match (greater or equal)", !ROReqList[3].isMatchedAsGreaterOrEqual());
- assertTrue("8.9 Requires equivalent match (compatible)", !ROReqList[3].isMatchedAsCompatible());
- assertTrue("8.10 Requires equivalent match (prefect)", !ROReqList[3].isMatchedAsPerfect());
- assertTrue("8.11 Requires export", !ROReqList[3].isExported());
-
- // And the 5th and final requires element
- assertEquals("7.1 Requires plugin", reqList[4].getPlugin(), originalRequires[4].getPlugin());
- assertEquals("7.2 Requires version", reqList[4].getVersion(), originalRequires[4].getVersion());
- assertEquals("7.3 Requires perfect match", reqList[4].getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
- assertTrue("7.4 Requires export", !reqList[4].getExport());
- assertEquals("7.5 Requires plugin", ROReqList[4].getUniqueIdentifier(), originalRequires[4].getPlugin());
- assertEquals("7.6 Requires version", ROReqList[4].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[4]).getVersionIdentifier());
- assertTrue("7.7 Requires perfect match", ROReqList[4].isMatchedAsPerfect());
- assertTrue("7.8 Requires perfect match (greater or equal)", !ROReqList[4].isMatchedAsGreaterOrEqual());
- assertTrue("7.9 Requires perfect match (compatible)", !ROReqList[4].isMatchedAsCompatible());
- assertTrue("7.10 Requires perfect match (equivalent)", !ROReqList[4].isMatchedAsEquivalent());
- assertTrue("7.11 Requires export", !ROReqList[4].isExported());
-
- factory = null;
-}
-public String[][] pluginRequiresSetup() {
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[3][1];
-
- // Create a plugin with no name
- plugin = new PluginDescriptor();
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- plugin.setPluginClass("someclass");
-
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- // Create a plugin with no id
- plugin = new PluginDescriptor();
- plugin.setName("someName");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- plugin.setPluginClass("someclass");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][0] = fs.toString();
-
- // Create a plugin with no version
- plugin = new PluginDescriptor();
- plugin.setName("someName");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setPluginClass("someclass");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2][0] = fs.toString();
-
- return localXMLFiles;
-}
-public void allRequiresHelper(InternalFactory factory, String[][] localXMLFiles, String errorPrefix, boolean fragmentTest) {
- if (localXMLFiles == null)
- return;
- String[] currentParseString;
- for (int i = 0; i < localXMLFiles.length; i++) {
- // We have made no attempt to create a hierarchy of
- // plugins for this test. We have just created a
- // bunch of plugins, each with a missing 'required'
- // field. If we try to create and resolve one registry
- // with all of these plugins, the resolver will be
- // unable to determine a root plugin and will fail.
- // Therefore, create a separate registry for each plugin
- // and resolve it separate from the other plugins.
- currentParseString = localXMLFiles[i];
- registry = doParsing(factory, currentParseString);
- // Don't trim the disabled plugins
- IStatus resolveStatus = registry.resolve(false, true);
- assertTrue(errorPrefix + ".0." + i + " Resolve - " + resolveStatus.getMessage(), !resolveStatus.isOK());
-
- // The plugin should be disabled
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- assertNotNull (errorPrefix + ".1." + i + " No plugins", pluginList);
- assertEquals (errorPrefix + ".2." + i + " Not 1 plugin only", pluginList.length, 1);
- if (fragmentTest) {
- // The plugin won't be disabled but it should not have
- // a fragment.
- assertNull(errorPrefix + ".3." + i + " Fragment exists", pluginList[0].getFragments());
- } else {
- assertTrue(errorPrefix + ".4." + i + " Plugin enabled", !pluginList[0].getEnabled());
- }
- }
-}
-/* allRequiresTest
- * Test to ensure that plugins, etc. missing any of the required
- * components are disabled.
- */
-public void allRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[][] localXMLFiles = pluginRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "1", false);
- localXMLFiles = fragmentRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "2", true);
- localXMLFiles = requiresRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "3", false);
- localXMLFiles = libraryRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "4", false);
- localXMLFiles = extensionRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "5", false);
- localXMLFiles = extensionPointRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "6", false);
-}
-public String[][] fragmentRequiresSetup() {
- FragmentDescriptor fragment;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[5][2];
-
- // Create a fragment with no name
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][1] = fs.toString();
-
- // Create a fragment with no id
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][1] = fs.toString();
-
- // Create a fragment with no version
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setId("fragmentId");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2][1] = fs.toString();
-
- // Create a fragment with no plugin
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[3][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[3][1] = fs.toString();
-
- // Create a fragment with no plugin version
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[4][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[4][1] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] requiresRequiresSetup() {
- PluginPrerequisite requires;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[1][1];
- PluginPrerequisite[] requiresList = new PluginPrerequisite[1];
-
- // Create a prerequisite with no plugin
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- requires = new PluginPrerequisite();
- requires.setVersion("2.2");
- requires.setOptional(true);
- requires.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- requires.setExport(true);
- requiresList[0] = requires;
- plugin.setRequires(requiresList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] extensionRequiresSetup() {
- Extension extension;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[1][1];
- Extension[] extensionList = new Extension[1];
-
- // Create an extension with no point
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- extension = new Extension();
- extension.setName("extensionName");
- extension.setId("extensionId");
- extensionList[0] = extension;
- plugin.setDeclaredExtensions(extensionList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] extensionPointRequiresSetup() {
- ExtensionPoint extensionPoint;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[2][1];
- ExtensionPoint[] extensionPointList = new ExtensionPoint[1];
-
- // Create an extension point with no name
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- extensionPoint = new ExtensionPoint();
- extensionPoint.setId("extensionPointId");
- extensionPoint.setSchema("schema");
- extensionPointList[0] = extensionPoint;
- plugin.setDeclaredExtensionPoints(extensionPointList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- // Create an extension point with no id
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- extensionPoint = new ExtensionPoint();
- extensionPoint.setName("extensionPointName");
- extensionPoint.setSchema("schema");
- extensionPointList = new ExtensionPoint[1];
- extensionPointList[0] = extensionPoint;
- plugin.setDeclaredExtensionPoints(extensionPointList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] libraryRequiresSetup() {
- Library library;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[1][1];
- Library[] libraryList = new Library[1];
-
- // Create a library with no name
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- library = new Library();
- String[] exportList = new String[1];
- String exportString = new String("*");
- exportList[0] = exportString;
- library.setExports(exportList);
- libraryList[0] = library;
- plugin.setRuntime(libraryList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite1Setup() {
- // Create a plugin with one prerequisite which
- // does not exist. This should NOT resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[1];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq1");
- plugin.setId("softPrereqId1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite2Setup() {
- // Create a plugin with one prerequisite which
- // has a prerequisite which does not exist.
- // This should NOT resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[2];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq2");
- plugin.setId("softPrereqId2");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("softPrereqExists");
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("firstPrereq");
- plugin.setId("softPrereqExists");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite3Setup() {
- // Create a plugin with one prerequisite which
- // does not exist but which is optional.
- // This SHOULD resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[1];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq3");
- plugin.setId("softPrereqId3");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisite.setOptional(true);
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite4Setup() {
- // Create a plugin with one prerequisite which
- // has a prerequisite which does not exist but which is
- // optional. This SHOULD resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[2];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq4");
- plugin.setId("softPrereqId4");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("softPrereqExists");
- prerequisite.setOptional(true);
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("firstPrereq");
- plugin.setId("softPrereqExists");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisite.setOptional(true);
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1] = fs.toString();
-
- return localXMLFiles;
-}
-public void allPrerequisiteHelper(InternalFactory factory, String[] localXMLFiles, String errorPrefix, boolean shouldResolve) {
- if (localXMLFiles == null)
- return;
- registry = doParsing(factory, localXMLFiles);
- IStatus resolveStatus = registry.resolve(true, true);
- if (shouldResolve) {
- // This registry should resolve fine.
- assertTrue(errorPrefix + " Resolve - " + resolveStatus.getMessage(), resolveStatus.isOK());
- } else {
- // This registry should NOT resolve
- assertTrue(errorPrefix + " Resolve worked", !resolveStatus.isOK());
- }
-
-}
-public void allPrerequisiteTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- // One plugin with non-existant prerequisite - not optional
- String[] localXMLFiles = softPrerequisite1Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "1", false);
- // 2 nested plugins with non-existant prereq on one - not optional
- localXMLFiles = softPrerequisite2Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "2", false);
- // 1 plugin with non-existant prereq - optional
- localXMLFiles = softPrerequisite3Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "3", true);
- // 2 nested plugins with non-existant prereq on one - optional
- localXMLFiles = softPrerequisite4Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "4", true);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new BasicXMLTest("registryTest"));
- suite.addTest(new BasicXMLTest("pluginTest"));
- suite.addTest(new BasicXMLTest("libraryTest"));
- suite.addTest(new BasicXMLTest("requiresTest"));
- suite.addTest(new BasicXMLTest("extensionPointTest"));
- suite.addTest(new BasicXMLTest("extensionTest"));
- suite.addTest(new BasicXMLTest("readOnlyTest"));
- suite.addTest(new BasicXMLTest("extExtPtLinkTest"));
- suite.addTest(new BasicXMLTest("PR1GBZ0AWTest1"));
- suite.addTest(new BasicXMLTest("PR1GBZ0AWTest2"));
- suite.addTest(new BasicXMLTest("allRequiresTest"));
- // suite.addTest(new BasicXMLTest("allPrerequisiteTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java
deleted file mode 100644
index 25acba7..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/CircularTest.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.tests.harness.*;
-/**
- */
-public class CircularTest extends EclipseWorkspaceTest {
-
-public CircularTest() {
- super(null);
-}
-public CircularTest(String name) {
- super(name);
-}
-public void fullCircle() {
-
- // Test a situation where there is a circular dependency that
- // includes the root plugin
-
- String errorMessage = "Unable to resolve plug-in registry.";
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "circularTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[2];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.a.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.b.xml");
- URL pluginURLs[] = new URL[2];
- URL pURL = null;
- for (int i = 0; i < pluginPath.length; i++) {
- try {
- pURL = new URL (pluginPath[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[i], true);
- }
- pluginURLs[i] = pURL;
- pURL = null;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("1.0", pluginDescriptors.length, 0);
- // Now make sure we got some error reporting here
- assertTrue("1.1 Got the right errors", problems.toString().indexOf(errorMessage) != -1);
-}
-
-public void partCircle() {
-
- // Test a situation where there is a circular dependency
- // just below the root plugin (so the root is not part
- // of the circle).
-
- String errorMessage = "Detected prerequisite loop from \"tests.a\" to \"tests.b\".";
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "circularTestProblems", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[3];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.a.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.b.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/circular/tests.top.xml");
- URL pluginURLs[] = new URL[3];
- URL pURL = null;
- for (int i = 0; i < pluginPath.length; i++) {
- try {
- pURL = new URL (pluginPath[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[i], true);
- }
- pluginURLs[i] = pURL;
- pURL = null;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("2.0", pluginDescriptors.length, 0);
- assertTrue("2.1 Got the right errors", problems.toString().indexOf(errorMessage) != -1);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new CircularTest("fullCircle"));
- suite.addTest(new CircularTest("partCircle"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java
deleted file mode 100644
index 3bb4a5b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_1.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_1 extends PluginResolveTest {
-public ConflictResolveTest_1() {
- super(null);
-}
-public ConflictResolveTest_1(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.1/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a - should not exist as it caused the conflict
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 0);
-
- // look for tests.b - there should be 0
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 0);
-
- // look for tests.c - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_1("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java
deleted file mode 100644
index c99eaef..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_2.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_2 extends PluginResolveTest {
-public ConflictResolveTest_2() {
- super(null);
-}
-public ConflictResolveTest_2(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.2/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a - should not exist as it caused the conflict
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 0);
-
- // look for tests.b - there should be 0
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 0);
-
- // look for tests.c - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_2("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java
deleted file mode 100644
index e79f574..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_3.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_3 extends PluginResolveTest {
-public ConflictResolveTest_3() {
- super(null);
-}
-public ConflictResolveTest_3(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.3/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 4);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_3("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java
deleted file mode 100644
index e47241e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_4.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_4 extends PluginResolveTest {
-public ConflictResolveTest_4() {
- super(null);
-}
-public ConflictResolveTest_4(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.4/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 4);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_4("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java
deleted file mode 100644
index b30249c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_5.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_5 extends PluginResolveTest {
-public ConflictResolveTest_5() {
- super(null);
-}
-public ConflictResolveTest_5(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.5/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 4);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_5("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java
deleted file mode 100644
index efff5ee..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_6.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class ConflictResolveTest_6 extends PluginResolveTest {
-public ConflictResolveTest_6() {
- super(null);
-}
-public ConflictResolveTest_6(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.6/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 4);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_6("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java
deleted file mode 100644
index 74b19b2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ConflictResolveTest_7.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-/**
- */
-public class ConflictResolveTest_7 extends PluginResolveTest {
-public ConflictResolveTest_7() {
- super(null);
-}
-public ConflictResolveTest_7(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("conflictResolveTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/conflictResolve.7/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 6);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // look for tests.e
- pluginDescriptors = registry.getPluginDescriptors("tests.e");
- assertEquals("5.0", pluginDescriptors.length, 1);
- assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.e");
- assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // look for tests.f
- pluginDescriptors = registry.getPluginDescriptors("tests.f");
- assertEquals("6.0", pluginDescriptors.length, 1);
- assertEquals("6.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.f");
- assertEquals("6.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ConflictResolveTest_7("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java
deleted file mode 100644
index 78869ac..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveFragmentTest.java
+++ /dev/null
@@ -1,895 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.tests.harness.*;
-import java.net.URL;
-import junit.framework.*;
-
-
-public class ExtensiveFragmentTest extends EclipseWorkspaceTest {
-
-public ExtensiveFragmentTest() {
- super(null);
-}
-
-public ExtensiveFragmentTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- // test extension points
- suite.addTest(new ExtensiveFragmentTest("extensionPoint1Test"));
- suite.addTest(new ExtensiveFragmentTest("extensionPoint2Test"));
- suite.addTest(new ExtensiveFragmentTest("extensionPoint3Test"));
- suite.addTest(new ExtensiveFragmentTest("extensionPoint4Test"));
- suite.addTest(new ExtensiveFragmentTest("extensionPoint5Test"));
- // test extensions
- suite.addTest(new ExtensiveFragmentTest("extension1Test"));
- suite.addTest(new ExtensiveFragmentTest("extension2Test"));
- suite.addTest(new ExtensiveFragmentTest("extension3Test"));
- suite.addTest(new ExtensiveFragmentTest("extension4Test"));
- suite.addTest(new ExtensiveFragmentTest("extension5Test"));
- // test libraries
- suite.addTest(new ExtensiveFragmentTest("library1Test"));
- suite.addTest(new ExtensiveFragmentTest("library2Test"));
- suite.addTest(new ExtensiveFragmentTest("library3Test"));
- suite.addTest(new ExtensiveFragmentTest("library4Test"));
- suite.addTest(new ExtensiveFragmentTest("library5Test"));
- // test prerequisites
- suite.addTest(new ExtensiveFragmentTest("requires1Test"));
- suite.addTest(new ExtensiveFragmentTest("requires2Test"));
- suite.addTest(new ExtensiveFragmentTest("requires3Test"));
- suite.addTest(new ExtensiveFragmentTest("requires4Test"));
- suite.addTest(new ExtensiveFragmentTest("requires5Test"));
- return suite;
-}
-
-public void extensionPoint1Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint1Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint1Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("1.1 Got the right plugin", plugin.getId().equals("extensionPoint1Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("1.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("1.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint1Test"));
-
- // Now make sure we got all 3 extension points
- ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
- assertTrue("1.4 Got 3 extension points", extPts.length == 3);
- assertNotNull("1.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
- assertNotNull("1.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
- assertNotNull("1.7 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-}
-
-public void extensionPoint2Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint2Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint2Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("2.1 Got the right plugin", plugin.getId().equals("extensionPoint2Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("2.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("2.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint2Test"));
-
- // Now make sure we got 1 extension point
- ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
- assertTrue("2.4 Got 1 extension point", extPts.length == 1);
- assertNotNull("2.5 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-}
-
-public void extensionPoint3Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint3Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint3Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("3.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("3.1 Got the right plugin", plugin.getId().equals("extensionPoint3Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("3.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("3.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint3Test"));
-
- // Now make sure we got all 2 extension points
- ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
- assertTrue("3.4 Got 2 extension points", extPts.length == 2);
- assertNotNull("3.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
- assertNotNull("3.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
-}
-
-public void extensionPoint4Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint4Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint4Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("4.1 Got the right plugin", plugin.getId().equals("extensionPoint4Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("4.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("4.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint4Test"));
-
- // Now make sure we got all 2 extension points
- ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
- assertTrue("4.4 Got 2 extension points", extPts.length == 2);
- assertNotNull("4.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
- assertNotNull("4.6 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
-}
-
-public void extensionPoint5Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extensionPoint5Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtensionPoint5Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("5.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("5.1 Got the right plugin", plugin.getId().equals("extensionPoint5Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("5.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("5.3 Got the right fragment", fragment.getId().equals("fragmentExtensionPoint5Test"));
-
- // Now make sure we got all 8 extension points
- ExtensionPointModel[] extPts = plugin.getDeclaredExtensionPoints();
- assertTrue("5.4 Got 8 extension points", extPts.length == 8);
- assertNotNull("5.5 Got xpt1 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt1"));
- assertNotNull("5.6 Got xpt2 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt2"));
- assertNotNull("5.7 Got xpt3 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt3"));
- assertNotNull("5.8 Got xpt4 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt4"));
- assertNotNull("5.9 Got xpt5 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt5"));
- assertNotNull("5.10 Got xpt6 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt6"));
- assertNotNull("5.11 Got xpt7 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt7"));
- assertNotNull("5.12 Got xpt8 extension point", ((IPluginDescriptor)plugin).getExtensionPoint("xpt8"));
-}
-
-public void extension1Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension1Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension1Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("6.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("6.1 Got the right plugin", plugin.getId().equals("extension1Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("6.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("6.3 Got the right fragment", fragment.getId().equals("fragmentExtension1Test"));
-
- // Now make sure we got all 3 extensions
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- assertTrue("6.4 Got 3 extensions", extensions.length == 3);
- assertNotNull("6.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
- assertNotNull("6.6 Got xpt2 extension", ((IPluginDescriptor)plugin).getExtension("xpt2"));
- assertNotNull("6.7 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-}
-
-public void extension2Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension2Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension2Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("7.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("7.1 Got the right plugin", plugin.getId().equals("extension2Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("7.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("7.3 Got the right fragment", fragment.getId().equals("fragmentExtension2Test"));
-
- // Now make sure we got 1 extension
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- assertTrue("7.4 Got 1 extension", extensions.length == 1);
- assertNotNull("7.5 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-}
-
-public void extension3Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension3Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension3Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("8.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("8.1 Got the right plugin", plugin.getId().equals("extension3Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("8.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("8.3 Got the right fragment", fragment.getId().equals("fragmentExtension3Test"));
-
- // Now make sure we got all 2 extensions
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- assertTrue("8.4 Got 2 extensions", extensions.length == 2);
- assertNotNull("8.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
- assertNotNull("8.6 Got xpt2 extension", ((IPluginDescriptor)plugin).getExtension("xpt2"));
-}
-
-public void extension4Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension4Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension4Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("9.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("9.1 Got the right plugin", plugin.getId().equals("extension4Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("9.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("9.3 Got the right fragment", fragment.getId().equals("fragmentExtension4Test"));
-
- // Now make sure we got all 2 extensions
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- assertTrue("9.4 Got 2 extensions", extensions.length == 2);
- assertNotNull("9.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
- assertNotNull("9.6 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
-}
-
-public void extension5Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/extension5Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentExtension5Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("10.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("10.1 Got the right plugin", plugin.getId().equals("extension5Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("10.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("10.3 Got the right fragment", fragment.getId().equals("fragmentExtension5Test"));
-
- // Now make sure we got all 8 extensions
- ExtensionModel[] extensions = plugin.getDeclaredExtensions();
- assertTrue("10.4 Got 8 extensions", extensions.length == 8);
- assertNotNull("10.5 Got xpt1 extension", ((IPluginDescriptor)plugin).getExtension("xpt1"));
- assertNotNull("10.6 Got xpt2 extension", ((IPluginDescriptor)plugin).getExtension("xpt2"));
- assertNotNull("10.7 Got xpt3 extension", ((IPluginDescriptor)plugin).getExtension("xpt3"));
- assertNotNull("10.8 Got xpt4 extension", ((IPluginDescriptor)plugin).getExtension("xpt4"));
- assertNotNull("10.9 Got xpt5 extension", ((IPluginDescriptor)plugin).getExtension("xpt5"));
- assertNotNull("10.10 Got xpt6 extension", ((IPluginDescriptor)plugin).getExtension("xpt6"));
- assertNotNull("10.11 Got xpt7 extension", ((IPluginDescriptor)plugin).getExtension("xpt7"));
- assertNotNull("10.12 Got xpt8 extension", ((IPluginDescriptor)plugin).getExtension("xpt8"));
-}
-
-public void library1Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library1Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary1Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("11.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("11.1 Got the right plugin", plugin.getId().equals("library1Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("11.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("11.3 Got the right fragment", fragment.getId().equals("fragmentLibrary1Test"));
-
- // Now make sure we got all 3 libraries
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("11.4 Got 3 libraries", libraries.length == 3);
- int lib1Idx = -1;
- int lib2Idx = -1;
- int lib3Idx = -1;
- for (int i = 0; i < libraries.length; i++) {
- if (libraries[i].getName().equals("lib1.jar")) {
- lib1Idx = i;
- } else if (libraries[i].getName().equals("lib2.jar")) {
- lib2Idx = i;
- } else if (libraries[i].getName().equals("lib3.jar")) {
- lib3Idx = i;
- }
- }
- assertTrue("11.5 Got lib1 library", lib1Idx != -1);
- assertTrue("11.6 Got lib2 library", lib2Idx != -1);
- assertTrue("11.7 Got lib3 library", lib3Idx != -1);
-}
-
-public void library2Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library2Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary2Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("12.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("12.1 Got the right plugin", plugin.getId().equals("library2Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("12.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("12.3 Got the right fragment", fragment.getId().equals("fragmentLibrary2Test"));
-
- // Now make sure we got 1 library
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("12.4 Got 1 library", libraries.length == 1);
- assertTrue("12.5 Got lib3 library", libraries[0].getName().equals("lib3.jar"));
-}
-
-public void library3Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library3Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary3Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("13.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("13.1 Got the right plugin", plugin.getId().equals("library3Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("13.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("13.3 Got the right fragment", fragment.getId().equals("fragmentLibrary3Test"));
-
- // Now make sure we got all 2 libraries
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("13.4 Got 2 libraries", libraries.length == 2);
- int lib1Idx = -1;
- int lib2Idx = -1;
- for (int i = 0; i < libraries.length; i ++) {
- if (libraries[i].getName().equals("lib1.jar")) {
- lib1Idx = i;
- } else if (libraries[i].getName().equals("lib2.jar")) {
- lib2Idx = i;
- }
- }
- assertTrue("13.5 Got lib1 library", lib1Idx != -1);
- assertTrue("13.6 Got lib2 library", lib2Idx != -1);
-}
-
-public void library4Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library4Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary4Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("14.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("14.1 Got the right plugin", plugin.getId().equals("library4Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("14.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("14.3 Got the right fragment", fragment.getId().equals("fragmentLibrary4Test"));
-
- // Now make sure we got all 2 libraries
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("14.4 Got 2 libraries", libraries.length == 2);
- int lib1Idx = -1;
- int lib3Idx = -1;
- for (int i = 0; i < libraries.length; i++) {
- if (libraries[i].getName().equals("lib1.jar")) {
- lib1Idx = i;
- } else if (libraries[i].getName().equals("lib3.jar")) {
- lib3Idx = i;
- }
- }
- assertTrue("14.5 Got lib1 library", lib1Idx != -1);
- assertTrue("14.6 Got lib3 library", lib3Idx != -1);
-}
-
-public void library5Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[2];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/library5Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentLibrary5Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("15.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("15.1 Got the right plugin", plugin.getId().equals("library5Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("15.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("15.3 Got the right fragment", fragment.getId().equals("fragmentLibrary5Test"));
-
- // Now make sure we got all 8 libraries
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("15.4 Got 8 libraries", libraries.length == 8);
- int lib1Idx = -1;
- int lib2Idx = -1;
- int lib3Idx = -1;
- int lib4Idx = -1;
- int lib5Idx = -1;
- int lib6Idx = -1;
- int lib7Idx = -1;
- int lib8Idx = -1;
- for (int i = 0; i < libraries.length; i++) {
- if (libraries[i].getName().equals("lib1.jar")) {
- lib1Idx = i;
- } else if (libraries[i].getName().equals("lib2.jar")) {
- lib2Idx = i;
- } else if (libraries[i].getName().equals("lib3.jar")) {
- lib3Idx = i;
- } else if (libraries[i].getName().equals("lib4.jar")) {
- lib4Idx = i;
- } else if (libraries[i].getName().equals("lib5.jar")) {
- lib5Idx = i;
- } else if (libraries[i].getName().equals("lib6.jar")) {
- lib6Idx = i;
- } else if (libraries[i].getName().equals("lib7.jar")) {
- lib7Idx = i;
- } else if (libraries[i].getName().equals("lib8.jar")) {
- lib8Idx = i;
- }
- }
- assertTrue("15.5 Got lib1 library", lib1Idx != -1);
- assertTrue("15.6 Got lib2 library", lib2Idx != -1);
- assertTrue("15.7 Got lib3 library", lib3Idx != -1);
- assertTrue("15.8 Got lib4 library", lib4Idx != -1);
- assertTrue("15.9 Got lib5 library", lib5Idx != -1);
- assertTrue("15.10 Got lib6 library", lib6Idx != -1);
- assertTrue("15.11 Got lib7 library", lib7Idx != -1);
- assertTrue("15.12 Got lib8 library", lib8Idx != -1);
-}
-
-public void requires1Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[5];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires1Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires1Test.xml");
- pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
- pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin2.xml");
- pluginPaths[4] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
- URL pluginURLs[] = new URL[5];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires1Test");
- assertTrue("16.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("16.1 Got the right plugin", plugin.getId().equals("requires1Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("16.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("16.3 Got the right fragment", fragment.getId().equals("fragmentRequires1Test"));
-
- // Now make sure we got all 3 prerequisites
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- assertTrue("16.4 Got 3 prerequisites", requires.length == 3);
- int req1Idx = -1;
- int req2Idx = -1;
- int req3Idx = -1;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getPlugin().equals("plugin1")) {
- req1Idx = i;
- } else if (requires[i].getPlugin().equals("plugin2")) {
- req2Idx = i;
- } else if (requires[i].getPlugin().equals("plugin3")) {
- req3Idx = i;
- }
- }
- assertTrue("16.5 Got plugin1 prerequisite", req1Idx != -1);
- assertTrue("16.6 Got plugin2 prerequisite", req2Idx != -1);
- assertTrue("16.7 Got plugin3 prerequisite", req3Idx != -1);
-}
-
-public void requires2Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[3];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires2Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires2Test.xml");
- pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
- URL pluginURLs[] = new URL[3];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires2Test");
- assertTrue("17.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("17.1 Got the right plugin", plugin.getId().equals("requires2Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("17.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("17.3 Got the right fragment", fragment.getId().equals("fragmentRequires2Test"));
-
- // Now make sure we got 1 prerequisite
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- assertTrue("17.4 Got 1 prerequisite", requires.length == 1);
- assertTrue("17.5 Got plugin3 prerequisite", requires[0].getPlugin().equals("plugin3"));
-}
-
-public void requires3Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[4];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires3Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires3Test.xml");
- pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
- pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin2.xml");
- URL pluginURLs[] = new URL[4];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires3Test");
- assertTrue("18.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("18.1 Got the right plugin", plugin.getId().equals("requires3Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("18.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("18.3 Got the right fragment", fragment.getId().equals("fragmentRequires3Test"));
-
- // Now make sure we got all 2 prerequisites
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- assertTrue("18.4 Got 2 prerequisites", requires.length == 2);
- int req1Idx = -1;
- int req2Idx = -1;
- for (int i = 0; i < requires.length; i ++) {
- if (requires[i].getPlugin().equals("plugin1")) {
- req1Idx = i;
- } else if (requires[i].getPlugin().equals("plugin2")) {
- req2Idx = i;
- }
- }
- assertTrue("18.5 Got plugin1 prerequisite", req1Idx != -1);
- assertTrue("18.6 Got plugin2 prerequisite", req2Idx != -1);
-}
-
-public void requires4Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[4];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires4Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires4Test.xml");
- pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
- pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
- URL pluginURLs[] = new URL[4];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires4Test");
- assertTrue("19.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("19.1 Got the right plugin", plugin.getId().equals("requires4Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("19.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("19.3 Got the right fragment", fragment.getId().equals("fragmentRequires4Test"));
-
- // Now make sure we got all 2 prerequisites
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- assertTrue("19.4 Got 2 prerequisites", requires.length == 2);
- int req1Idx = -1;
- int req3Idx = -1;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getPlugin().equals("plugin1")) {
- req1Idx = i;
- } else if (requires[i].getPlugin().equals("plugin3")) {
- req3Idx = i;
- }
- }
- assertTrue("19.5 Got plugin1 prerequisite", req1Idx != -1);
- assertTrue("19.6 Got plugin3 prerequisite", req3Idx != -1);
-}
-
-public void requires5Test() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "extensiveFragmentTest", null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPaths = new String[10];
- pluginPaths[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/requires5Test.xml");
- pluginPaths[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/fragmentRequires5Test.xml");
- pluginPaths[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin1.xml");
- pluginPaths[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin2.xml");
- pluginPaths[4] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin3.xml");
- pluginPaths[5] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin4.xml");
- pluginPaths[6] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin5.xml");
- pluginPaths[7] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin6.xml");
- pluginPaths[8] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin7.xml");
- pluginPaths[9] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveFragmentTest/plugin8.xml");
- URL pluginURLs[] = new URL[10];
- for (int i = 0; i < pluginURLs.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPaths[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPaths[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("requires5Test");
- assertTrue("20.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("20.1 Got the right plugin", plugin.getId().equals("requires5Test"));
- PluginFragmentModel[] fragmentList = ((PluginRegistryModel)registry).getFragments();
- assertTrue("20.2 Only one fragment", fragmentList.length == 1);
- PluginFragmentModel fragment = fragmentList[0];
- assertTrue("20.3 Got the right fragment", fragment.getId().equals("fragmentRequires5Test"));
-
- // Now make sure we got all 8 prerequisites
- PluginPrerequisiteModel[] requires = plugin.getRequires();
- assertTrue("20.4 Got 8 prerequisites", requires.length == 8);
- int req1Idx = -1;
- int req2Idx = -1;
- int req3Idx = -1;
- int req4Idx = -1;
- int req5Idx = -1;
- int req6Idx = -1;
- int req7Idx = -1;
- int req8Idx = -1;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getPlugin().equals("plugin1")) {
- req1Idx = i;
- } else if (requires[i].getPlugin().equals("plugin2")) {
- req2Idx = i;
- } else if (requires[i].getPlugin().equals("plugin3")) {
- req3Idx = i;
- } else if (requires[i].getPlugin().equals("plugin4")) {
- req4Idx = i;
- } else if (requires[i].getPlugin().equals("plugin5")) {
- req5Idx = i;
- } else if (requires[i].getPlugin().equals("plugin6")) {
- req6Idx = i;
- } else if (requires[i].getPlugin().equals("plugin7")) {
- req7Idx = i;
- } else if (requires[i].getPlugin().equals("plugin8")) {
- req8Idx = i;
- }
- }
- assertTrue("20.5 Got plugin1 prerequisite", req1Idx != -1);
- assertTrue("20.6 Got plugin2 prerequisite", req2Idx != -1);
- assertTrue("20.7 Got plugin3 prerequisite", req3Idx != -1);
- assertTrue("20.8 Got plugin4 prerequisite", req4Idx != -1);
- assertTrue("20.9 Got plugin5 prerequisite", req5Idx != -1);
- assertTrue("20.10 Got plugin6 prerequisite", req6Idx != -1);
- assertTrue("20.11 Got plugin7 prerequisite", req7Idx != -1);
- assertTrue("20.12 Got plugin8 prerequisite", req8Idx != -1);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java
deleted file mode 100644
index 37993ef..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveLibraryTest.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.LibraryModel;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class ExtensiveLibraryTest extends EclipseWorkspaceTest {
-
-public ExtensiveLibraryTest() {
- super(null);
-}
-
-public ExtensiveLibraryTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ExtensiveLibraryTest("noLibraryTest"));
- suite.addTest(new ExtensiveLibraryTest("oneLibraryTest"));
- suite.addTest(new ExtensiveLibraryTest("oneLibraryOneExportTest"));
- suite.addTest(new ExtensiveLibraryTest("multiLibraryOneExportTest"));
- suite.addTest(new ExtensiveLibraryTest("multiLibraryMultiExportTest"));
- suite.addTest(new ExtensiveLibraryTest("emptyLibraryTest"));
- return suite;
-}
-
-public void noLibraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/noLibraryTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("1.1 Got the right plugin", plugin.getId().equals("noLibraryTest"));
- assertNull("1.2 No library entries", plugin.getRuntime());
-}
-
-public void oneLibraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/oneLibraryTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("2.1 Got the right plugin", plugin.getId().equals("oneLibraryTest"));
- assertTrue("2.2 One library entry", plugin.getRuntime().length == 1);
- LibraryModel library = (LibraryModel)plugin.getRuntime()[0];
- assertTrue("2.3 Got the right library", library.getName().equals("lib1.jar"));
- assertNull("2.4 No exports", library.getExports());
-}
-
-public void oneLibraryOneExportTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath[] = new String[2];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport1Test.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/oneLibraryOneExport2Test.xml");
- URL pluginURLs[] = new URL[2];
- for (int i = 0; i < pluginPath.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath[i], true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("3.0 Two plugins", pluginDescriptors.length == 2);
-
- // Check out the first library which should be fully exported ("*" as the export list)
- IPluginDescriptor[] pluginArray = registry.getPluginDescriptors("oneLibraryOneExport1Test");
- assertTrue("3.1 Got the right plugin", pluginArray.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
- assertTrue("3.2 One library entry", plugin.getRuntime().length == 1);
- LibraryModel library = (LibraryModel)plugin.getRuntime()[0];
- assertTrue("3.3 Got the right library", library.getName().equals("lib2.jar"));
- assertTrue("3.4 Exported", library.isExported());
- assertTrue("3.5 Fully exported", library.isFullyExported());
-
- // Check out the second library which should be not be fully exported
- pluginArray = registry.getPluginDescriptors("oneLibraryOneExport2Test");
- assertTrue("3.6 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- assertTrue("3.7 One library entry", plugin.getRuntime().length == 1);
- library = (LibraryModel)plugin.getRuntime()[0];
- assertTrue("3.8 Got the right library", library.getName().equals("lib2.jar"));
- assertTrue("3.9 Exported", library.isExported());
- assertTrue("3.10 Not fully exported", !library.isFullyExported());
-}
-
-public void multiLibraryOneExportTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/multiLibraryOneExportTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("4.1 Got the right plugin", plugin.getId().equals("multiLibraryOneExportTest"));
- LibraryModel libraryArray[] = plugin.getRuntime();
- assertTrue("4.2 Got 3 library entries", libraryArray.length == 3);
-
- // Check out the libraries individually
- // First library should be "lib1.jar" with no exports
- LibraryModel library = libraryArray[0];
- assertTrue("4.3 Got the right library", library.getName().equals("lib1.jar"));
- assertNull("4.4 No exports", library.getExports());
- assertTrue("4.5 Not exported", !library.isExported());
- assertTrue("4.6 Not fully exported", !library.isFullyExported());
-
- // Second library should be "lib2.jar" and be fully exported
- library = libraryArray[1];
- assertTrue("4.7 Got the right library", library.getName().equals("lib2.jar"));
- assertTrue("4.8 Exported", library.isExported());
- assertTrue("4.9 Fully exported", library.isFullyExported());
- // Check the export list too
- String exportList[] = library.getExports();
- assertTrue("4.10 Only one export", exportList.length == 1);
- assertTrue("4.11 Fully exported mask", exportList[0].equals("*"));
-
- // Third library should be "lib3.jar" and be exported with the export
- // mask containing only "a.b.C"
- library = libraryArray[2];
- assertTrue("4.12 Got the right library", library.getName().equals("lib3.jar"));
- assertTrue("4.13 Exported", library.isExported());
- assertTrue("4.14 Not fully exported", !library.isFullyExported());
- // Now check the export list
- exportList = library.getExports();
- assertTrue("4.15 Only one export", exportList.length == 1);
- assertTrue("4.16 Exported mask", exportList[0].equals("a.b.C"));
-}
-
-public void multiLibraryMultiExportTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/multiLibraryMultiExportTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("5.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("5.1 Got the right plugin", plugin.getId().equals("multiLibraryMultiExportTest"));
- LibraryModel libraryArray[] = plugin.getRuntime();
- assertTrue("5.2 Got 3 library entries", libraryArray.length == 3);
-
- // Check out the libraries individually
- // First library should be "lib1.jar" with no exports
- LibraryModel library = libraryArray[0];
- assertTrue("5.3 Got the right library", library.getName().equals("lib1.jar"));
- assertNull("5.4 No exports", library.getExports());
- assertTrue("5.5 Not exported", !library.isExported());
- assertTrue("5.6 Not fully exported", !library.isFullyExported());
-
- // Second library should be "lib2.jar" and be fully exported
- library = libraryArray[1];
- assertTrue("5.7 Got the right library", library.getName().equals("lib2.jar"));
- assertTrue("5.8 Exported", library.isExported());
- assertTrue("5.9 Fully exported", library.isFullyExported());
- // Check the export list too
- String exportList[] = library.getExports();
- assertTrue("5.10 Three exports", exportList.length == 3);
- assertTrue("5.11 Mask[0]", exportList[0].equals("a"));
- assertTrue("5.12 Mask[1]", exportList[1].equals("*"));
- assertTrue("5.13 Mask[2]", exportList[2].equals("b"));
-
- // Third library should be "lib3.jar" and be exported with the export
- // mask containing "a.b.C" and "a.b.D"
- library = libraryArray[2];
- assertTrue("5.14 Got the right library", library.getName().equals("lib3.jar"));
- assertTrue("5.15 Exported", library.isExported());
- assertTrue("5.16 Not fully exported", !library.isFullyExported());
- // Now check the export list
- exportList = library.getExports();
- assertTrue("5.17 Only one export", exportList.length == 2);
- assertTrue("5.18 Mask[0]", exportList[0].equals("a.b.C"));
- assertTrue("5.16 Mask[1]", exportList[1].equals("a.b.D"));
-}
-
-public void emptyLibraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveLibraryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveLibraryTest/emptyLibraryTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- // Should not get any plugins as the one library entry does not
- // have the only required field, name
- assertTrue("6.0 No plugins", pluginDescriptors.length == 0);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java
deleted file mode 100644
index e266384..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ExtensiveRequiresTest.java
+++ /dev/null
@@ -1,430 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class ExtensiveRequiresTest extends EclipseWorkspaceTest {
-
-public ExtensiveRequiresTest() {
- super(null);
-}
-
-public ExtensiveRequiresTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ExtensiveRequiresTest("noRequiresTest"));
- suite.addTest(new ExtensiveRequiresTest("emptyRequiresTest"));
- suite.addTest(new ExtensiveRequiresTest("oneRequiresTest"));
- suite.addTest(new ExtensiveRequiresTest("multiRequiresTest"));
- suite.addTest(new ExtensiveRequiresTest("matchRequiresTest"));
- suite.addTest(new ExtensiveRequiresTest("exportRequiresTest"));
- suite.addTest(new ExtensiveRequiresTest("optionalRequiresTest"));
- return suite;
-}
-
-public void noRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/noRequiresTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("1.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("1.1 Got the right plugin", plugin.getId().equals("noRequiresTest"));
- assertNull("1.2 No prerequisites", plugin.getRequires());
-}
-
-public void emptyRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/emptyRequiresTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("2.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("2.1 Got the right plugin", plugin.getId().equals("emptyRequiresTest"));
- assertNull("2.2 No prerequisites", plugin.getRequires());
-}
-
-public void oneRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/oneRequiresTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("3.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("3.1 Got the right plugin", plugin.getId().equals("oneRequiresTest"));
- PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
- assertTrue("3.2 One prerequisite", prereqArray.length == 1);
- assertTrue("3.3 Right prerequisite", prereqArray[0].getPlugin().equals("tests.b"));
-}
-
-public void multiRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/multiRequiresTest.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("4.0 Only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- assertTrue("4.1 Got the right plugin", plugin.getId().equals("multiRequiresTest"));
- PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
- assertTrue("4.2 Six prerequisites", prereqArray.length == 6);
-
- // Check each of the prerequisites
- // <import plugin="firstPrerequisite"/>
- PluginPrerequisiteModel prereq = prereqArray[0];
- assertTrue("4.3 1st prerequisite name", prereq.getPlugin().equals("firstPrerequisite"));
- assertEquals("4.4 1st prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- assertTrue("4.5 1st prerequisite export", !prereq.getExport());
- assertTrue("4.6 1st prerequisite optional", !prereq.getOptional());
- assertNull("4.7 1st prerequisite version", prereq.getVersion());
-
- // <import plugin="secondPrerequisite" version="1.0.0"/>
- prereq = prereqArray[1];
- assertTrue("4.8 2nd prerequisite name", prereq.getPlugin().equals("secondPrerequisite"));
- assertEquals("4.9 2nd prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- assertTrue("4.10 2nd prerequisite export", !prereq.getExport());
- assertTrue("4.11 2nd prerequisite optional", !prereq.getOptional());
- assertTrue("4.12 2nd prerequisite version", prereq.getVersion().equals("1.0.0"));
-
- // <import plugin="thirdPrerequisite"/>
- prereq = prereqArray[2];
- assertTrue("4.13 3rd prerequisite name", prereq.getPlugin().equals("thirdPrerequisite"));
- assertEquals("4.14 3rd prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- assertTrue("4.15 3rd prerequisite export", !prereq.getExport());
- assertTrue("4.16 3rd prerequisite optional", !prereq.getOptional());
- assertNull("4.17 3rd prerequisite version", prereq.getVersion());
-
- // <import plugin="fourthPrerequisite"/>
- prereq = prereqArray[3];
- assertTrue("4.18 4th prerequisite name", prereq.getPlugin().equals("fourthPrerequisite"));
- assertEquals("4.19 4th prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- assertTrue("4.20 4th prerequisite export", !prereq.getExport());
- assertTrue("4.21 4th prerequisite optional", !prereq.getOptional());
- assertNull("4.22 4th prerequisite version", prereq.getVersion());
-
- // <import plugin="fifthPrerequisite"/>
- prereq = prereqArray[4];
- assertTrue("4.23 5th prerequisite name", prereq.getPlugin().equals("fifthPrerequisite"));
- assertEquals("4.24 5th prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- assertTrue("4.25 5th prerequisite export", !prereq.getExport());
- assertTrue("4.26 5th prerequisite optional", !prereq.getOptional());
- assertNull("4.27 5th prerequisite version", prereq.getVersion());
-
- // <import plugin="sixthPrerequisite" version="6.9.10"/>
- prereq = prereqArray[5];
- assertTrue("4.28 6th prerequisite name", prereq.getPlugin().equals("sixthPrerequisite"));
- assertEquals("4.29 6th prerequisite match", prereq.getMatchByte(), PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- assertTrue("4.30 6th prerequisite export", !prereq.getExport());
- assertTrue("4.31 6th prerequisite optional", !prereq.getOptional());
- assertTrue("4.32 6th prerequisite version", prereq.getVersion().equals("6.9.10"));
-}
-
-public void matchRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath[] = new String[6];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match1RequiresTest.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match2RequiresTest.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match3RequiresTest.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match4RequiresTest.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match5RequiresTest.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/match6RequiresTest.xml");
- URL pluginURLs[] = new URL[6];
- for (int i = 0; i < pluginPath.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("5.0 Four plugins", pluginDescriptors.length == 6);
-
- // <import plugin="tests.b"/>
- IPluginDescriptor pluginArray[] = registry.getPluginDescriptors("match1RequiresTest");
- assertTrue("5.1 Got the right plugin", pluginArray.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
- PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
- assertTrue("5.2 One prerequisite", prereqArray.length == 1);
- PluginPrerequisiteModel prereq = prereqArray[0];
- assertTrue("5.3 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("5.4 Unspecified match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
-
- // <import plugin="tests.b" match="compatible"/>
- pluginArray = registry.getPluginDescriptors("match2RequiresTest");
- assertTrue("5.5 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("5.6 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("5.7 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("5.8 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
-
- // <import plugin="tests.b" match="equivalent"/>
- pluginArray = registry.getPluginDescriptors("match3RequiresTest");
- assertTrue("5.9 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("5.10 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("5.11 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("5.12 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
-
- // <import plugin="tests.c" match="perfect"/>
- pluginArray = registry.getPluginDescriptors("match4RequiresTest");
- assertTrue("5.13 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("5.14 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("5.15 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("5.16 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-
- // <import plugin="tests.c" match="greaterOrEqual"/>
- pluginArray = registry.getPluginDescriptors("match5RequiresTest");
- assertTrue("5.17 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("5.18 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("5.19 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("5.20 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
-
- pluginArray = registry.getPluginDescriptors("match6RequiresTest");
- assertTrue("5.21 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("5.22 Three prerequisites", prereqArray.length == 5);
-
- // <import plugin="tests.a"/>
- prereq = prereqArray[0];
- assertTrue("5.23 Right prerequisite", prereq.getPlugin().equals("tests.a"));
- assertTrue("5.24 Unspecified match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_UNSPECIFIED);
- // <import plugin="tests.b" match="greaterOrEqual"/>
- prereq = prereqArray[1];
- assertTrue("5.25 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("5.26 Specified exact match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
- // <import plugin="tests.c" match="compatible"/>
- prereq = prereqArray[2];
- assertTrue("5.27 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("5.28 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
- // <import plugin="tests.c" match="equivalent"/>
- prereq = prereqArray[3];
- assertTrue("5.29 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("5.30 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- // <import plugin="tests.c" match="perfect"/>
- prereq = prereqArray[4];
- assertTrue("5.31 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("5.32 Specified compatible match", prereq.getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
-}
-
-public void exportRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath[] = new String[4];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export1RequiresTest.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export2RequiresTest.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export3RequiresTest.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/export4RequiresTest.xml");
- URL pluginURLs[] = new URL[4];
- for (int i = 0; i < pluginPath.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("6.0 Four plugins", pluginDescriptors.length == 4);
-
- // <import plugin="tests.b"/>
- IPluginDescriptor pluginArray[] = registry.getPluginDescriptors("export1RequiresTest");
- assertTrue("6.1 Got the right plugin", pluginArray.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
- PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
- assertTrue("6.2 One prerequisite", prereqArray.length == 1);
- PluginPrerequisiteModel prereq = prereqArray[0];
- assertTrue("6.3 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("6.4 Unspecified export", !prereq.getExport());
-
- // <import plugin="tests.b" export="true"/>
- pluginArray = registry.getPluginDescriptors("export2RequiresTest");
- assertTrue("6.5 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("6.6 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("6.7 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("6.8 Specified export", prereq.getExport());
-
- // <import plugin="tests.b" export="false"/>
- pluginArray = registry.getPluginDescriptors("export3RequiresTest");
- assertTrue("6.9 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("6.10 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("6.11 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("6.12 Specified false export", !prereq.getExport());
-
- pluginArray = registry.getPluginDescriptors("export4RequiresTest");
- assertTrue("6.13 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("6.14 Three prerequisites", prereqArray.length == 3);
- // <import plugin="tests.a" export="true"/>
- prereq = prereqArray[0];
- assertTrue("6.15 Right prerequisite", prereq.getPlugin().equals("tests.a"));
- assertTrue("6.16 Specified export", prereq.getExport());
- // <import plugin="tests.b"/>
- prereq = prereqArray[1];
- assertTrue("6.17 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("6.18 Unspecified export", !prereq.getExport());
- // <import plugin="tests.c" export="false"/>
- prereq = prereqArray[2];
- assertTrue("6.19 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("6.20 Specified false export", !prereq.getExport());
-}
-
-public void optionalRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("extensiveRequiresTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath[] = new String[4];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional1RequiresTest.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional2RequiresTest.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional3RequiresTest.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/extensiveRequiresTest/optional4RequiresTest.xml");
- URL pluginURLs[] = new URL[4];
- for (int i = 0; i < pluginPath.length; i++) {
- URL pURL = null;
- try {
- pURL = new URL (pluginPath[i]);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[i] = pURL;
- }
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, false);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue("7.0 Four plugins", pluginDescriptors.length == 4);
-
- // <import plugin="tests.b"/>
- IPluginDescriptor pluginArray[] = registry.getPluginDescriptors("optional1RequiresTest");
- assertTrue("7.1 Got the right plugin", pluginArray.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginArray[0];
- PluginPrerequisiteModel[] prereqArray = plugin.getRequires();
- assertTrue("7.2 One prerequisite", prereqArray.length == 1);
- PluginPrerequisiteModel prereq = prereqArray[0];
- assertTrue("7.3 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("7.4 Unspecified optional", !prereq.getOptional());
-
- // <import plugin="tests.b" optional="true"/>
- pluginArray = registry.getPluginDescriptors("optional2RequiresTest");
- assertTrue("7.5 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("7.6 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("7.7 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("7.8 Specified optional", prereq.getOptional());
-
- // <import plugin="tests.b" optional="false"/>
- pluginArray = registry.getPluginDescriptors("optional3RequiresTest");
- assertTrue("7.9 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("7.10 One prerequisite", prereqArray.length == 1);
- prereq = prereqArray[0];
- assertTrue("7.11 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("7.12 Specified false optional", !prereq.getOptional());
-
- pluginArray = registry.getPluginDescriptors("optional4RequiresTest");
- assertTrue("7.13 Got the right plugin", pluginArray.length == 1);
- plugin = (PluginDescriptorModel)pluginArray[0];
- prereqArray = plugin.getRequires();
- assertTrue("7.14 Three prerequisites", prereqArray.length == 3);
- // <import plugin="tests.a" optional="true"/>
- prereq = prereqArray[0];
- assertTrue("7.15 Right prerequisite", prereq.getPlugin().equals("tests.a"));
- assertTrue("7.16 Specified optional", prereq.getOptional());
- // <import plugin="tests.b"/>
- prereq = prereqArray[1];
- assertTrue("7.17 Right prerequisite", prereq.getPlugin().equals("tests.b"));
- assertTrue("7.18 Unspecified optional", !prereq.getOptional());
- // <import plugin="tests.c" optional="false"/>
- prereq = prereqArray[2];
- assertTrue("7.19 Right prerequisite", prereq.getPlugin().equals("tests.c"));
- assertTrue("7.20 Specified false optional", !prereq.getOptional());
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java
deleted file mode 100644
index 08460c8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_1.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_1 extends EclipseWorkspaceTest {
-public FragmentResolveTest_1() {
- super(null);
-}
-public FragmentResolveTest_1(String name) {
- super(name);
-}
-
-public void test1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment1.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("1.0", pd);
- assertTrue("1.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.2", all.length == 1);
- assertTrue("1.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("1.5", fragment.length == 1);
- assertTrue("1.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.7", fragments.length == 1);
- assertTrue("1.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.9", fragments[0].getPluginVersion().equals("1.2.0"));
-
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull("1.10", linkedFragments);
- assertTrue("1.11", linkedFragments.length == 1);
- assertTrue("1.12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("1.13", libraries.length == 1);
- assertTrue("1.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment2.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("2.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("2.0", pd);
- assertTrue("2.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("2.2", all.length == 1);
- assertTrue("2.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("2.5", fragment.length == 1);
- assertTrue("2.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("2.7", fragments.length == 1);
- assertTrue("2.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("2.9", fragments[0].getPluginVersion().equals("1.3.0"));
-
- // Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("2.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("2.11", libraries.length == 0);
-}
-
-public void test3() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment3.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("3.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("3.0", pd);
- assertTrue("3.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("3.2", all.length == 1);
- assertTrue("3.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("3.5", fragment.length == 1);
- assertTrue("3.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("3.7", fragments.length == 1);
- assertTrue("3.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("3.9", fragments[0].getPluginVersion().equals("1.1.0"));
-
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull("3.10", linkedFragments);
- assertTrue("3.11", linkedFragments.length == 1);
- assertTrue("3.12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("3.13", libraries.length == 1);
- assertTrue("3.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment4.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("4.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("4.0", pd);
- assertTrue("4.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("4.2", all.length == 1);
- assertTrue("4.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("4.5", fragment.length == 1);
- assertTrue("4.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("4.7", fragments.length == 1);
- assertTrue("4.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("4.9", fragments[0].getPluginVersion().equals("2.0.0"));
-
- // Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("4.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("4.11", libraries.length == 0);
-}
-
-public void test5() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment5.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("5.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("5.0", pd);
- assertTrue("5.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("5.2", all.length == 1);
- assertTrue("5.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("5.5", fragment.length == 1);
- assertTrue("5.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("5.7", fragments.length == 1);
- assertTrue("5.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("5.9", fragments[0].getPluginVersion().equals("1.2.1"));
-
- // Now make sure we didn't hook this fragment and this plugin.
- // They are not compatible unless the service number is 0 in this case.
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("5.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("5.11", libraries.length == 0);
-}
-
-public void test6() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin2.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment6.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("6.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("6.0", pd);
- assertTrue("6.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("6.2", all.length == 1);
- assertTrue("6.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("6.5", fragment.length == 1);
- assertTrue("6.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("6.7", fragments.length == 1);
- assertTrue("6.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("6.9", fragments[0].getPluginVersion().equals("1.2.4"));
-
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull("6.10", linkedFragments);
- assertTrue("6.11", linkedFragments.length == 1);
- assertTrue("6.12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("6.13", libraries.length == 1);
- assertTrue("6.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test7() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/plugin2.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.1/fragment7.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("7.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("7.0", pd);
- assertTrue("7.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("7.2", all.length == 1);
- assertTrue("7.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("7.5", fragment.length == 1);
- assertTrue("7.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("7.7", fragments.length == 1);
- assertTrue("7.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("7.9", fragments[0].getPluginVersion().equals("1.2.8"));
-
- // Now make sure we didn't hook this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("7.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("7.11", libraries.length == 0);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_1("test1"));
- suite.addTest(new FragmentResolveTest_1("test2"));
- suite.addTest(new FragmentResolveTest_1("test3"));
- suite.addTest(new FragmentResolveTest_1("test4"));
- suite.addTest(new FragmentResolveTest_1("test5"));
- suite.addTest(new FragmentResolveTest_1("test6"));
- suite.addTest(new FragmentResolveTest_1("test7"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java
deleted file mode 100644
index 8d9627d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_10.java
+++ /dev/null
@@ -1,178 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_10 extends EclipseWorkspaceTest {
-public FragmentResolveTest_10() {
- super(null);
-}
-public FragmentResolveTest_10(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void fullTest() {
- String[] fragmentIds = {"5.9.8", "1.2.3", "1.2.4", "2.0.0", "3.0.4",
- "4.6.2", "4.5.8", "4.4.2", "4.5.1"};
- boolean[] matchesPlugin = {false, true, true, true, true,
- false, false, true, true};
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/plugin6.xml");
- for (int i = 0; i < pluginPath.length - 1; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
-
- for (int i = 0; i < fragmentIds.length; i++) {
- try {
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.10/fragment" + (i+1) + ".xml");
- pluginURLs[6] = new URL (pluginPath[6]);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 6 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue(i + ".0", all.length == 6);
- assertTrue(i + ".1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull(i + ".7", pd125);
- assertNotNull(i + ".8", pd128);
- assertNotNull(i + ".9", pd123);
- assertNotNull(i + ".10", pd130);
- assertNotNull(i + ".11", pd300);
- assertNotNull(i + ".12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue(i + ".13", fragments.length == 1);
- assertTrue(i + ".14", fragments[0].getId().equals("fragmentTest"));
- assertTrue(i + ".15", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-
- if (matchesPlugin[i]) {
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull(i + ".16", linkedFragments125);
- assertNull(i + ".17", linkedFragments128);
- assertNull(i + ".18", linkedFragments123);
- assertNull(i + ".19", linkedFragments130);
- assertNull(i + ".20", linkedFragments300);
- assertNotNull(i + ".21", linkedFragments453);
- assertTrue(i + ".22", linkedFragments453.length == 1);
- assertTrue(i + ".23", linkedFragments453[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue(i + ".24", libraries125.length == 0);
- assertTrue(i + ".25", libraries128.length == 0);
- assertTrue(i + ".26", libraries123.length == 0);
- assertTrue(i + ".27", libraries130.length == 0);
- assertTrue(i + ".28", libraries300.length == 0);
- assertTrue(i + ".29", libraries453.length == 1);
- assertTrue(i + ".30", ((Library)libraries453[0]).getName().equals("lib1.jar"));
- } else {
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull(i + ".16", linkedFragments125);
- assertNull(i + ".17", linkedFragments128);
- assertNull(i + ".18", linkedFragments123);
- assertNull(i + ".19", linkedFragments130);
- assertNull(i + ".20", linkedFragments300);
- assertNull(i + ".21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue(i + ".22", libraries125.length == 0);
- assertTrue(i + ".23", libraries128.length == 0);
- assertTrue(i + ".24", libraries123.length == 0);
- assertTrue(i + ".25", libraries130.length == 0);
- assertTrue(i + ".26", libraries300.length == 0);
- assertTrue(i + ".27", libraries453.length == 0);
- }
- }
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_10("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java
deleted file mode 100644
index 402ed54..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_11.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_11 extends EclipseWorkspaceTest {
-public FragmentResolveTest_11() {
- super(null);
-}
-public FragmentResolveTest_11(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void fullTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[3];
- String[] pluginPath = new String[3];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.11/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath[0]);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
-
- try {
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.11/fragment1.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.11/fragment2.xml");
- pluginURLs[1] = new URL (pluginPath[1]);
- pluginURLs[2] = new URL (pluginPath[2]);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 1 plugin
- PluginDescriptorModel[] all = ((PluginRegistryModel)registry).getPlugins();
- assertTrue("1.0", all.length == 1);
- assertTrue("1.1", all[0].getId().equals("pluginOne"));
- PluginDescriptorModel plugin = all[0];
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.2", fragments.length == 2);
- assertTrue("1.3", fragments[0].getId().equals("fragmentOne"));
- assertTrue("1.4", fragments[1].getId().equals("fragmentOne"));
-
- PluginFragmentModel[] pluginFragments = plugin.getFragments();
- assertTrue("1.5", pluginFragments.length == 1);
- assertTrue("1.6", pluginFragments[0].getId().equals("fragmentOne"));
- assertTrue("1.7", pluginFragments[0].getVersion().equals("1.0.1"));
-
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("1.8", libraries.length == 2);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_11("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java
deleted file mode 100644
index a5f3757..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_12.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_12 extends EclipseWorkspaceTest {
-public FragmentResolveTest_12() {
- super(null);
-}
-public FragmentResolveTest_12(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void fullTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[9];
- String[] pluginPath = new String[9];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/plugin1.xml");
-
- try {
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment1.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment2.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment3.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment4.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment5.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment6.xml");
- pluginPath[7] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment7.xml");
- pluginPath[8] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.12/fragment8.xml");
-
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 1 plugin
- PluginDescriptorModel[] all = ((PluginRegistryModel)registry).getPlugins();
- assertTrue("1.0", all.length == 1);
- assertTrue("1.1", all[0].getId().equals("pluginOne"));
- PluginDescriptorModel plugin = all[0];
-
- // Check the fragment list. There should be eight
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.2", fragments.length == 8);
- assertTrue("1.3", fragments[0].getId().equals("fragmentOne"));
- assertTrue("1.4", fragments[1].getId().equals("fragmentOne"));
- assertTrue("1.5", fragments[2].getId().equals("fragmentOne"));
- assertTrue("1.6", fragments[3].getId().equals("fragmentOne"));
- assertTrue("1.7", fragments[4].getId().equals("fragmentOne"));
- assertTrue("1.8", fragments[5].getId().equals("fragmentOne"));
- assertTrue("1.9", fragments[6].getId().equals("fragmentOne"));
- assertTrue("1.10", fragments[7].getId().equals("fragmentOne"));
-
- // Only the latest one should hang off the plugin
- PluginFragmentModel[] pluginFragments = plugin.getFragments();
- assertTrue("1.11", pluginFragments.length == 1);
- assertTrue("1.12", pluginFragments[0].getId().equals("fragmentOne"));
- assertTrue("1.13", pluginFragments[0].getVersion().equals("1.7.2"));
-
- // But we should only have used fragment5.xml
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("1.14", libraries.length == 5);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_12("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java
deleted file mode 100644
index d0863c1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_13.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_13 extends EclipseWorkspaceTest {
-public FragmentResolveTest_13() {
- super(null);
-}
-public FragmentResolveTest_13(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void fullTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[16];
- String[] pluginPath = new String[16];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/plugin1.xml");
-
- try {
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment1.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment2.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment3.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment4.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment5.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment6.xml");
- pluginPath[7] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment7.xml");
- pluginPath[8] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment8.xml");
- pluginPath[9] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment21.xml");
- pluginPath[10] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment22.xml");
- pluginPath[11] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment23.xml");
- pluginPath[12] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment24.xml");
- pluginPath[13] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment25.xml");
- pluginPath[14] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment26.xml");
- pluginPath[15] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.13/fragment27.xml");
-
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 1 plugin
- PluginDescriptorModel[] all = ((PluginRegistryModel)registry).getPlugins();
- assertTrue("1.0", all.length == 1);
- assertTrue("1.1", all[0].getId().equals("pluginOne"));
- PluginDescriptorModel plugin = all[0];
-
- // Check the fragment list. There should be 15
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.2", fragments.length == 15);
-
- // Only 2 fragments should hang off the plugin
- PluginFragmentModel[] pluginFragments = plugin.getFragments();
- assertTrue("1.3", pluginFragments.length == 2);
- PluginFragmentModel fragment1 = null;
- PluginFragmentModel fragment2 = null;
- for (int i = 0; i < pluginFragments.length; i++) {
- if (pluginFragments[i].getId().equals("fragmentOne"))
- fragment1 = pluginFragments[i];
- else if (pluginFragments[i].getId().equals("fragmentTwo"))
- fragment2 = pluginFragments[i];
- }
-
- // Make sure we picked up both fragments
- assertNotNull("1.4", fragment1);
- assertNotNull("1.5", fragment2);
-
- // Make sure we picked up the right version for each fragment
- assertTrue("1.6", fragment1.getVersion().equals("4.5.0"));
- assertTrue("1.7", fragment2.getVersion().equals("3.0.0"));
-
- // But we should only have used fragment5.xml
- LibraryModel[] libraries = plugin.getRuntime();
- assertTrue("1.8", libraries.length == 4);
-
- // Make sure we got the right libraries
- boolean lib1 = false;
- boolean lib2 = false;
- boolean lib3 = false;
- boolean lib21 = false;
- boolean somethingElse = false;
-
- for (int i = 0; i < libraries.length; i++) {
- String libName = libraries[i].getName();
- if (libName.equals("lib1.jar"))
- lib1 = true;
- else if (libName.equals("lib2.jar"))
- lib2 = true;
- else if (libName.equals("lib3.jar"))
- lib3 = true;
- else if (libName.equals("lib21.jar"))
- lib21 = true;
- else
- somethingElse = true;
- }
- assertTrue("1.9", lib1 && lib2 && lib3 && lib21 && !somethingElse);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_13("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java
deleted file mode 100644
index 76fec60..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_2.java
+++ /dev/null
@@ -1,535 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_2 extends EclipseWorkspaceTest {
-public FragmentResolveTest_2() {
- super(null);
-}
-public FragmentResolveTest_2(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void test1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment1.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 4);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("1.5", pd124);
- assertNotNull("1.6", pd130);
- assertNotNull("1.7", pd240);
- assertNotNull("1.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.9", fragments.length == 1);
- assertTrue("1.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.11", fragments[0].getPluginVersion().equals("1.2.3"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("1.12", linkedFragments124);
- assertNotNull("1.13", linkedFragments130);
- assertNull("1.14", linkedFragments240);
- assertNull("1.15", linkedFragments110);
- assertTrue("1.16", linkedFragments130.length == 1);
- assertTrue("1.17", linkedFragments130[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("1.18", libraries124.length == 0);
- assertTrue("1.19", libraries130.length == 1);
- assertTrue("1.20", libraries240.length == 0);
- assertTrue("1.21", libraries110.length == 0);
- assertTrue("1.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment2.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("2.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("2.0", all.length == 4);
- assertTrue("2.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("2.5", pd124);
- assertNotNull("2.6", pd130);
- assertNotNull("2.7", pd240);
- assertNotNull("2.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("2.9", fragments.length == 1);
- assertTrue("2.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("2.11", fragments[0].getPluginVersion().equals("1.0.0"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("2.12", linkedFragments124);
- assertNotNull("2.13", linkedFragments130);
- assertNull("2.14", linkedFragments240);
- assertNull("2.15", linkedFragments110);
- assertTrue("2.16", linkedFragments130.length == 1);
- assertTrue("2.17", linkedFragments130[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("2.18", libraries124.length == 0);
- assertTrue("2.19", libraries130.length == 1);
- assertTrue("2.20", libraries240.length == 0);
- assertTrue("2.21", libraries110.length == 0);
- assertTrue("2.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test3() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment3.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("3.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("3.0", all.length == 4);
- assertTrue("3.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("3.5", pd124);
- assertNotNull("3.6", pd130);
- assertNotNull("3.7", pd240);
- assertNotNull("3.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("3.9", fragments.length == 1);
- assertTrue("3.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("3.11", fragments[0].getPluginVersion().equals("2.1.1"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("3.12", linkedFragments124);
- assertNull("3.13", linkedFragments130);
- assertNotNull("3.14", linkedFragments240);
- assertNull("3.15", linkedFragments110);
- assertTrue("3.16", linkedFragments240.length == 1);
- assertTrue("3.17", linkedFragments240[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("3.18", libraries124.length == 0);
- assertTrue("3.19", libraries130.length == 0);
- assertTrue("3.20", libraries240.length == 1);
- assertTrue("3.21", libraries110.length == 0);
- assertTrue("3.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment4.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("4.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("4.0", all.length == 4);
- assertTrue("4.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("4.5", pd124);
- assertNotNull("4.6", pd130);
- assertNotNull("4.7", pd240);
- assertNotNull("4.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("4.9", fragments.length == 1);
- assertTrue("4.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("4.11", fragments[0].getPluginVersion().equals("2.5.0"));
-
- // Now make sure we didn't hood this fragment anywhere
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("4.12", linkedFragments124);
- assertNull("4.13", linkedFragments130);
- assertNull("4.14", linkedFragments240);
- assertNull("4.15", linkedFragments110);
-
- // Finally, make sure the library entry didn't show
- // up in any of the plugins
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("4.16", libraries124.length == 0);
- assertTrue("4.17", libraries130.length == 0);
- assertTrue("4.18", libraries240.length == 0);
- assertTrue("4.19", libraries110.length == 0);
-}
-
-public void test5() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment5.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("5.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("5.0", all.length == 4);
- assertTrue("5.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("5.5", pd124);
- assertNotNull("5.6", pd130);
- assertNotNull("5.7", pd240);
- assertNotNull("5.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("5.9", fragments.length == 1);
- assertTrue("5.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("5.11", fragments[0].getPluginVersion().equals("1.2.4"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("5.12", linkedFragments124);
- assertNotNull("5.13", linkedFragments130);
- assertNull("5.14", linkedFragments240);
- assertNull("5.15", linkedFragments110);
- assertTrue("5.16", linkedFragments130.length == 1);
- assertTrue("5.17", linkedFragments130[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("5.18", libraries124.length == 0);
- assertTrue("5.19", libraries130.length == 1);
- assertTrue("5.20", libraries240.length == 0);
- assertTrue("5.21", libraries110.length == 0);
- assertTrue("5.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test6() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment6.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("6.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("6.0", all.length == 4);
- assertTrue("6.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("6.5", pd124);
- assertNotNull("6.6", pd130);
- assertNotNull("6.7", pd240);
- assertNotNull("6.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("6.9", fragments.length == 1);
- assertTrue("6.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("6.11", fragments[0].getPluginVersion().equals("3.0.0"));
-
- // Now make sure we didn't hook this fragment anywhere
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("6.12", linkedFragments124);
- assertNull("6.13", linkedFragments130);
- assertNull("6.14", linkedFragments240);
- assertNull("6.15", linkedFragments110);
-
- // Finally, make sure the library entry in the fragment doesn't
- // show up in any of the plugins
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("6.16", libraries124.length == 0);
- assertTrue("6.17", libraries130.length == 0);
- assertTrue("6.18", libraries240.length == 0);
- assertTrue("6.19", libraries110.length == 0);
-}
-
-public void test7() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.2/fragment7.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("7.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("7.0", all.length == 4);
- assertTrue("7.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("7.5", pd124);
- assertNotNull("7.6", pd130);
- assertNotNull("7.7", pd240);
- assertNotNull("7.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("7.9", fragments.length == 1);
- assertTrue("7.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("7.11", fragments[0].getPluginVersion().equals("2.4.0"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("7.12", linkedFragments124);
- assertNull("7.13", linkedFragments130);
- assertNotNull("7.14", linkedFragments240);
- assertNull("7.15", linkedFragments110);
- assertTrue("7.16", linkedFragments240.length == 1);
- assertTrue("7.17", linkedFragments240[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("7.18", libraries124.length == 0);
- assertTrue("7.19", libraries130.length == 0);
- assertTrue("7.20", libraries240.length == 1);
- assertTrue("7.21", libraries110.length == 0);
- assertTrue("7.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_2("test1"));
- suite.addTest(new FragmentResolveTest_2("test2"));
- suite.addTest(new FragmentResolveTest_2("test3"));
- suite.addTest(new FragmentResolveTest_2("test4"));
- suite.addTest(new FragmentResolveTest_2("test5"));
- suite.addTest(new FragmentResolveTest_2("test6"));
- suite.addTest(new FragmentResolveTest_2("test7"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java
deleted file mode 100644
index 250400f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_3.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_3 extends EclipseWorkspaceTest {
-public FragmentResolveTest_3() {
- super(null);
-}
-public FragmentResolveTest_3(String name) {
- super(name);
-}
-
-public void fullTest() {
- String[] fragmentIds = {"1.2.1", "1.2.2", "1.2.0", "1.1.0",
- "1.1.1", "1.5.0", "1.5.1", "3.0.0", "3.2.1"};
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
-
- for (int i = 0; i < fragmentIds.length; i++) {
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.3/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.3/fragment" + (i + 1) + ".xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("0.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull(i + ".0", pd);
- assertTrue(i + ".1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue(i + ".2", all.length == 1);
- assertTrue(i + ".3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.1")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue(i + ".5", fragment.length == 1);
- assertTrue(i + ".6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue(i + ".7", fragments.length == 1);
- assertTrue(i + ".8", fragments[0].getId().equals("fragmentTest"));
- assertTrue(i + ".9", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-
- if (fragmentIds[i].equals("1.2.1")) {
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull(i + ".10", linkedFragments);
- assertTrue(i + ".11", linkedFragments.length == 1);
- assertTrue(i + ".12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue(i + ".13", libraries.length == 1);
- assertTrue(i + ".14", ((Library)libraries[0]).getName().equals("lib1.jar"));
- } else {
- // Now make sure we didn't hook this fragment and this plugin.
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull(i + ".10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue(i + ".11", libraries.length == 0);
- }
- }
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_3("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java
deleted file mode 100644
index f4637cd..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_4.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_4 extends EclipseWorkspaceTest {
-public FragmentResolveTest_4() {
- super(null);
-}
-public FragmentResolveTest_4(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void fullTest() {
- String[] fragmentIds = {"1.2.1", "1.2.2", "1.2.0", "1.1.0",
- "1.1.1", "1.5.0", "1.5.1", "3.0.0", "3.2.1"};
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[6];
- String[] pluginPath = new String[6];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/plugin5.xml");
- for (int i = 0; i < pluginPath.length - 1; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
-
- for (int i = 0; i < fragmentIds.length; i++) {
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.4/fragment" + (i + 1) + ".xml");
- try {
- pluginURLs[5] = new URL (pluginPath[5]);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue(i + ".0", all.length == 5);
- assertTrue(i + ".1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".5", all[4].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd121 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.1"));
- IPluginDescriptor pd140 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.4.0"));
- IPluginDescriptor pd117 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.7"));
- IPluginDescriptor pd302 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.2"));
- IPluginDescriptor pd021 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("0.2.1"));
- assertNotNull(i + ".6", pd121);
- assertNotNull(i + ".7", pd140);
- assertNotNull(i + ".8", pd117);
- assertNotNull(i + ".9", pd302);
- assertNotNull(i + ".10", pd021);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue(i + ".11", fragments.length == 1);
- assertTrue(i + ".12", fragments[0].getId().equals("fragmentTest"));
- assertTrue(i + ".13", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-
- if (fragmentIds[i].equals("1.2.1")) {
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments121 = ((PluginDescriptorModel)pd121).getFragments();
- PluginFragmentModel[] linkedFragments140 = ((PluginDescriptorModel)pd140).getFragments();
- PluginFragmentModel[] linkedFragments117 = ((PluginDescriptorModel)pd117).getFragments();
- PluginFragmentModel[] linkedFragments302 = ((PluginDescriptorModel)pd302).getFragments();
- PluginFragmentModel[] linkedFragments021 = ((PluginDescriptorModel)pd021).getFragments();
- assertNotNull(i + ".14", linkedFragments121);
- assertNull(i + ".15", linkedFragments140);
- assertNull(i + ".16", linkedFragments117);
- assertNull(i + ".17", linkedFragments302);
- assertNull(i + ".18", linkedFragments021);
- assertTrue(i + ".19", linkedFragments121.length == 1);
- assertTrue(i + ".20", linkedFragments121[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries121 = pd121.getRuntimeLibraries();
- ILibrary[] libraries140 = pd140.getRuntimeLibraries();
- ILibrary[] libraries117 = pd117.getRuntimeLibraries();
- ILibrary[] libraries302 = pd302.getRuntimeLibraries();
- ILibrary[] libraries021 = pd021.getRuntimeLibraries();
- assertTrue(i + ".21", libraries121.length == 1);
- assertTrue(i + ".22", libraries140.length == 0);
- assertTrue(i + ".23", libraries117.length == 0);
- assertTrue(i + ".24", libraries302.length == 0);
- assertTrue(i + ".25", libraries021.length == 0);
- assertTrue(i + ".26", ((Library)libraries121[0]).getName().equals("lib1.jar"));
- } else {
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments121 = ((PluginDescriptorModel)pd121).getFragments();
- PluginFragmentModel[] linkedFragments140 = ((PluginDescriptorModel)pd140).getFragments();
- PluginFragmentModel[] linkedFragments117 = ((PluginDescriptorModel)pd117).getFragments();
- PluginFragmentModel[] linkedFragments302 = ((PluginDescriptorModel)pd302).getFragments();
- PluginFragmentModel[] linkedFragments021 = ((PluginDescriptorModel)pd021).getFragments();
- assertNull(i + ".14", linkedFragments121);
- assertNull(i + ".15", linkedFragments140);
- assertNull(i + ".16", linkedFragments117);
- assertNull(i + ".17", linkedFragments302);
- assertNull(i + ".18", linkedFragments021);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the proper plugin
- ILibrary[] libraries121 = pd121.getRuntimeLibraries();
- ILibrary[] libraries140 = pd140.getRuntimeLibraries();
- ILibrary[] libraries117 = pd117.getRuntimeLibraries();
- ILibrary[] libraries302 = pd302.getRuntimeLibraries();
- ILibrary[] libraries021 = pd021.getRuntimeLibraries();
- assertTrue(i + ".19", libraries121.length == 0);
- assertTrue(i + ".20", libraries140.length == 0);
- assertTrue(i + ".21", libraries117.length == 0);
- assertTrue(i + ".22", libraries302.length == 0);
- assertTrue(i + ".23", libraries021.length == 0);
- }
- }
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_4("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java
deleted file mode 100644
index bcaaa28..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_5.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_5 extends EclipseWorkspaceTest {
-public FragmentResolveTest_5() {
- super(null);
-}
-public FragmentResolveTest_5(String name) {
- super(name);
-}
-
-public void fullTest() {
- String[] fragmentIds = {"1.3.2", "1.3.7", "1.2.5", "1.2.8",
- "1.2.2", "1.2.0", "1.1.5", "1.1.0", "1.3.5", "3.0.0", "3.2.5", "3.2.4"};
- boolean[] matchesFragment = {false, false, true, false,
- true, true, false, false, false, false, false, false};
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
-
- for (int i = 0; i < fragmentIds.length; i++) {
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.5/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.5/fragment" + (i + 1) + ".xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull(i + ".0", pd);
- assertTrue(i + ".1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue(i + ".2", all.length == 1);
- assertTrue(i + ".3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.5")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue(i + ".5", fragment.length == 1);
- assertTrue(i + ".6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue(i + ".7", fragments.length == 1);
- assertTrue(i + ".8", fragments[0].getId().equals("fragmentTest"));
- assertTrue(i + ".9", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-
- if (matchesFragment[i]) {
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull(i + ".10", linkedFragments);
- assertTrue(i + ".11", linkedFragments.length == 1);
- assertTrue(i + ".12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue(i + ".13", libraries.length == 1);
- assertTrue(i + ".14", ((Library)libraries[0]).getName().equals("lib1.jar"));
- } else {
- // Now make sure we didn't hook this fragment and this plugin.
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull(i + ".10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue(i + ".11", libraries.length == 0);
- }
- }
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_5("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java
deleted file mode 100644
index a7567c9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_6.java
+++ /dev/null
@@ -1,814 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_6 extends EclipseWorkspaceTest {
-public FragmentResolveTest_6() {
- super(null);
-}
-public FragmentResolveTest_6(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void test1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment1.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("5.9.8"));
-
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.22", libraries125.length == 0);
- assertTrue("1.23", libraries128.length == 0);
- assertTrue("1.24", libraries123.length == 0);
- assertTrue("1.25", libraries130.length == 0);
- assertTrue("1.26", libraries300.length == 0);
- assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment2.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("1.2.3"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNotNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
- assertTrue("1.22", linkedFragments128.length == 1);
- assertTrue("1.23", linkedFragments128[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.24", libraries125.length == 0);
- assertTrue("1.25", libraries128.length == 1);
- assertTrue("1.26", libraries123.length == 0);
- assertTrue("1.27", libraries130.length == 0);
- assertTrue("1.28", libraries300.length == 0);
- assertTrue("1.29", libraries453.length == 0);
- assertTrue("1.30", ((Library)libraries128[0]).getName().equals("lib1.jar"));
-}
-
-public void test3() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment3.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("1.2.4"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNotNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
- assertTrue("1.22", linkedFragments128.length == 1);
- assertTrue("1.23", linkedFragments128[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.24", libraries125.length == 0);
- assertTrue("1.25", libraries128.length == 1);
- assertTrue("1.26", libraries123.length == 0);
- assertTrue("1.27", libraries130.length == 0);
- assertTrue("1.28", libraries300.length == 0);
- assertTrue("1.29", libraries453.length == 0);
- assertTrue("1.30", ((Library)libraries128[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment4.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("2.0.0"));
-
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.22", libraries125.length == 0);
- assertTrue("1.23", libraries128.length == 0);
- assertTrue("1.24", libraries123.length == 0);
- assertTrue("1.25", libraries130.length == 0);
- assertTrue("1.26", libraries300.length == 0);
- assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test5() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment5.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("3.0.4"));
-
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.22", libraries125.length == 0);
- assertTrue("1.23", libraries128.length == 0);
- assertTrue("1.24", libraries123.length == 0);
- assertTrue("1.25", libraries130.length == 0);
- assertTrue("1.26", libraries300.length == 0);
- assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test6() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment6.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("4.6.2"));
-
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.22", libraries125.length == 0);
- assertTrue("1.23", libraries128.length == 0);
- assertTrue("1.24", libraries123.length == 0);
- assertTrue("1.25", libraries130.length == 0);
- assertTrue("1.26", libraries300.length == 0);
- assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test7() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment7.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("4.5.8"));
-
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.22", libraries125.length == 0);
- assertTrue("1.23", libraries128.length == 0);
- assertTrue("1.24", libraries123.length == 0);
- assertTrue("1.25", libraries130.length == 0);
- assertTrue("1.26", libraries300.length == 0);
- assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test8() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment8.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("4.4.2"));
-
- // Now make sure we didn't hook this fragment to any plugin
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNull("1.21", linkedFragments453);
-
- // Finally, make sure the library entry in the fragment is
- // not part of any plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.22", libraries125.length == 0);
- assertTrue("1.23", libraries128.length == 0);
- assertTrue("1.24", libraries123.length == 0);
- assertTrue("1.25", libraries130.length == 0);
- assertTrue("1.26", libraries300.length == 0);
- assertTrue("1.27", libraries453.length == 0);
-}
-
-public void test9() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[7];
- String[] pluginPath = new String[7];
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- try {
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin5.xml");
- pluginPath[5] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/plugin6.xml");
- pluginPath[6] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.6/fragment9.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
-
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 5 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 6);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.5", all[4].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.6", all[5].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd125 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.5"));
- IPluginDescriptor pd128 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.8"));
- IPluginDescriptor pd123 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.3"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd300 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("3.0.0"));
- IPluginDescriptor pd453 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("4.5.3"));
- assertNotNull("1.7", pd125);
- assertNotNull("1.8", pd128);
- assertNotNull("1.9", pd123);
- assertNotNull("1.10", pd130);
- assertNotNull("1.11", pd300);
- assertNotNull("1.12", pd453);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.13", fragments.length == 1);
- assertTrue("1.14", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.15", fragments[0].getPluginVersion().equals("4.5.1"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments125 = ((PluginDescriptorModel)pd125).getFragments();
- PluginFragmentModel[] linkedFragments128 = ((PluginDescriptorModel)pd128).getFragments();
- PluginFragmentModel[] linkedFragments123 = ((PluginDescriptorModel)pd123).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments300 = ((PluginDescriptorModel)pd300).getFragments();
- PluginFragmentModel[] linkedFragments453 = ((PluginDescriptorModel)pd453).getFragments();
- assertNull("1.16", linkedFragments125);
- assertNull("1.17", linkedFragments128);
- assertNull("1.18", linkedFragments123);
- assertNull("1.19", linkedFragments130);
- assertNull("1.20", linkedFragments300);
- assertNotNull("1.21", linkedFragments453);
- assertTrue("1.22", linkedFragments453.length == 1);
- assertTrue("1.23", linkedFragments453[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries125 = pd125.getRuntimeLibraries();
- ILibrary[] libraries128 = pd128.getRuntimeLibraries();
- ILibrary[] libraries123 = pd123.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries300 = pd300.getRuntimeLibraries();
- ILibrary[] libraries453 = pd453.getRuntimeLibraries();
- assertTrue("1.24", libraries125.length == 0);
- assertTrue("1.25", libraries128.length == 0);
- assertTrue("1.26", libraries123.length == 0);
- assertTrue("1.27", libraries130.length == 0);
- assertTrue("1.28", libraries300.length == 0);
- assertTrue("1.29", libraries453.length == 1);
- assertTrue("1.30", ((Library)libraries453[0]).getName().equals("lib1.jar"));
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_6("test1"));
- suite.addTest(new FragmentResolveTest_6("test2"));
- suite.addTest(new FragmentResolveTest_6("test3"));
- suite.addTest(new FragmentResolveTest_6("test4"));
- suite.addTest(new FragmentResolveTest_6("test5"));
- suite.addTest(new FragmentResolveTest_6("test6"));
- suite.addTest(new FragmentResolveTest_6("test7"));
- suite.addTest(new FragmentResolveTest_6("test8"));
- suite.addTest(new FragmentResolveTest_6("test9"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java
deleted file mode 100644
index 8ae3a71..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_7.java
+++ /dev/null
@@ -1,382 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_7 extends EclipseWorkspaceTest {
-public FragmentResolveTest_7() {
- super(null);
-}
-public FragmentResolveTest_7(String name) {
- super(name);
-}
-
-public void test1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment1.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("1.0", pd);
- assertTrue("1.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.2", all.length == 1);
- assertTrue("1.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("1.5", fragment.length == 1);
- assertTrue("1.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.7", fragments.length == 1);
- assertTrue("1.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.9", fragments[0].getPluginVersion().equals("1.2.0"));
-
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull("1.10", linkedFragments);
- assertTrue("1.11", linkedFragments.length == 1);
- assertTrue("1.12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("1.13", libraries.length == 1);
- assertTrue("1.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment2.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("2.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("2.0", pd);
- assertTrue("2.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("2.2", all.length == 1);
- assertTrue("2.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("2.5", fragment.length == 1);
- assertTrue("2.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("2.7", fragments.length == 1);
- assertTrue("2.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("2.9", fragments[0].getPluginVersion().equals("1.3.0"));
-
- // Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("2.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("2.11", libraries.length == 0);
-}
-
-public void test3() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment3.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("3.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("3.0", pd);
- assertTrue("3.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("3.2", all.length == 1);
- assertTrue("3.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("3.5", fragment.length == 1);
- assertTrue("3.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("3.7", fragments.length == 1);
- assertTrue("3.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("3.9", fragments[0].getPluginVersion().equals("1.1.0"));
-
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull("3.10", linkedFragments);
- assertTrue("3.11", linkedFragments.length == 1);
- assertTrue("3.12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("3.13", libraries.length == 1);
- assertTrue("3.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment4.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("4.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("4.0", pd);
- assertTrue("4.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("4.2", all.length == 1);
- assertTrue("4.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("4.5", fragment.length == 1);
- assertTrue("4.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("4.7", fragments.length == 1);
- assertTrue("4.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("4.9", fragments[0].getPluginVersion().equals("2.0.0"));
-
- // Now make sure we didn't hook this fragment and this plugin (they aren't compatible)
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("4.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("4.11", libraries.length == 0);
-}
-
-public void test5() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment5.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("5.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("5.0", pd);
- assertTrue("5.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("5.2", all.length == 1);
- assertTrue("5.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("5.5", fragment.length == 1);
- assertTrue("5.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("5.7", fragments.length == 1);
- assertTrue("5.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("5.9", fragments[0].getPluginVersion().equals("1.2.1"));
-
- // Now make sure we didn't hook this fragment and this plugin.
- // They are not compatible unless the service number is 0 in this case.
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("5.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("5.11", libraries.length == 0);
-}
-
-public void test6() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin2.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment6.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("6.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("6.0", pd);
- assertTrue("6.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("6.2", all.length == 1);
- assertTrue("6.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("6.5", fragment.length == 1);
- assertTrue("6.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("6.7", fragments.length == 1);
- assertTrue("6.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("6.9", fragments[0].getPluginVersion().equals("1.2.4"));
-
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull("6.10", linkedFragments);
- assertTrue("6.11", linkedFragments.length == 1);
- assertTrue("6.12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("6.13", libraries.length == 1);
- assertTrue("6.14", ((Library)libraries[0]).getName().equals("lib1.jar"));
-}
-
-public void test7() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/plugin2.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.7/fragment7.xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("7.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull("7.0", pd);
- assertTrue("7.1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("7.2", all.length == 1);
- assertTrue("7.3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.6")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue("7.5", fragment.length == 1);
- assertTrue("7.6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("7.7", fragments.length == 1);
- assertTrue("7.8", fragments[0].getId().equals("fragmentTest"));
- assertTrue("7.9", fragments[0].getPluginVersion().equals("1.2.8"));
-
- // Now make sure we didn't hook this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull("7.10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue("7.11", libraries.length == 0);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_7("test1"));
- suite.addTest(new FragmentResolveTest_7("test2"));
- suite.addTest(new FragmentResolveTest_7("test3"));
- suite.addTest(new FragmentResolveTest_7("test4"));
- suite.addTest(new FragmentResolveTest_7("test5"));
- suite.addTest(new FragmentResolveTest_7("test6"));
- suite.addTest(new FragmentResolveTest_7("test7"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java
deleted file mode 100644
index 124d378..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_8.java
+++ /dev/null
@@ -1,535 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_8 extends EclipseWorkspaceTest {
-public FragmentResolveTest_8() {
- super(null);
-}
-public FragmentResolveTest_8(String name) {
- super(name);
-}
-
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve)
- // don't trim the disabled plugins for these tests
- registry.resolve(false, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-
-public void test1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment1.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("1.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length == 4);
- assertTrue("1.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("1.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("1.5", pd124);
- assertNotNull("1.6", pd130);
- assertNotNull("1.7", pd240);
- assertNotNull("1.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("1.9", fragments.length == 1);
- assertTrue("1.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("1.11", fragments[0].getPluginVersion().equals("1.2.3"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("1.12", linkedFragments124);
- assertNotNull("1.13", linkedFragments130);
- assertNull("1.14", linkedFragments240);
- assertNull("1.15", linkedFragments110);
- assertTrue("1.16", linkedFragments130.length == 1);
- assertTrue("1.17", linkedFragments130[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("1.18", libraries124.length == 0);
- assertTrue("1.19", libraries130.length == 1);
- assertTrue("1.20", libraries240.length == 0);
- assertTrue("1.21", libraries110.length == 0);
- assertTrue("1.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment2.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("2.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("2.0", all.length == 4);
- assertTrue("2.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("2.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("2.5", pd124);
- assertNotNull("2.6", pd130);
- assertNotNull("2.7", pd240);
- assertNotNull("2.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("2.9", fragments.length == 1);
- assertTrue("2.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("2.11", fragments[0].getPluginVersion().equals("1.0.0"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("2.12", linkedFragments124);
- assertNotNull("2.13", linkedFragments130);
- assertNull("2.14", linkedFragments240);
- assertNull("2.15", linkedFragments110);
- assertTrue("2.16", linkedFragments130.length == 1);
- assertTrue("2.17", linkedFragments130[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("2.18", libraries124.length == 0);
- assertTrue("2.19", libraries130.length == 1);
- assertTrue("2.20", libraries240.length == 0);
- assertTrue("2.21", libraries110.length == 0);
- assertTrue("2.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test3() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment3.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("3.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("3.0", all.length == 4);
- assertTrue("3.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("3.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("3.5", pd124);
- assertNotNull("3.6", pd130);
- assertNotNull("3.7", pd240);
- assertNotNull("3.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("3.9", fragments.length == 1);
- assertTrue("3.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("3.11", fragments[0].getPluginVersion().equals("2.1.1"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("3.12", linkedFragments124);
- assertNull("3.13", linkedFragments130);
- assertNotNull("3.14", linkedFragments240);
- assertNull("3.15", linkedFragments110);
- assertTrue("3.16", linkedFragments240.length == 1);
- assertTrue("3.17", linkedFragments240[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("3.18", libraries124.length == 0);
- assertTrue("3.19", libraries130.length == 0);
- assertTrue("3.20", libraries240.length == 1);
- assertTrue("3.21", libraries110.length == 0);
- assertTrue("3.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public void test4() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment4.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("4.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("4.0", all.length == 4);
- assertTrue("4.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("4.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("4.5", pd124);
- assertNotNull("4.6", pd130);
- assertNotNull("4.7", pd240);
- assertNotNull("4.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("4.9", fragments.length == 1);
- assertTrue("4.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("4.11", fragments[0].getPluginVersion().equals("2.5.0"));
-
- // Now make sure we didn't hood this fragment anywhere
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("4.12", linkedFragments124);
- assertNull("4.13", linkedFragments130);
- assertNull("4.14", linkedFragments240);
- assertNull("4.15", linkedFragments110);
-
- // Finally, make sure the library entry didn't show
- // up in any of the plugins
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("4.16", libraries124.length == 0);
- assertTrue("4.17", libraries130.length == 0);
- assertTrue("4.18", libraries240.length == 0);
- assertTrue("4.19", libraries110.length == 0);
-}
-
-public void test5() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment5.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("5.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("5.0", all.length == 4);
- assertTrue("5.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("5.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("5.5", pd124);
- assertNotNull("5.6", pd130);
- assertNotNull("5.7", pd240);
- assertNotNull("5.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("5.9", fragments.length == 1);
- assertTrue("5.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("5.11", fragments[0].getPluginVersion().equals("1.2.4"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("5.12", linkedFragments124);
- assertNotNull("5.13", linkedFragments130);
- assertNull("5.14", linkedFragments240);
- assertNull("5.15", linkedFragments110);
- assertTrue("5.16", linkedFragments130.length == 1);
- assertTrue("5.17", linkedFragments130[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("5.18", libraries124.length == 0);
- assertTrue("5.19", libraries130.length == 1);
- assertTrue("5.20", libraries240.length == 0);
- assertTrue("5.21", libraries110.length == 0);
- assertTrue("5.22", ((Library)libraries130[0]).getName().equals("lib1.jar"));
-}
-
-public void test6() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment6.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("6.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("6.0", all.length == 4);
- assertTrue("6.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("6.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("6.5", pd124);
- assertNotNull("6.6", pd130);
- assertNotNull("6.7", pd240);
- assertNotNull("6.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("6.9", fragments.length == 1);
- assertTrue("6.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("6.11", fragments[0].getPluginVersion().equals("3.0.0"));
-
- // Now make sure we didn't hook this fragment anywhere
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("6.12", linkedFragments124);
- assertNull("6.13", linkedFragments130);
- assertNull("6.14", linkedFragments240);
- assertNull("6.15", linkedFragments110);
-
- // Finally, make sure the library entry in the fragment doesn't
- // show up in any of the plugins
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("6.16", libraries124.length == 0);
- assertTrue("6.17", libraries130.length == 0);
- assertTrue("6.18", libraries240.length == 0);
- assertTrue("6.19", libraries110.length == 0);
-}
-
-public void test7() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[5];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String[] pluginPath = new String[5];
- pluginPath[0] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin1.xml");
- pluginPath[1] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin2.xml");
- pluginPath[2] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin3.xml");
- pluginPath[3] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/plugin4.xml");
- pluginPath[4] = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.8/fragment7.xml");
- for (int i = 0; i < pluginPath.length; i++) {
- pluginURLs[i] = new URL (pluginPath[i]);
- }
- } catch (java.net.MalformedURLException e) {
- fail("7.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = doParsing(factory, pluginURLs, true);
-
- // We should have 4 plugins all with id 'tests.a'
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("7.0", all.length == 4);
- assertTrue("7.1", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.2", all[1].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.3", all[2].getUniqueIdentifier().equals("tests.a"));
- assertTrue("7.4", all[3].getUniqueIdentifier().equals("tests.a"));
-
- // Make sure we got all the version numbers
- IPluginDescriptor pd124 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.2.4"));
- IPluginDescriptor pd130 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.3.0"));
- IPluginDescriptor pd240 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("2.4.0"));
- IPluginDescriptor pd110 = registry.getPluginDescriptor("tests.a", new PluginVersionIdentifier("1.1.0"));
- assertNotNull("7.5", pd124);
- assertNotNull("7.6", pd130);
- assertNotNull("7.7", pd240);
- assertNotNull("7.8", pd110);
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue("7.9", fragments.length == 1);
- assertTrue("7.10", fragments[0].getId().equals("fragmentTest"));
- assertTrue("7.11", fragments[0].getPluginVersion().equals("2.4.0"));
-
- // Now make sure we hooked this fragment to the right plugin (and only
- // one plugin)
- PluginFragmentModel[] linkedFragments124 = ((PluginDescriptorModel)pd124).getFragments();
- PluginFragmentModel[] linkedFragments130 = ((PluginDescriptorModel)pd130).getFragments();
- PluginFragmentModel[] linkedFragments240 = ((PluginDescriptorModel)pd240).getFragments();
- PluginFragmentModel[] linkedFragments110 = ((PluginDescriptorModel)pd110).getFragments();
- assertNull("7.12", linkedFragments124);
- assertNull("7.13", linkedFragments130);
- assertNotNull("7.14", linkedFragments240);
- assertNull("7.15", linkedFragments110);
- assertTrue("7.16", linkedFragments240.length == 1);
- assertTrue("7.17", linkedFragments240[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the proper plugin
- ILibrary[] libraries124 = pd124.getRuntimeLibraries();
- ILibrary[] libraries130 = pd130.getRuntimeLibraries();
- ILibrary[] libraries240 = pd240.getRuntimeLibraries();
- ILibrary[] libraries110 = pd110.getRuntimeLibraries();
- assertTrue("7.18", libraries124.length == 0);
- assertTrue("7.19", libraries130.length == 0);
- assertTrue("7.20", libraries240.length == 1);
- assertTrue("7.21", libraries110.length == 0);
- assertTrue("7.22", ((Library)libraries240[0]).getName().equals("lib1.jar"));
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_8("test1"));
- suite.addTest(new FragmentResolveTest_8("test2"));
- suite.addTest(new FragmentResolveTest_8("test3"));
- suite.addTest(new FragmentResolveTest_8("test4"));
- suite.addTest(new FragmentResolveTest_8("test5"));
- suite.addTest(new FragmentResolveTest_8("test6"));
- suite.addTest(new FragmentResolveTest_8("test7"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java
deleted file mode 100644
index 46fc343..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/FragmentResolveTest_9.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class FragmentResolveTest_9 extends EclipseWorkspaceTest {
-public FragmentResolveTest_9() {
- super(null);
-}
-public FragmentResolveTest_9(String name) {
- super(name);
-}
-
-public void fullTest() {
- String[] fragmentIds = {"1.3.2", "1.3.7", "1.2.5", "1.2.8",
- "1.2.2", "1.2.0", "1.1.5", "1.1.0", "1.3.5", "3.0.0", "3.2.5", "3.2.4"};
- boolean[] matchesFragment = {false, false, true, false,
- true, true, true, true, false, false, false, false};
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
-
- for (int i = 0; i < fragmentIds.length; i++) {
- URL pluginURLs[] = new URL[2];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.9/plugin1.xml");
- pluginURLs[0] = new URL (pluginPath);
- pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/fragment.resolve.9/fragment" + (i + 1) + ".xml");
- pluginURLs[1] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.1 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("tests.a");
-
- // check descriptor
- assertNotNull(i + ".0", pd);
- assertTrue(i + ".1", pd.getUniqueIdentifier().equals("tests.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue(i + ".2", all.length == 1);
- assertTrue(i + ".3", all[0].getUniqueIdentifier().equals("tests.a"));
- assertTrue(i + ".4", all[0].getVersionIdentifier().equals(new PluginVersionIdentifier("1.2.5")));
-
- // Check the fragment list. There should only be one
- PluginFragmentModel[] fragment = ((PluginRegistry) registry).getFragments("fragmentTest");
- assertTrue(i + ".5", fragment.length == 1);
- assertTrue(i + ".6", fragment[0].getId().equals("fragmentTest"));
-
- // Have we got all the fragments
- PluginFragmentModel[] fragments = ((PluginRegistry)registry).getFragments();
- assertTrue(i + ".7", fragments.length == 1);
- assertTrue(i + ".8", fragments[0].getId().equals("fragmentTest"));
- assertTrue(i + ".9", fragments[0].getPluginVersion().equals(fragmentIds[i]));
-
- if (matchesFragment[i]) {
- // Now make sure we hooked this fragment and this plugin
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNotNull(i + ".10", linkedFragments);
- assertTrue(i + ".11", linkedFragments.length == 1);
- assertTrue(i + ".12", linkedFragments[0].getId().equals("fragmentTest"));
-
- // Finally, make sure the library entry in the fragment is
- // now part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue(i + ".13", libraries.length == 1);
- assertTrue(i + ".14", ((Library)libraries[0]).getName().equals("lib1.jar"));
- } else {
- // Now make sure we didn't hook this fragment and this plugin.
- PluginFragmentModel[] linkedFragments = ((PluginDescriptorModel)pd).getFragments();
- assertNull(i + ".10", linkedFragments);
-
- // Finally, make sure the library entry in the fragment is
- // not part of the plugin
- ILibrary[] libraries = pd.getRuntimeLibraries();
- assertTrue(i + ".11", libraries.length == 0);
- }
- }
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new FragmentResolveTest_9("fullTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java
deleted file mode 100644
index 97a2d8d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/GetPluginPathTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.*;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class GetPluginPathTest extends WorkspaceSessionTest {
-
-public GetPluginPathTest() {
- super(null);
-}
-public GetPluginPathTest(String name) {
- super(name);
-}
-public void testGetRelevantStrings() {
- String basePath = null;
- String pluginPath = null;
- String pluginName = "org.eclipse.core.tests.runtime";
-
- pluginPath = ((PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor(pluginName)).getLocation().concat("Plugin_Testing/plugins.activation.1/");
- int i = pluginPath.indexOf(pluginName);
- if (i != -1)
- basePath = pluginPath.substring (0, i);
- if (basePath == null && pluginPath == null)
- return;
-
- String fileName = System.getProperty("user.dir").concat("/testingTemp.plugin-path");
- File pluginPathFile = new File(fileName);
- DataOutputStream output = null;
- try {
- output = new DataOutputStream(new FileOutputStream(pluginPathFile));
- } catch (IOException ioe) {
- System.out.print ("1.0 IOException encountered on creation of " + fileName);
- }
- PrintWriter printNow = new PrintWriter (output);
- try {
- if (basePath != null)
- printNow.println("base=" + basePath);
- if (pluginPath != null)
- printNow.println("test=" + pluginPath);
- } finally {
- try {
- printNow.flush();
- printNow.close();
- output.close();
- } catch (IOException ioe) {
- }
- }
- pluginPathFile.delete();
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java
deleted file mode 100644
index a9fd1b6..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarPluginPathTest.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.*;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.harness.*;
-
-public class JarPluginPathTest extends WorkspaceSessionTest {
-
-public JarPluginPathTest() {
- super(null);
-}
-public JarPluginPathTest(String name) {
- super(name);
-}
-public void test1() {
- String basePath = null;
- String pluginPath = null;
- String pluginName = "org.eclipse.core.tests.runtime";
-
- pluginPath = ((PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor(pluginName)).getLocation().concat("Plugin_Testing/LibraryLookupTests/JarLookupTests/");
- int i = pluginPath.indexOf(pluginName);
- if (i != -1)
- basePath = pluginPath.substring (0, i);
- if (basePath == null && pluginPath == null)
- return;
-
- String fileName = System.getProperty("user.dir").concat("/testingTemp.tempPlugin-path");
- File pluginPathFile = new File(fileName);
- DataOutputStream output = null;
- try {
- output = new DataOutputStream(new FileOutputStream(pluginPathFile));
- } catch (IOException ioe) {
- System.out.print ("1.0 IOException encountered on creation of " + fileName);
- }
- PrintWriter printNow = new PrintWriter (output);
- try {
- if (basePath != null)
- printNow.println("base=" + basePath);
- if (pluginPath != null)
- printNow.println("test=" + pluginPath);
- } finally {
- try {
- printNow.flush();
- printNow.close();
- output.close();
- } catch (IOException ioe) {
- }
- }
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java
deleted file mode 100644
index b714010..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/JarSearchTests.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class JarSearchTests extends WorkspaceSessionTest {
-
-public JarSearchTests() {
- super(null);
-}
-public JarSearchTests(String name) {
- super(name);
-}
-public void test1() {
- IPluginRegistry registry = Platform.getPluginRegistry();
- IPluginDescriptor[] plugins = registry.getPluginDescriptors("JarLookupTest1");
- assertTrue("1.0 Only one jarLookup1 plugin", plugins.length == 1);
- System.out.println("jarLookup1 plugin name = " + plugins[0].getLabel());
- assertTrue("1.1 Plugin name translated", plugins[0].getLabel().equals("Jar Lookup Test 1"));
-
- plugins = registry.getPluginDescriptors("JarLookupTest2");
- assertTrue("2.0 Only one jarLookup2 plugin", plugins.length == 1);
- System.out.println("jarLookup2 plugin name = " + plugins[0].getLabel());
- assertTrue("2.1 Plugin name translated", plugins[0].getLabel().equals("Jar Lookup Test 2"));
-
- plugins = registry.getPluginDescriptors("JarLookupTest3");
- assertTrue("3.0 Only one jarLookup3 plugin", plugins.length == 1);
- System.out.println("jarLookup3 plugin name = " + plugins[0].getLabel());
- assertTrue("3.1 Plugin name translated", plugins[0].getLabel().equals("%pluginName"));
-
- plugins = registry.getPluginDescriptors("JarLookupTest4");
- assertTrue("4.0 Only one jarLookup4 plugin", plugins.length == 1);
- System.out.println("jarLookup4 plugin name = " + plugins[0].getLabel());
- assertTrue("4.1 Plugin name translated", plugins[0].getLabel().equals("Jar Lookup Test 4"));
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java
deleted file mode 100644
index 670cea0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/LoaderTest.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.Vector;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class LoaderTest extends WorkspaceSessionTest {
-public LoaderTest() {
- super(null);
-}
-public LoaderTest(String name) {
- super(name);
-}
-public void testBase() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
- assertNotNull("0.3", pluginD);
-
- // get plugin loaders
- Plugin p = null;
-
- try {
- p = pluginA.getPlugin();
- } catch (CoreException e) {
- fail("2.0.0");
- }
- assertTrue("2.0.1", pluginA.isPluginActivated());
- assertTrue("2.1", !pluginB.isPluginActivated());
- assertTrue("2.2", !pluginC.isPluginActivated());
- assertTrue("2.3", !pluginD.isPluginActivated());
- ClassLoader loaderA = p.getClass().getClassLoader();
-
- try {
- p = pluginB.getPlugin();
- } catch (CoreException e) {
- fail("3.0.0");
- }
- assertTrue("3.0.1", pluginA.isPluginActivated());
- assertTrue("3.1", pluginB.isPluginActivated());
- assertTrue("3.2", !pluginC.isPluginActivated());
- assertTrue("3.3", !pluginD.isPluginActivated());
- ClassLoader loaderB = p.getClass().getClassLoader();
-
- try {
- p = pluginC.getPlugin();
- } catch (CoreException e) {
- fail("4.0.0");
- }
- assertTrue("4.0.1", pluginA.isPluginActivated());
- assertTrue("4.1", pluginB.isPluginActivated());
- assertTrue("4.2", pluginC.isPluginActivated());
- assertTrue("4.3", !pluginD.isPluginActivated());
- ClassLoader loaderC = p.getClass().getClassLoader();
-
- try {
- p = pluginD.getPlugin();
- } catch (CoreException e) {
- fail("5.0.0");
- }
- assertTrue("5.0.1", pluginA.isPluginActivated());
- assertTrue("5.1", pluginB.isPluginActivated());
- assertTrue("5.2", pluginC.isPluginActivated());
- assertTrue("5.3", pluginD.isPluginActivated());
- ClassLoader loaderD = p.getClass().getClassLoader();
-
- // try to load classes
-
- load(loaderD, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", false, "6.1");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", false, "6.2");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", false, "6.3");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", true, "6.4");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.a.PluginClass", false, "6.5");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.b.PluginClass", false, "6.6");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.c.PluginClass", false, "6.7");
- load(loaderD, "org.eclipse.core.tests.internal.plugin.d.PluginClass", true, "6.8");
- load(loaderD, "plugin.c.ExportedClass", false, "6.9");
-
- load(loaderC, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", false, "7.1");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", false, "7.2");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "7.3");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", false, "7.4");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.a.PluginClass", false, "7.5");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.b.PluginClass", false, "7.6");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.c.PluginClass", true, "7.7");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.d.PluginClass", false, "7.8");
- load(loaderC, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "7.9");
-
- load(loaderB, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", false, "8.1");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", true, "8.2");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "8.3");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", true, "8.4");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.a.PluginClass", false, "8.5");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.b.PluginClass", true, "8.6");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.c.PluginClass", false, "8.7");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.d.PluginClass", false, "8.8");
- load(loaderB, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "8.9");
-
- load(loaderA, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", true, "9.1");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", true, "9.2");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "9.3");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", false, "9.4");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.a.PluginClass", true, "9.5");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.b.PluginClass", true, "9.6");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.c.PluginClass", false, "9.7");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.d.PluginClass", false, "9.8");
- load(loaderA, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "9.9");
-
- load(null, "org.eclipse.core.tests.internal.plugin.a.api.ApiClass", true, "10.1");
- load(null, "org.eclipse.core.tests.internal.plugin.b.api.ApiClass", true, "10.2");
- load(null, "org.eclipse.core.tests.internal.plugin.c.api.ApiClass", true, "10.3");
- load(null, "org.eclipse.core.tests.internal.plugin.d.api.ApiClass", true, "10.4");
- load(null, "org.eclipse.core.tests.internal.plugin.a.PluginClass", true, "10.5");
- load(null, "org.eclipse.core.tests.internal.plugin.b.PluginClass", true, "10.6");
- load(null, "org.eclipse.core.tests.internal.plugin.c.PluginClass", true, "10.7");
- load(null, "org.eclipse.core.tests.internal.plugin.d.PluginClass", true, "10.8");
- load(null, "org.eclipse.core.tests.internal.plugin.c.ExportedClass", true, "10.9");
-
-}
-public String getResource(Object o, String name, boolean success, String msg) {
-
- String result = null;
- InputStream content;
- byte[] buf;
-
- URL url;
- if (o instanceof Class)
- url = ((Class) o).getResource(name);
- else
- url = ((ClassLoader) o).getResource(name);
-
- if (success) {
- assertTrue(msg + "0", url != null);
- try {
- content = url.openStream();
- buf = new byte[content.available()];
- content.read(buf);
- content.close();
- result = (new String(buf)).trim();
- } catch (IOException ea) {
- fail(msg + "1 " + ea);
- }
- } else
- assertTrue(msg + "2", url == null);
-
- return result;
-}
-public Vector getResources(ClassLoader loader, String name, String msg) {
-
- Vector result = new Vector();
- Enumeration enum;
- String file = null;
- String tmp = null;
- try {
- enum = loader.getResources(name);
- while (enum.hasMoreElements()) {
- file = ((URL) enum.nextElement()).getFile();
- tmp = file.substring(0, file.length() - name.length() - 1);
- tmp = tmp.substring(tmp.length() - 1, tmp.length());
- result.add(tmp);
- }
- } catch (IOException e) {
- fail(msg + "0" + e.getMessage());
- }
- return result;
-}
-public void getResourcesTest() {
-
- String path = "org.eclipse.core.tests.internal.plugins";
-// String clazz = path + ".TestClass";
- String res = "test.txt";
- String absres = path.replace('.', '/') + "/" + res;
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
- assertNotNull("0.3", pluginD);
-
- // get loaders
- Plugin p = null;
- ClassLoader platform = Platform.class.getClassLoader();
-
- try {
- p = pluginA.getPlugin();
- } catch (CoreException e) {
- fail("2.0");
- }
- ClassLoader loaderA = p.getClass().getClassLoader();
-
- try {
- p = pluginB.getPlugin();
- } catch (CoreException e) {
- fail("3.0");
- }
- ClassLoader loaderB = p.getClass().getClassLoader();
-
- try {
- p = pluginC.getPlugin();
- } catch (CoreException e) {
- fail("4.0");
- }
- ClassLoader loaderC = p.getClass().getClassLoader();
-
- try {
- p = pluginD.getPlugin();
- } catch (CoreException e) {
- fail("5.0");
- }
- ClassLoader loaderD = p.getClass().getClassLoader();
-
- // load resources for A
- Vector v;
- v = getResources(loaderA, absres, "6.0.");
- assertTrue("6.1", v.size() == 1);
- assertTrue("6.2", v.contains("C"));
-
- // load resources for B
- v = getResources(loaderB, absres, "7.0.");
- assertTrue("7.1", v.size() == 3);
- assertTrue("7.2", v.contains("B"));
- assertTrue("7.3", v.contains("C"));
- assertTrue("7.4", v.contains("D"));
-
- // load resources for C
- v = getResources(loaderC, absres, "8.0.");
- assertTrue("8.1", v.size() == 1);
- assertTrue("8.2", v.contains("C"));
-
- // load resources for D
- v = getResources(loaderD, absres, "9.0.");
- assertTrue("9.1", v.size() == 1);
- assertTrue("9.2", v.contains("D"));
-
- // load resources for platform
- v = getResources(platform, absres, "9.0.");
- assertTrue("9.1", v.size() == 0);
-
-}
-public void getResourceTest() {
-
- String path = "org.eclipse.core.tests.internal.plugins";
- String clazz = path + ".TestClass";
- String res = "test.txt";
- String absres = path.replace('.', '/') + "/" + res;
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d");
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
- assertNotNull("0.3", pluginD);
-
- // get plugin loaders
- Plugin p = null;
-
- try {
- p = pluginA.getPlugin();
- } catch (CoreException e) {
- fail("2.0");
- }
- ClassLoader loaderA = p.getClass().getClassLoader();
-
- try {
- p = pluginB.getPlugin();
- } catch (CoreException e) {
- fail("3.0");
- }
- ClassLoader loaderB = p.getClass().getClassLoader();
-
- try {
- p = pluginC.getPlugin();
- } catch (CoreException e) {
- fail("4.0");
- }
- ClassLoader loaderC = p.getClass().getClassLoader();
-
- try {
- p = pluginD.getPlugin();
- } catch (CoreException e) {
- fail("5.0");
- }
- ClassLoader loaderD = p.getClass().getClassLoader();
-
- Class test = load(loaderA, clazz, true, "6.0");
- String text = null;
-
- // load resources relative to class from plugin A
-
- text = getResource(test, res, true, "7.0.");
- assertTrue("7.1", text.equals("Text from Plugin C")); // delegated
-
- // load resources directly
-
- text = getResource(loaderA, absres, true, "8.0.");
- assertTrue("8.1", text.equals("Text from Plugin C")); // delegated
-
- text = getResource(loaderB, absres, true, "9.0.");
- assertTrue("9.1", text.equals("Text from Plugin B"));
-
- text = getResource(loaderC, absres, true, "10.0.");
- assertTrue("10.1", text.equals("Text from Plugin C"));
-
- text = getResource(loaderD, absres, true, "11.0.");
- assertTrue("11.1", text.equals("Text from Plugin D"));
-
- text = getResource(Platform.class.getClassLoader(), absres, false, "12.0.");
-}
-public Class load(ClassLoader loader, String name, boolean success, String msg) {
-
- Class result = null;
- try {
- if (loader == null)
- result = Class.forName(name);
- else
- result = loader.loadClass(name);
- if (!success)
- fail(msg + ".0");
- } catch (ClassNotFoundException e) {
- if (success)
- // We should have found this class
- fail(msg + ".1");
- // else
- // We were expecting not to find this class so don't fail
- } catch (Exception e) {
- fail(msg + ".2" + e.getMessage());
- }
- return result;
-}
-//public static Test suite() {
-// TestSuite suite = new TestSuite();
-// suite.addTest(new LoaderTest("baseTest"));
-//// suite.addTest(new LoaderTest("xmlTest"));
-//// suite.addTest(new LoaderTest("getResourceTest"));
-//// suite.addTest(new LoaderTest("getResourcesTest"));
-// return suite;
-//}
-public void xmlTest() {
-
- // xml class
- String xml = "org.apache.xerces.framework.XMLParser";
-
- // get platform loader (has private copy of xml4j
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
- ClassLoader platformLoader = Platform.class.getClassLoader();
- assertTrue("0.0", platformLoader instanceof org.eclipse.core.internal.boot.PlatformClassLoader);
-
- // get test plugin A (requires com.ibm.xml)
- Plugin p = null;
- IPluginDescriptor pdA = registry.getPluginDescriptor("plugin.a");
- assertTrue("0.1.0", pdA != null);
- try {
- p = pdA.getPlugin();
- } catch (CoreException e) {
- fail("0.1.1.0");
- }
- assertTrue("0.1.2", pdA.isPluginActivated());
- ClassLoader a = p.getClass().getClassLoader();
- assertTrue("0.1.3", a instanceof org.eclipse.core.internal.plugins.PluginClassLoader);
-
- // get test plugin D (contains unexported xml4j)
- IPluginDescriptor pdD = registry.getPluginDescriptor("plugin.d");
- assertTrue("0.2.0", pdD != null);
- try {
- p = pdD.getPlugin();
- } catch (CoreException e) {
- fail("0.2.1.0");
- }
- assertTrue("0.2.2", pdD.isPluginActivated());
- ClassLoader d = p.getClass().getClassLoader();
- assertTrue("0.2.3", d instanceof org.eclipse.core.internal.plugins.PluginClassLoader);
-
- // load class
- Class platformXML = load(platformLoader, xml, true, "1.0");
- Class aXML = load(a, xml, true, "1.1");
- Class dXML = load(d, xml, true, "1.2");
-
- // jdk mode
- assertTrue("2.0", platformXML != aXML);
- assertTrue("2.1", platformXML != dXML);
- assertTrue("2.2", aXML != dXML);
- assertTrue("2.3", platformXML.getClassLoader() == platformLoader);
- assertTrue("2.4", aXML.getClassLoader() != a); // loaded by prereq com.ibm.xml loader
- assertTrue("2.5", dXML.getClassLoader() == d);
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java
deleted file mode 100644
index 6bc14a3..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/NumberOfElementsTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.LibraryModel;
-import org.eclipse.core.runtime.model.PluginDescriptorModel;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class NumberOfElementsTest extends EclipseWorkspaceTest {
-
-public NumberOfElementsTest() {
- super(null);
-}
-
-public NumberOfElementsTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new NumberOfElementsTest("numberRequiresTest"));
- suite.addTest(new NumberOfElementsTest("numberRuntimeTest"));
- return suite;
-}
-
-public void numberRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/numberOfRequires/plugin.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue ("1.0 Plugins should not validate", pluginDescriptors.length == 0);
-}
-
-public void numberRuntimeTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/numberOfRuntimes/plugin.xml");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertTrue ("2.0 Should have only one plugin", pluginDescriptors.length == 1);
- PluginDescriptorModel plugin = (PluginDescriptorModel)pluginDescriptors[0];
- LibraryModel libraryArray[] = plugin.getRuntime();
- // There should only be 3 library entries (not 6)
- assertTrue ("2.1 Three library entries", libraryArray.length == 3);
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java
deleted file mode 100644
index bc0e2cf..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/OrphanTest.java
+++ /dev/null
@@ -1,485 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public class OrphanTest extends EclipseWorkspaceTest {
-public OrphanTest() {
- super(null);
-}
-public OrphanTest(String name) {
- super(name);
-}
- // Comment out test1, 2 and 3 until bug 21465 -
- // "Plugin Resolving - reorder REQUIRES clause & different
- // plugins are disabled" is fixed.
-
-public void test1() {
- /* Plugin structure is as follows:
- *
- * testa requires testb
- * testa requires testc
- *
- * testb requires testd
- *
- * testc requires teste
- *
- * testd has no prerequisites but doesn't have all the
- * required fields and will, therefore, be disabled
- *
- * teste has no prerequisites
- *
- * The resulting plugin registry should contain only testc
- * and teste. All other plugins should be disabled (and
- * trimmed).
- */
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.1/");
- pluginURLs[0] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("1.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-
- IPluginDescriptor[] pds = registry.getPluginDescriptors();
- // Should only be 2 plugins
- assertEquals("1.1 Should only have 2 plugins", 2, pds.length);
- // Should have a plugin testc and another called teste
- IPluginDescriptor pd = registry.getPluginDescriptor("testc");
- assertNotNull("1.2 Should find plugin testc", pd);
- pd = registry.getPluginDescriptor("teste");
- assertNotNull("1.3 Should find plugin teste", pd);
-}
-
-public void test2() {
- /* Plugin structure is as follows:
- *
- * testa requires testb
- * testa requires testc
- * testa requires testd
- *
- * testb requires teste
- * testb requires testf
- * testb requires testg
- *
- * testc requires testh
- * testc requires testi
- * testc requires testj
- *
- * testd requires testk
- * testd requires testl
- * testd requires testm
- *
- * teste has no prerequisites
- *
- * testf has no prerequisites
- *
- * testg has no prerequisites
- *
- * testh has no prerequisites
- *
- * testi has no prerequisites and is missing a required
- * field so it will be disabled
- *
- * testj has no prerequisites
- *
- * testk has no prerequisites
- *
- * testl has no prerequisites
- *
- * testm has no prerequisites
- *
- * The resulting plugin registry should contain the following
- * plugins:
- * testb
- * testd
- * teste
- * testf
- * testg
- * testh
- * testj
- * testk
- * testl
- * testm
- * All other plugins (a, c, and i) should be disabled
- * (and trimmed).
- */
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.2/");
- pluginURLs[0] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("2.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor[] pds = registry.getPluginDescriptors();
- // Should only be 10 plugins
- assertEquals("2.1 Should only have 10 plugins", 10, pds.length);
- // Should have a plugins as listed in comment above
- IPluginDescriptor pd = registry.getPluginDescriptor("testb");
- assertNotNull("2.2 Should find plugin testb", pd);
- pd = registry.getPluginDescriptor("testd");
- assertNotNull("2.3 Should find plugin testd", pd);
- pd = registry.getPluginDescriptor("teste");
- assertNotNull("2.4 Should find plugin teste", pd);
- pd = registry.getPluginDescriptor("testf");
- assertNotNull("2.5 Should find plugin testf", pd);
- pd = registry.getPluginDescriptor("testg");
- assertNotNull("2.6 Should find plugin testg", pd);
- pd = registry.getPluginDescriptor("testh");
- assertNotNull("2.6 Should find plugin testh", pd);
- pd = registry.getPluginDescriptor("testj");
- assertNotNull("2.6 Should find plugin testj", pd);
- pd = registry.getPluginDescriptor("testk");
- assertNotNull("2.7 Should find plugin testk", pd);
- pd = registry.getPluginDescriptor("testl");
- assertNotNull("2.8 Should find plugin testl", pd);
- pd = registry.getPluginDescriptor("testm");
- assertNotNull("2.9 Should find plugin testm", pd);
-}
-
-public void test3() {
- /* Plugin structure is as follows:
- *
- * There are 2 root plugins - testa and testa2
- *
- * testa requires testb
- * testa requires testc
- * testa requires testd
- *
- * testb requires teste
- * testb requires testf
- * testb requires testg
- *
- * testc requires testh
- * testc requires testi
- * testc requires testj
- *
- * testd has no prerequisites
- *
- * teste has no prerequisites
- *
- * testf has no prerequisites
- *
- * testg has no prerequisites
- *
- * testh has no prerequisites
- *
- * testi has no prerequisites and is missing a required
- * field so it will be disabled
- *
- * testj has no prerequisites
- *
- * testa2 requires testb
- * testa2 requires testd
- *
- * The resulting plugin registry should contain the following
- * plugins:
- * testb
- * testd
- * teste
- * testf
- * testg
- * testh
- * testj
- * testa2
- * All other plugins (a, c, and i) should be disabled
- * (and trimmed).
- */
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.3/");
- pluginURLs[0] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("3.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor[] pds = registry.getPluginDescriptors();
- // Should only be 8 plugins
- assertEquals("3.1 Should only have 8 plugins", 8, pds.length);
- // Should have a plugins as listed in comment above
- IPluginDescriptor pd = registry.getPluginDescriptor("testb");
- assertNotNull("3.2 Should find plugin testb", pd);
- pd = registry.getPluginDescriptor("testd");
- assertNotNull("3.3 Should find plugin testd", pd);
- pd = registry.getPluginDescriptor("teste");
- assertNotNull("3.4 Should find plugin teste", pd);
- pd = registry.getPluginDescriptor("testf");
- assertNotNull("3.5 Should find plugin testf", pd);
- pd = registry.getPluginDescriptor("testg");
- assertNotNull("3.6 Should find plugin testg", pd);
- pd = registry.getPluginDescriptor("testh");
- assertNotNull("3.6 Should find plugin testh", pd);
- pd = registry.getPluginDescriptor("testj");
- assertNotNull("3.6 Should find plugin testj", pd);
- pd = registry.getPluginDescriptor("testa2");
- assertNotNull("3.7 Should find plugin testa2", pd);
-}
-
-public void test4() {
- /* Plugin structure is as follows:
- *
- * testa requires testb
- * testa requires testc
- *
- * testb requires testd
- *
- * testc requires teste
- *
- * testd has no prerequisites but doesn't have all the
- * required fields and will, therefore, be disabled
- *
- * teste has no prerequisites
- *
- * The resulting plugin registry should contain only testc
- * and teste. All other plugins should be disabled (and
- * trimmed).
- *
- * This is the same as test1 but the order of the requires
- * in the plugin is such that any disabled plugins are at the
- * end of the requires clause. Yes, this does make a
- * difference. See bug 21465 - "Plugin Resolving - reorder
- * REQUIRES clause & different plugins are disabled".
- */
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.4/");
- pluginURLs[0] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("4.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-
- IPluginDescriptor[] pds = registry.getPluginDescriptors();
- // Should only be 2 plugins
- assertEquals("4.1 Should only have 2 plugins", 2, pds.length);
- // Should have a plugin testc and another called teste
- IPluginDescriptor pd = registry.getPluginDescriptor("testc");
- assertNotNull("4.2 Should find plugin testc", pd);
- pd = registry.getPluginDescriptor("teste");
- assertNotNull("4.3 Should find plugin teste", pd);
-}
-
-public void test5() {
- /* Plugin structure is as follows:
- *
- * testa requires testb
- * testa requires testc
- * testa requires testd
- *
- * testb requires teste
- * testb requires testf
- * testb requires testg
- *
- * testc requires testh
- * testc requires testi
- * testc requires testj
- *
- * testd requires testk
- * testd requires testl
- * testd requires testm
- *
- * teste has no prerequisites
- *
- * testf has no prerequisites
- *
- * testg has no prerequisites
- *
- * testh has no prerequisites
- *
- * testi has no prerequisites and is missing a required
- * field so it will be disabled
- *
- * testj has no prerequisites
- *
- * testk has no prerequisites
- *
- * testl has no prerequisites
- *
- * testm has no prerequisites
- *
- * The resulting plugin registry should contain the following
- * plugins:
- * testb
- * testd
- * teste
- * testf
- * testg
- * testh
- * testj
- * testk
- * testl
- * testm
- * All other plugins (a, c, and i) should be disabled
- * (and trimmed).
- *
- * This is the same as test2 but the order of the requires
- * in the plugin is such that any disabled plugins are at the
- * end of the requires clause. Yes, this does make a
- * difference. See bug 21465 - "Plugin Resolving - reorder
- * REQUIRES clause & different plugins are disabled".
- */
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.5/");
- pluginURLs[0] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("5.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor[] pds = registry.getPluginDescriptors();
- // Should only be 10 plugins
- assertEquals("5.1 Should only have 10 plugins", 10, pds.length);
- // Should have a plugins as listed in comment above
- IPluginDescriptor pd = registry.getPluginDescriptor("testb");
- assertNotNull("5.2 Should find plugin testb", pd);
- pd = registry.getPluginDescriptor("testd");
- assertNotNull("5.3 Should find plugin testd", pd);
- pd = registry.getPluginDescriptor("teste");
- assertNotNull("5.4 Should find plugin teste", pd);
- pd = registry.getPluginDescriptor("testf");
- assertNotNull("5.5 Should find plugin testf", pd);
- pd = registry.getPluginDescriptor("testg");
- assertNotNull("5.6 Should find plugin testg", pd);
- pd = registry.getPluginDescriptor("testh");
- assertNotNull("5.6 Should find plugin testh", pd);
- pd = registry.getPluginDescriptor("testj");
- assertNotNull("5.6 Should find plugin testj", pd);
- pd = registry.getPluginDescriptor("testk");
- assertNotNull("5.7 Should find plugin testk", pd);
- pd = registry.getPluginDescriptor("testl");
- assertNotNull("5.8 Should find plugin testl", pd);
- pd = registry.getPluginDescriptor("testm");
- assertNotNull("5.9 Should find plugin testm", pd);
-}
-
-public void test6() {
- /* Plugin structure is as follows:
- *
- * There are 2 root plugins - testa and testa2
- *
- * testa requires testb
- * testa requires testc
- * testa requires testd
- *
- * testb requires teste
- * testb requires testf
- * testb requires testg
- *
- * testc requires testh
- * testc requires testi
- * testc requires testj
- *
- * testd has no prerequisites
- *
- * teste has no prerequisites
- *
- * testf has no prerequisites
- *
- * testg has no prerequisites
- *
- * testh has no prerequisites
- *
- * testi has no prerequisites and is missing a required
- * field so it will be disabled
- *
- * testj has no prerequisites
- *
- * testa2 requires testb
- * testa2 requires testd
- *
- * The resulting plugin registry should contain the following
- * plugins:
- * testb
- * testd
- * teste
- * testf
- * testg
- * testh
- * testj
- * testa2
- * All other plugins (a, c, and i) should be disabled
- * (and trimmed).
- *
- * This is the same as test3 but the order of the requires
- * in the plugin is such that any disabled plugins are at the
- * end of the requires clause. Yes, this does make a
- * difference. See bug 21465 - "Plugin Resolving - reorder
- * REQUIRES clause & different plugins are disabled".
- */
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, "fragmentResolveTest", null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/orphan.6/");
- pluginURLs[0] = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("6.0 Unexpected exception - " + e.getMessage());
- }
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
- IPluginDescriptor[] pds = registry.getPluginDescriptors();
- // Should only be 8 plugins
- assertEquals("6.1 Should only have 8 plugins", 8, pds.length);
- // Should have a plugins as listed in comment above
- IPluginDescriptor pd = registry.getPluginDescriptor("testb");
- assertNotNull("6.2 Should find plugin testb", pd);
- pd = registry.getPluginDescriptor("testd");
- assertNotNull("6.3 Should find plugin testd", pd);
- pd = registry.getPluginDescriptor("teste");
- assertNotNull("6.4 Should find plugin teste", pd);
- pd = registry.getPluginDescriptor("testf");
- assertNotNull("6.5 Should find plugin testf", pd);
- pd = registry.getPluginDescriptor("testg");
- assertNotNull("6.6 Should find plugin testg", pd);
- pd = registry.getPluginDescriptor("testh");
- assertNotNull("6.6 Should find plugin testh", pd);
- pd = registry.getPluginDescriptor("testj");
- assertNotNull("6.6 Should find plugin testj", pd);
- pd = registry.getPluginDescriptor("testa2");
- assertNotNull("6.7 Should find plugin testa2", pd);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new OrphanTest("test1"));
- suite.addTest(new OrphanTest("test2"));
- suite.addTest(new OrphanTest("test3"));
- suite.addTest(new OrphanTest("test4"));
- suite.addTest(new OrphanTest("test5"));
- suite.addTest(new OrphanTest("test6"));
- return suite;
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java
deleted file mode 100644
index 0b30569..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/ParseHelper.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.runtime.IStatus;
-public class ParseHelper extends PluginVersionTest {
-/**
- * ParseHelper constructor comment.
- */
-public ParseHelper() {
- super();
-}
-/**
- * ParseHelper constructor comment.
- * @param name java.lang.String
- */
-public ParseHelper(String name) {
- super(name);
-}
-/* doParsing
- * This method will parse a series of XML files. The input array should be
- * an array of string buffers where each string buffer is considered a complete
- * XML file. The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-static PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath, boolean doResolve) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- if (doResolve) {
- IStatus resolveStatus = registry.resolve(true, true);
- factory.getStatus().merge(resolveStatus);
- }
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java
deleted file mode 100644
index a4e47a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTest.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.InputStream;
-import java.net.URL;
-import java.net.URLClassLoader;
-
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class PlatformURLPerformanceTest extends WorkspaceSessionTest {
-public PlatformURLPerformanceTest() {
- super(null);
-}
-public PlatformURLPerformanceTest(String name) {
- super(name);
-}
-public long doLoad(String urls, String clazz, int count) {
-
- // force gc at start of test
- for (int i = 0; i < 2; i++) {
- System.runFinalization();
- System.gc();
- }
-
- long time = 0;
- long first = 0;
- long last = 0;
- try {
- System.out.println(urls);
- URL path = new URL(urls);
- time = (new java.util.Date()).getTime();
- for (int i=0; i<count; i++) {
- if (i==1) first = (new java.util.Date()).getTime();
- URLClassLoader l = null;
- l = new URLClassLoader(new URL[] {path},null);
- l.loadClass(clazz);
- }
- last = (new java.util.Date()).getTime();
- time = last-time;
- System.out.println("Total: "+time+" ["+(last-first)+"]");
- System.out.println("Average: "+(time/count)+" ["+((last-first)/count-1)+"]");
- }
- catch(Exception e) { System.out.println(e); }
-
- return time;
-}
-public void testPlatformURLCompareTest() {
-
- // -cp file:some.jar
- // -cp jar:file:some.jar!/
- // -cp platform:/test/some.jar!/ with file: install
-
- // -cp jar:http:some.jar!/
- // -cp platform:/test/some.jar!/ with http: install
-
- int count = 250; // # of load iterations
- String jar = "plugin_a_external.jar";
- String clazz = "org.eclipse.core.tests.internal.plugin.a.Dummy";
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
- assertNotNull ("0.0", pd);
-
- URL base = ((PluginDescriptor) pd).getInstallURLInternal();
- PlatformURLPerformanceTestConnection.startup(base);
-
- System.out.println(clazz);
- System.out.println("Count: " + count);
-
- // local loads
-
- String f = (new java.io.File(base.getFile())).getAbsolutePath();
- f = (f + "/").replace('\\', '/');
- String pathFile = "file:" + f + jar;
- String pathJar = "jar:" + base.toExternalForm() + jar + "!/";
- String pathEclipse = "platform:/test/" + jar + "!/";
- String pathPlugin = pd.getInstallURL().toExternalForm() + jar + "!/";
-
- doLoad(pathFile, clazz, count);
-
- doLoad(pathJar, clazz, count);
-
- doLoad(pathEclipse, clazz, count);
-
- doLoad(pathPlugin, clazz, count);
-
- doLoad(pathPlugin, clazz, count);
-
- doLoad(pathEclipse, clazz, count);
-
- doLoad(pathJar, clazz, count);
-
- doLoad(pathFile, clazz, count);
-}
-public void testPlatformURLCompareTestLocal() {
-
- // -cp file:some.jar
- // -cp jar:file:some.jar!/
- // -cp platform:/test/some.jar!/
- // -cp platform:/plugin/.../some.jar!/
-
- int count = 250; // # of load iterations
- String jar = "plugin_a_external.jar";
- String clazz = "org.eclipse.core.tests.internal.plugin.a.Dummy";
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
- assertNotNull("0.0", pd);
-
- URL base = ((PluginDescriptor) pd).getInstallURLInternal();
- PlatformURLPerformanceTestConnection.startup(base);
-
- System.out.println(clazz);
- System.out.println("Count: " + count);
-
- // local loads
-
- String f = (new java.io.File(base.getFile())).getAbsolutePath();
- f = (f + "/").replace('\\', '/');
- String pathFile = "file:" + f + jar;
- String pathJar = "jar:" + base.toExternalForm() + jar + "!/";
- String pathEclipse = "platform:/test/" + jar + "!/";
- String pathPlugin = pd.getInstallURL().toExternalForm() + jar + "!/";
-
- doLoad(pathFile, clazz, count);
-
- doLoad(pathJar, clazz, count);
-
- doLoad(pathEclipse, clazz, count);
-
- doLoad(pathPlugin, clazz, count);
-
- doLoad(pathPlugin, clazz, count);
-
- doLoad(pathEclipse, clazz, count);
-
- doLoad(pathJar, clazz, count);
-
- doLoad(pathFile, clazz, count);
-}
-public void xxxtestPlatformURLCompareTestServer() {
-
- // Ignore this test for now as it relies on a server which
- // no longer exists. Need to find some universal way of
- // testing this.
-
- // -cp jar:http:some.jar!/
- // -cp platform:/test/some.jar!/
-
- int count = 250; // # of load iterations
- String jar = "plugin_a_external.jar";
- String clazz = "org.eclipse.core.tests.internal.plugin.a.Dummy";
- String server = "http://vlad.torolab.ibm.com/test/";
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
- assertNotNull("0.0", pd);
-
- URL base = null;
- try {
- base = new URL(server);
- } catch (Exception e) {
- System.out.println(e);
- return;
- }
- PlatformURLPerformanceTestConnection.startup(base);
-
- System.out.println("Test requires manual setup of " + server);
- System.out.println(clazz);
- System.out.println("Count: " + count);
-
- // poke server to wake it up plus force any server caching so all tests
- // are on equal footing
-
- InputStream tmpis = null;
- try {
- URL tmp = new URL(server + jar);
- tmpis = tmp.openStream();
- byte[] buf = new byte[4096];
- int tmpcount = tmpis.read(buf);
- while (tmpcount != -1) {
- tmpcount = tmpis.read(buf);
- }
- tmpis.close();
- tmpis = null;
- } catch (Exception e) {
- System.out.println("Error initializing server");
- if (tmpis != null)
- try {
- tmpis.close();
- } catch (Exception e2) {
- }
- return;
- }
-
- // remote loads
-
- String pathJar = "jar:" + base.toExternalForm() + jar + "!/";
- String pathEclipse = "platform:/test/" + jar + "!/";
-
- doLoad(pathJar, clazz, count);
-
- doLoad(pathEclipse, clazz, count);
-
- doLoad(pathEclipse, clazz, count);
-
- doLoad(pathJar, clazz, count);
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java
deleted file mode 100644
index c6fe66f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLPerformanceTestConnection.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-/*
- * Licensed Materials - Property of IBM,
- * WebSphere Studio Workbench
- * (c) Copyright IBM Corp 2000
- */
-
-/**
- * Eclipse URL support
- * platform:platform/ maps to platform installation location
- */
-
-import java.io.IOException;
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.boot.PlatformURLConnection;
-import org.eclipse.core.internal.boot.PlatformURLHandler;
-
-public class PlatformURLPerformanceTestConnection extends PlatformURLConnection {
-
- // platform/ protocol
- public static final String TEST = "test";
- private static URL installURL;
-public PlatformURLPerformanceTestConnection() {
- super(null);
-}
-public PlatformURLPerformanceTestConnection(URL url) {
- super(url);
-}
-protected boolean allowCaching() {
- return true;
-}
-protected URL resolve() throws IOException {
-
- String spec = url.getFile().trim();
- if (spec.startsWith("/")) spec = spec.substring(1);
-
- if (!spec.startsWith(TEST+"/")) throw new IOException("Unsupported protocol variation "+url.toString());
-
- return spec.length()==TEST.length()+1 ? installURL : new URL(installURL,spec.substring(TEST.length()+1));
-}
-public static void startup(URL url) {
-
- // register connection type for platform:/plugin handling
- installURL = url;
- PlatformURLHandler.register(TEST, PlatformURLPerformanceTestConnection.class);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PlatformURLPerformanceTest("platformURLCompareTestLocal"));
-// suite.addTest(new PlatformURLPerformanceTest("platformURLCompareTestServer"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java
deleted file mode 100644
index 581c9c4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PlatformURLTest.java
+++ /dev/null
@@ -1,538 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import org.eclipse.core.internal.boot.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class PlatformURLTest extends WorkspaceSessionTest {
-public PlatformURLTest() {
- super(null);
-}
-public PlatformURLTest(String name) {
- super(name);
-}
-public URL createURL(String id, String spec, boolean success) {
-
- URL url = null;
-
- try {
- url = new URL(spec);
- if (!success)
- fail(id + ".0 " + url.toString());
- } catch (MalformedURLException e) {
- if (success)
- fail(id + ".1 " + e);
- }
-
- return url;
-
-}
-public URL createURL(String id, URL base, String spec, boolean success) {
-
- URL url = null;
-
- try {
- url = new URL(base, spec);
- if (!success)
- fail(id + ".0 " + url.toString());
- } catch (MalformedURLException e) {
- if (success)
- fail(id + ".1 " + e);
- }
-
- return url;
-
-}
-public void testPlatformURLLoader() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
- assertNotNull("0.0", pd);
-
- URL path = null;
- try {
- path = new URL(pd.getInstallURL(), "plugin_a_external.jar!/");
- } catch (MalformedURLException e) {
- fail("1.0 " + e);
- };
-
- // load a class from a jar
- ClassLoader l = new URLClassLoader(new URL[] { path }, null);
- Class c = null;
- try {
- c = l.loadClass("org.eclipse.core.tests.internal.plugin.a.Dummy");
- } catch (ClassNotFoundException e) {
- fail("2.0 " + e);
- };
- URL src = c.getProtectionDomain().getCodeSource().getLocation();
-
- // do it again using new loader
- l = new URLClassLoader(new URL[] { path }, null);
- c = null;
- try {
- c = l.loadClass("org.eclipse.core.tests.internal.plugin.a.Dummy");
- } catch (ClassNotFoundException e) {
- fail("3.0 " + e);
- };
- src = c.getProtectionDomain().getCodeSource().getLocation();
-
- c = null;
-
-}
-public void testPlatformURLResolve() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d" );
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
- assertNotNull("0.3", pluginD);
-
- URL install = null;
- URL url = null;
- URL resolvedURL = null;
- URL resolvedURL2 = null;
- URL localURL = null;
- String result = null;
-
- // resolve/ asLocalURL for plugin directory URL
- install = url = pluginA.getInstallURL();
- assertNotNull("1.0.0", url);
- assertTrue("1.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL = Platform.resolve(url);
- } catch (IOException e) {
- fail("1.1.0 " + e);
- };
- assertNotNull("1.1.1", resolvedURL);
- assertTrue("1.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL2 = Platform.resolve(resolvedURL);
- } catch (IOException e) {
- fail("1.2.0 " + e);
- };
- assertTrue("1.2.1", resolvedURL2.equals(resolvedURL));
-
- try {
- localURL = Platform.asLocalURL(url);
- fail("1.3.0");
- } catch (IOException e) {
- };
-
- // resolve/ asLocalURL for file URL
-
- try {
- url = new URL(install, "plugin.xml");
- } catch (java.io.IOException e) {
- fail("2.0.0.0 " + e);
- }
- assertNotNull("2.0.0", url);
- assertTrue("2.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL = Platform.resolve(url);
- } catch (IOException e) {
- fail("2.1.0 " + e);
- };
- assertNotNull("2.1.1", resolvedURL);
- assertTrue("2.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL2 = Platform.resolve(resolvedURL);
- } catch (IOException e) {
- fail("2.2.0 " + e);
- };
- assertTrue("2.2.1", resolvedURL2.equals(resolvedURL));
-
- try {
- localURL = Platform.asLocalURL(url);
- } catch (IOException e) {
- fail("2.3.0 " + e);
- };
- assertTrue("2.3.1", localURL.getProtocol().equals(PlatformURLHandler.FILE));
-
- // resolve/ asLocalURL for jar URL
-
- try {
- url = new URL(install, "plugin_a_external.jar!/");
- } catch (java.io.IOException e) {
- fail("3.0.0.0 " + e);
- }
- assertNotNull("3.0.0", url);
- assertTrue("3.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL = Platform.resolve(url);
- } catch (IOException e) {
- fail("3.1.0 " + e);
- };
- assertNotNull("3.1.1", resolvedURL);
- assertTrue("3.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL2 = Platform.resolve(resolvedURL);
- } catch (IOException e) {
- fail("3.2.0 " + e);
- };
- assertTrue("3.2.1", resolvedURL2.equals(resolvedURL));
-
- try {
- localURL = Platform.asLocalURL(url);
- } catch (IOException e) {
- fail("3.3.0 " + e);
- };
- assertTrue("3.3.1", localURL.getProtocol().equals(PlatformURLHandler.JAR));
-
- // resolve/ asLocalURL for class inside jar URL
-
- try {
- url = new URL(install, "plugin_a_external.jar!/org/eclipse/core/tests/internal/plugin/a/DummyClass.class");
- } catch (java.io.IOException e) {
- fail("4.0.0.0 " + e);
- }
- assertNotNull("4.0.0", url);
- assertTrue("4.0.1", url.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL = Platform.resolve(url);
- } catch (IOException e) {
- fail("4.1.0 " + e);
- };
- assertNotNull("4.1.1", resolvedURL);
- assertTrue("4.1.2", !resolvedURL.getProtocol().equals(PlatformURLHandler.PROTOCOL));
-
- try {
- resolvedURL2 = Platform.resolve(resolvedURL);
- } catch (IOException e) {
- fail("4.2.0 " + e);
- };
- assertTrue("4.2.1", resolvedURL2.equals(resolvedURL));
-
- try {
- localURL = Platform.asLocalURL(url);
- } catch (IOException e) {
- fail("4.3.0 " + e);
- };
- assertTrue("4.3.1", localURL.getProtocol().equals(PlatformURLHandler.JAR));
-
-}
-public void testPlatformURL() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d" );
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
- assertNotNull("0.3", pluginD);
-
- URL url = null;
- String result = null;
-
- // bad protocol spec "badurl"
- url = createURL("1.0", "platform:badurl/" + "plugin.a" + "/", true);
- result = getResourceStringFromURL("1.1", url, "key", false);
-
- // nonexistent plugin
- url = createURL("2.0", "platform:plugin/some.bad.plugin/", true);
- result = getResourceStringFromURL("2.1", url, "key", false);
-
- // good plugin
- url = createURL("3.0", "platform:plugin/" + "plugin.a" + "/", true);
- url = createURL("3.1", url, "plugin.properties", true);
- result = getResourceStringFromURL("3.2", url, "key", true);
- assertNotNull("3.3", result);
- assertTrue("3.4", result.equals("Test String"));
-
- // good plugin from cache
- url = createURL("4.0", "platform:plugin/" + "plugin.a" + "/", true);
- url = createURL("4.1", url, "plugin.properties", true);
- PlatformURLConnection euc = null;
- try {
- euc = (PlatformURLConnection) url.openConnection();
- } catch (IOException e) {
- fail("4.1.1 " + e);
- }
- try {
- url = euc.getURLAsLocal();
- } catch (IOException e) {
- fail("4.1.2 " + e);
- }
- result = getResourceStringFromURL("4.4", url, "key", true);
- assertNotNull("4.3", result);
- assertTrue("4.4", result.equals("Test String"));
-}
-public String getResourceStringFromConnection(String id, URLConnection uc, String key, boolean success) {
-
- InputStream is = null;
- PropertyResourceBundle bundle = null;
- String result = null;
-
- try {
- try {
- is = uc.getInputStream();
- if (!success)
- fail(id + ".2 " + uc.getURL().toString());
- } catch (IOException e) {
- if (success)
- fail(id + ".3 " + e);
- return null;
- }
-
- try {
- bundle = new PropertyResourceBundle(is);
- if (!success)
- fail(id + ".4 " + uc.getURL().toString());
- } catch (IOException e) {
- if (success)
- fail(id + ".5 " + e);
- return null;
- }
-
- try {
- result = bundle.getString(key);
- if (!success)
- fail(id + ".6 " + uc.getURL().toString());
- } catch (MissingResourceException e) {
- if (success)
- fail(id + ".7 " + e);
- return null;
- }
-
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- }
- }
-
- return result;
-
-}
-public String getResourceStringFromURL(String id, URL url, String key, boolean success) {
-
- URLConnection uc = null;
- InputStream is = null;
- PropertyResourceBundle bundle = null;
- String result = null;
-
- try {
- try {
- uc = url.openConnection();
- if (!success)
- fail(id + ".0 " + url.toString());
- } catch (IOException e) {
- if (success)
- fail(id + ".1 " + e);
- return null;
- }
-
- try {
- is = uc.getInputStream();
- if (!success)
- fail(id + ".2 " + url.toString());
- } catch (IOException e) {
- if (success)
- fail(id + ".3 " + e);
- return null;
- }
-
- try {
- bundle = new PropertyResourceBundle(is);
- if (!success)
- fail(id + ".4 " + url.toString());
- } catch (IOException e) {
- if (success)
- fail(id + ".5 " + e);
- return null;
- }
-
- try {
- result = bundle.getString(key);
- if (!success)
- fail(id + ".6 " + url.toString());
- } catch (MissingResourceException e) {
- if (success)
- fail(id + ".7 " + e);
- return null;
- }
-
- } finally {
- if (is != null)
- try {
- is.close();
- } catch (IOException e) {
- }
- }
-
- return result;
-
-}
-private void buildPropertyFile(String fileName, String fileData, URL fileLocation) {
- String fullFileName = fileLocation.getFile() + fileName;
- try {
- FileOutputStream fs = new FileOutputStream(fullFileName);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println(fileData);
- w.flush();
- } finally {
- w.close();
- }
- } catch (FileNotFoundException ioe) {
- fail ("Unable to create test file " + fullFileName);
- }
-
-}
-private void buildResourceEnv(IPluginDescriptor pluginB, IPluginDescriptor pluginC, String nl, String smallnl) {
- buildPropertyFile("plugin_" + nl + ".properties", "key = Test String from " + nl,
- pluginC.find(new Path("./")));
- if (!smallnl.equals(nl))
- buildPropertyFile("plugin_" + smallnl + ".properties", "key = Test String from " + smallnl,
- pluginC.find(new Path("./")));
- buildPropertyFile("plugin_" + smallnl + ".properties", "key = Test String from " + smallnl,
- pluginB.find(new Path("./")));
-}
-
-private void cleanupResourceEnv(IPluginDescriptor pluginB, IPluginDescriptor pluginC, String nl, String smallnl) {
- File file = new File(pluginB.find(new Path("./")).getFile() + "plugin_" + smallnl + ".properties");
- file.delete();
- file = new File(pluginC.find(new Path("./")).getFile() + "plugin_" + nl + ".properties");
- file.delete();
- if (!smallnl.equals(nl)) {
- file = new File(pluginC.find(new Path("./")).getFile() + "plugin_" + smallnl + ".properties");
- file.delete();
- }
-}
-
-public void testGetResourceString() {
-
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // get descriptors
- IPluginDescriptor pluginA = registry.getPluginDescriptor("plugin.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("plugin.b");
- IPluginDescriptor pluginC = registry.getPluginDescriptor("plugin.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("plugin.d" );
- assertNotNull("0.0", pluginA);
- assertNotNull("0.1", pluginB);
- assertNotNull("0.2", pluginC);
- assertNotNull("0.3", pluginD);
-
- // We are making the assumption here that nl will have at
- // most 2 segments
- String nl = InternalBootLoader.getNL();
- String smallnl = nl;
- int i = nl.lastIndexOf('_');
- if (i != -1) {
- smallnl = nl.substring(0, i);
- }
-
- // resource strings - no lookup
- String s1 = "Hello World";
- String s2 = "%%" + s1;
- // resource strings - default bundle lookup
- String s3 = "Test String";
- String key = "%key";
- String bad = "%bad";
-
- try {
- buildResourceEnv(pluginB, pluginC, nl, smallnl);
-
- assertEquals("2.0", s1, pluginA.getResourceString(s1));
- assertEquals("2.1", s2.substring(1), pluginA.getResourceString(s2));
-
- assertEquals("3.0", s3, pluginA.getResourceString(key));
- assertEquals("3.1", s3 + " from " + smallnl, pluginB.getResourceString(key));
- assertEquals("3.2", s3 + " from " + nl, pluginC.getResourceString(key));
- assertEquals("3.3", key, pluginD.getResourceString(key));
-
- assertEquals("4.0", bad, pluginA.getResourceString(bad));
- assertEquals("4.1", bad, pluginB.getResourceString(bad));
- assertEquals("4.2", bad, pluginC.getResourceString(bad));
- assertEquals("4.3", bad, pluginD.getResourceString(bad));
-
- assertEquals("5.0", s1, pluginA.getResourceString(bad + " " + s1));
- assertEquals("5.1", s1, pluginB.getResourceString(bad + " " + s1));
- assertEquals("5.2", s1, pluginC.getResourceString(bad + " " + s1));
- assertEquals("5.3", s1, pluginD.getResourceString(bad + " " + s1));
-
- assertEquals("6.0", s3, pluginA.getResourceString(key + " " + s1));
- assertEquals("6.1", s3 + " from " + smallnl, pluginB.getResourceString(key + " " + s1));
- assertEquals("6.2", s3 + " from " + nl, pluginC.getResourceString(key + " " + s1));
- assertEquals("6.3", s1, pluginD.getResourceString(key + " " + s1));
- } finally {
- cleanupResourceEnv(pluginB, pluginC, nl, smallnl);
- }
-
- // resource strings - specified bundle
- ClassLoader loader = new URLClassLoader(new URL[] { pluginD.getInstallURL()}, null);
- ResourceBundle bundle = null;
- try {
- bundle = ResourceBundle.getBundle("resource", Locale.getDefault(), loader);
- } catch (MissingResourceException e) {
- // We don't need to worry about the locale here. We should always find
- // resource.properties
- fail("7.0.1");
- };
- assertNotNull("7.0.2", bundle);
-
- assertEquals("7.1", s1, pluginA.getResourceString(s1, bundle));
- assertEquals("7.2", s2.substring(1), pluginA.getResourceString(s2, bundle));
- assertEquals("7.3", "resource.properties " + s3, pluginA.getResourceString(key, bundle));
- assertEquals("7.4", bad, pluginA.getResourceString(bad, bundle));
- assertEquals("7.5", s1, pluginA.getResourceString(bad + " " + s1, bundle));
- assertEquals("7.6", "resource.properties " + s3, pluginA.getResourceString(key + " " + s1, bundle));
-
- assertEquals("8.1", s1, pluginB.getResourceString(s1, bundle));
- assertEquals("8.2", s2.substring(1), pluginB.getResourceString(s2, bundle));
- assertEquals("8.3", "resource.properties " + s3, pluginB.getResourceString(key, bundle));
- assertEquals("8.4", bad, pluginB.getResourceString(bad, bundle));
- assertEquals("8.5", s1, pluginB.getResourceString(bad + " " + s1, bundle));
- assertEquals("8.6", "resource.properties " + s3, pluginB.getResourceString(key + " " + s1, bundle));
-
- assertEquals("9.1", s1, pluginC.getResourceString(s1, bundle));
- assertEquals("9.2", s2.substring(1), pluginC.getResourceString(s2, bundle));
- assertEquals("9.3", "resource.properties " + s3, pluginC.getResourceString(key, bundle));
- assertEquals("9.4", bad, pluginC.getResourceString(bad, bundle));
- assertEquals("9.5", s1, pluginC.getResourceString(bad + " " + s1, bundle));
- assertEquals("9.6", "resource.properties " + s3, pluginC.getResourceString(key + " " + s1, bundle));
-
- assertEquals("10.1", s1, pluginD.getResourceString(s1, bundle));
- assertEquals("10.2", s2.substring(1), pluginD.getResourceString(s2, bundle));
- assertEquals("10.3", "resource.properties " + s3, pluginD.getResourceString(key, bundle));
- assertEquals("10.4", bad, pluginD.getResourceString(bad, bundle));
- assertEquals("10.5", s1, pluginD.getResourceString(bad + " " + s1, bundle));
- assertEquals("10.6", "resource.properties " + s3, pluginD.getResourceString(key + " " + s1, bundle));
-
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java
deleted file mode 100644
index bea19aa..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-
-public abstract class PluginResolveTest extends EclipseWorkspaceTest {
-public PluginResolveTest() {
- super(null);
-}
-public PluginResolveTest(String name) {
- super(name);
-}
-public IPluginDescriptor checkResolved(IPluginRegistry r, String pfx, String id, String v) {
-
- IPluginDescriptor pd = r.getPluginDescriptor(id);
- assertNotNull(pfx + ".0.0", pd);
- assertEquals(pfx + ".0.1", pd.getUniqueIdentifier(), id);
- assertEquals(pfx + ".0.2", pd.getVersionIdentifier(), new PluginVersionIdentifier(v));
- return pd;
-}
-public IPluginDescriptor checkResolved(IPluginRegistry r, String pfx, String id, String v, boolean ok) {
-
- IPluginDescriptor pd = r.getPluginDescriptor(id, new PluginVersionIdentifier(v));
- if (ok) {
- assertNotNull(pfx + ".0.0", pd);
- assertEquals(pfx + ".0.1", pd.getUniqueIdentifier(), id);
- assertEquals(pfx + ".0.2", pd.getVersionIdentifier(), new PluginVersionIdentifier(v));
- } else
- assertNull(pfx + ".0.3", pd);
- return pd;
-}
-public void checkResolvedPrereqs(String pfx, IPluginDescriptor pd, String[] id, String[] v) {
-
- IPluginPrerequisite[] prq = pd.getPluginPrerequisites();
- assertEquals(pfx + ".0.0", prq.length, id.length);
- for (int i = 0; i < prq.length; i++) {
- int ix = -1;
- for (int j = 0; j < id.length; j++) {
- if (prq[i].getUniqueIdentifier().equals(id[j])) {
- ix = j;
- break;
- }
- }
- assertTrue(pfx + ".0.1 " + prq[i].getUniqueIdentifier(), ix != -1);
- assertEquals(pfx + ".0.2 " + prq[i].getUniqueIdentifier(), prq[i].getResolvedVersionIdentifier(), new PluginVersionIdentifier(v[ix]));
- }
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java
deleted file mode 100644
index effae34..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_1.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_1 extends PluginResolveTest {
-public PluginResolveTest_1() {
- super(null);
-}
-public PluginResolveTest_1(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.1/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
- verIdA = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
- verIdC = null;
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_1("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java
deleted file mode 100644
index 5e9f209..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_10.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_10 extends PluginResolveTest {
-public PluginResolveTest_10() {
- super(null);
-}
-public PluginResolveTest_10(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.10/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
- verIdA = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("1.0.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC1 = new PluginVersionIdentifier("1.1.0");
- PluginVersionIdentifier verIdC2 = new PluginVersionIdentifier("2.0.5");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC1);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC1);
- verIdC1 = null;
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC2);
- assertNotNull("2.3", pluginDescriptor);
- assertEquals("2.4", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.5", pluginDescriptor.getVersionIdentifier(), verIdC2);
- verIdC2 = null;
-
- PluginVersionIdentifier verIdD = new PluginVersionIdentifier("1.0.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.d", verIdD);
- assertNotNull("3.0", pluginDescriptor);
- assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.d");
- assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdD);
- verIdD = null;
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_10("baseTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java
deleted file mode 100644
index 934f1de..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_11.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_11 extends PluginResolveTest {
-public PluginResolveTest_11() {
- super(null);
-}
-public PluginResolveTest_11(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.11/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
- verIdA = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
- verIdC = null;
-
- verIdC = new PluginVersionIdentifier("2.0.5");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
- assertNotNull("3.0", pluginDescriptor);
- assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdC);
- verIdC = null;
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_11("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java
deleted file mode 100644
index 3f330ba..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_12.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_12 extends PluginResolveTest {
-public PluginResolveTest_12() {
- super(null);
-}
-public PluginResolveTest_12(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.12/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
- verIdA = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
- verIdC = null;
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_12("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java
deleted file mode 100644
index ab7b8a1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_13.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_13 extends PluginResolveTest {
-public PluginResolveTest_13() {
- super(null);
-}
-public PluginResolveTest_13(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.13/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC = new PluginVersionIdentifier("2.0.5");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdC);
- verIdC = null;
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_13("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java
deleted file mode 100644
index 7fcae31..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_14.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_14 extends PluginResolveTest {
-public PluginResolveTest_14() {
- super(null);
-}
-public PluginResolveTest_14(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.14/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
- verIdA = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC1 = new PluginVersionIdentifier("1.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC1);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC1);
- verIdC1 = null;
-
- PluginVersionIdentifier verIdC2 = new PluginVersionIdentifier("2.0.5");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC2);
- assertNotNull("3.0", pluginDescriptor);
- assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdC2);
- verIdC2 = null;
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_14("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java
deleted file mode 100644
index aef7f3b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_15.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_15 extends PluginResolveTest {
-public PluginResolveTest_15() {
- super(null);
-}
-public PluginResolveTest_15(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.15/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- // This scenario should fail to resolve (I think)
- // but gives 2 plugins.
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- IPluginDescriptor pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC1 = new PluginVersionIdentifier("2.0.5");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC1);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC1);
- verIdC1 = null;
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_15("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java
deleted file mode 100644
index ad1de36..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_16.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_16 extends PluginResolveTest {
-public PluginResolveTest_16() {
- super(null);
-}
-public PluginResolveTest_16(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.16/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.1"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_16("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java
deleted file mode 100644
index 46676d2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_17.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_17 extends PluginResolveTest {
-public PluginResolveTest_17() {
- super(null);
-}
-public PluginResolveTest_17(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.17/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("1.0", 1, plugins.length);
- assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
- assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_17("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java
deleted file mode 100644
index 46fd201..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_18.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_18 extends PluginResolveTest {
-public PluginResolveTest_18() {
- super(null);
-}
-public PluginResolveTest_18(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.18/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.2"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_18("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java
deleted file mode 100644
index 252b602..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_19.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_19 extends PluginResolveTest {
-public PluginResolveTest_19() {
- super(null);
-}
-public PluginResolveTest_19(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.19/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.2"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_19("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java
deleted file mode 100644
index 6c98148..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_2.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_2 extends PluginResolveTest {
-public PluginResolveTest_2() {
- super(null);
-}
-public PluginResolveTest_2(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.2/");
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- fail("0.0.0 Unexpected exception - " + e.getMessage());
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = null;
-
- pd = checkResolved(registry, "0.0", "tests.a", "1.2.2");
- checkResolvedPrereqs("0.1", pd, new String[] { "tests.b" }, new String[] { "2.2.0" });
-
- pd = checkResolved(registry, "1.0", "tests.b", "2.2.0");
- checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "2.0.5" });
-
- pd = checkResolved(registry, "2.0", "tests.c", "2.0.5");
- checkResolvedPrereqs("2.1", pd, new String[] { "tests.d" }, new String[] { "2.0.0" });
-
- pd = checkResolved(registry, "3.0", "tests.d", "2.0.0");
- checkResolvedPrereqs("3.1", pd, new String[] { "tests.e" }, new String[] { "2.1.0" });
-
- pd = checkResolved(registry, "4.0", "tests.e", "2.1.0");
- checkResolvedPrereqs("4.1", pd, new String[] { }, new String[] { });
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_2("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java
deleted file mode 100644
index 908cb24..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_20.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_20 extends PluginResolveTest {
-public PluginResolveTest_20() {
- super(null);
-}
-public PluginResolveTest_20(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.20/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("1.0", 1, plugins.length);
- assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
- assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_20("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java
deleted file mode 100644
index 980c683..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_21.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_21 extends PluginResolveTest {
-public PluginResolveTest_21() {
- super(null);
-}
-public PluginResolveTest_21(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.21/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_21("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java
deleted file mode 100644
index 03d914c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_22.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_22 extends PluginResolveTest {
-public PluginResolveTest_22() {
- super(null);
-}
-public PluginResolveTest_22(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.22/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_22("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java
deleted file mode 100644
index 0111543..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_23.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_23 extends PluginResolveTest {
-public PluginResolveTest_23() {
- super(null);
-}
-public PluginResolveTest_23(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.23/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_23("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java
deleted file mode 100644
index 8094f58..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_24.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_24 extends PluginResolveTest {
-public PluginResolveTest_24() {
- super(null);
-}
-public PluginResolveTest_24(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.24/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_24("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java
deleted file mode 100644
index 8682498..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_25.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_25 extends PluginResolveTest {
-public PluginResolveTest_25() {
- super(null);
-}
-public PluginResolveTest_25(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.25/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("1.0", 1, plugins.length);
- assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
- assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_25("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java
deleted file mode 100644
index 6f25e7a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_26.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_26 extends PluginResolveTest {
-public PluginResolveTest_26() {
- super(null);
-}
-public PluginResolveTest_26(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.26/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("3.0.1"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_26("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java
deleted file mode 100644
index 8112c2a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_27.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_27 extends PluginResolveTest {
-public PluginResolveTest_27() {
- super(null);
-}
-public PluginResolveTest_27(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.27/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("3.0.1"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_27("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java
deleted file mode 100644
index d35e79a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_28.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_28 extends PluginResolveTest {
-public PluginResolveTest_28() {
- super(null);
-}
-public PluginResolveTest_28(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.28/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("1.0", 1, plugins.length);
- assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
- assertEquals("1.2", new PluginVersionIdentifier("2.2.0"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_28("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java
deleted file mode 100644
index d14da5d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_29.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_29 extends PluginResolveTest {
-public PluginResolveTest_29() {
- super(null);
-}
-public PluginResolveTest_29(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.29/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_29("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java
deleted file mode 100644
index 701e8ab..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_3.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_3 extends PluginResolveTest {
-public PluginResolveTest_3() {
- super(null);
-}
-public PluginResolveTest_3(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.3/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = null;
-
- pd = checkResolved(registry, "0.0", "tests.a", "1.2.1");
- checkResolvedPrereqs("0.1", pd, new String[] { "tests.b" }, new String[] { "1.0.0" });
-
- pd = checkResolved(registry, "1.0", "tests.b", "1.0.0");
- checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "1.0.2" });
-
- pd = checkResolved(registry, "2.0", "tests.c", "1.0.2");
- checkResolvedPrereqs("2.1", pd, new String[] { "tests.d" }, new String[] { "1.1.1" });
-
- pd = checkResolved(registry, "3.0", "tests.d", "1.1.1");
- checkResolvedPrereqs("3.1", pd, new String[] { "tests.e" }, new String[] { "1.1.1" });
-
- pd = checkResolved(registry, "4.0", "tests.e", "1.1.1");
- checkResolvedPrereqs("4.1", pd, new String[] { }, new String[] { });
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_3("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java
deleted file mode 100644
index 4d58a64..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_30.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_30 extends PluginResolveTest {
-public PluginResolveTest_30() {
- super(null);
-}
-public PluginResolveTest_30(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.30/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.4"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_30("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java
deleted file mode 100644
index 5890161..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_31.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_31 extends PluginResolveTest {
-public PluginResolveTest_31() {
- super(null);
-}
-public PluginResolveTest_31(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.31/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_31("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java
deleted file mode 100644
index b9c8f49..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_32.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_32 extends PluginResolveTest {
-public PluginResolveTest_32() {
- super(null);
-}
-public PluginResolveTest_32(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.32/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.3.0"));
-
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_32("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java
deleted file mode 100644
index c106c39..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_33.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_33 extends PluginResolveTest {
-public PluginResolveTest_33() {
- super(null);
-}
-public PluginResolveTest_33(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.33/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("1.0", 1, plugins.length);
- assertEquals("1.1", "tests.b", plugins[0].getUniqueIdentifier());
- assertEquals("1.2", new PluginVersionIdentifier("3.0.1"), plugins[0].getVersionIdentifier());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_33("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java
deleted file mode 100644
index 735ef5e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_4.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_4 extends PluginResolveTest {
-public PluginResolveTest_4() {
- super(null);
-}
-
-public PluginResolveTest_4(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.4/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = null;
-
- pd = checkResolved(registry, "0.0", "tests.a", "1.2.0");
- checkResolvedPrereqs("0.1", pd, new String[] { "tests.b", "tests.c" }, new String[] {"2.1.0", "2.0.5" });
-
- pd = checkResolved(registry, "1.0", "tests.b", "2.1.0");
- checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "2.0.5" });
-
- pd = checkResolved(registry, "2.0", "tests.c", "2.0.5");
- checkResolvedPrereqs("2.1", pd, new String[] { "tests.d" }, new String[] { "2.0.0" });
-
- pd = checkResolved(registry, "3.0", "tests.d", "2.0.0");
- checkResolvedPrereqs("3.1", pd, new String[] { "tests.e" }, new String[] { "2.1.0" });
-
- pd = checkResolved(registry, "4.0", "tests.e", "2.1.0");
- checkResolvedPrereqs("4.1", pd, new String[] { }, new String[] { });
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_4("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java
deleted file mode 100644
index 3110872..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_5.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_5 extends PluginResolveTest {
-public PluginResolveTest_5() {
- super(null);
-}
-public PluginResolveTest_5(String name) {
- super(name);
-}
-public void baseTest() {
- // prerequisite loop test
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.5/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd;
-
- pd = registry.getPluginDescriptor("tests.a");
- assertNull("0.1", pd);
-
- pd = registry.getPluginDescriptor("tests.b");
- assertNull("0.2", pd);
-
- pd = registry.getPluginDescriptor("tests.c");
- assertNull("0.3", pd);
-
- pd = registry.getPluginDescriptor("tests.d");
- assertNull("0.4", pd);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_5("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java
deleted file mode 100644
index 44b8783..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_6.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_6 extends PluginResolveTest {
-public PluginResolveTest_6() {
- super(null);
-}
-public PluginResolveTest_6(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.6/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = null;
-
- pd = checkResolved(registry, "0.0", "tests.a", "1.0.0", true);
- checkResolvedPrereqs("0.1", pd, new String[] { "tests.c" }, new String[] { "1.0.9" });
-
- pd = checkResolved(registry, "1.0", "tests.b", "1.0.0", true);
- checkResolvedPrereqs("1.1", pd, new String[] { "tests.c" }, new String[] { "2.5.0" });
-
- pd = checkResolved(registry, "2.0", "tests.c", "1.0.9", true);
- checkResolvedPrereqs("2.1", pd, new String[] { }, new String[] { });
-
- pd = checkResolved(registry, "3.0", "tests.c", "2.5.0", true);
- checkResolvedPrereqs("3.1", pd, new String[] { }, new String[] { });
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_6("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java
deleted file mode 100644
index abfec8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_7.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_7 extends PluginResolveTest {
-public PluginResolveTest_7() {
- super(null);
-}
-public PluginResolveTest_7(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.7/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = null;
-
- pd = checkResolved(registry, "0.0", "tests.a", "1.0.0", true);
- checkResolvedPrereqs("0.1", pd, new String[] { "tests.c" }, new String[] { "1.0.9" });
-
- pd = checkResolved(registry, "1.0", "tests.b", "1.0.0", false);
-
- pd = checkResolved(registry, "2.0", "tests.c", "1.0.9", true);
- checkResolvedPrereqs("2.1", pd, new String[] { }, new String[] { });
-
- pd = checkResolved(registry, "3.0", "tests.c", "2.5.0", false);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_7("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java
deleted file mode 100644
index 14b80ce..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_8.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_8 extends PluginResolveTest {
-public PluginResolveTest_8() {
- super(null);
-}
-public PluginResolveTest_8(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.8/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = null;
-
- pd = checkResolved(registry, "0.0", "tests.a", "1.0.0", true);
- checkResolvedPrereqs("0.1", pd, new String[] { "tests.c" }, new String[] { "1.0.9" });
-
- pd = checkResolved(registry, "1.0", "tests.b", "1.0.0", false);
-
- pd = checkResolved(registry, "2.0", "tests.c", "1.0.9", true);
- checkResolvedPrereqs("2.1", pd, new String[] { }, new String[] { });
-
- pd = checkResolved(registry, "3.0", "tests.c", "2.5.0", false);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_8("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java
deleted file mode 100644
index 4d49216..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginResolveTest_9.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class PluginResolveTest_9 extends PluginResolveTest {
-public PluginResolveTest_9() {
- super(null);
-}
-public PluginResolveTest_9(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.resolve.9/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pluginDescriptor = null;
-
- PluginVersionIdentifier verIdA = new PluginVersionIdentifier("1.2.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.a", verIdA);
- assertNotNull("0.0", pluginDescriptor);
- assertEquals("0.1", pluginDescriptor.getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptor.getVersionIdentifier(), verIdA);
- verIdA = null;
-
- PluginVersionIdentifier verIdB = new PluginVersionIdentifier("2.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.b", verIdB);
- assertNotNull("1.0", pluginDescriptor);
- assertEquals("1.1", pluginDescriptor.getUniqueIdentifier(), "tests.b");
- assertEquals("1.2", pluginDescriptor.getVersionIdentifier(), verIdB);
- verIdB = null;
-
- PluginVersionIdentifier verIdC = new PluginVersionIdentifier("1.1.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.c", verIdC);
- assertNotNull("2.0", pluginDescriptor);
- assertEquals("2.1", pluginDescriptor.getUniqueIdentifier(), "tests.c");
- assertEquals("2.2", pluginDescriptor.getVersionIdentifier(), verIdC);
- verIdC = null;
-
- PluginVersionIdentifier verIdD = new PluginVersionIdentifier("1.0.0");
- pluginDescriptor = registry.getPluginDescriptor("tests.d", verIdD);
- assertNotNull("3.0", pluginDescriptor);
- assertEquals("3.1", pluginDescriptor.getUniqueIdentifier(), "tests.d");
- assertEquals("3.2", pluginDescriptor.getVersionIdentifier(), verIdD);
- verIdD = null;
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginResolveTest_9("baseTest"));
- return suite;
-}
-}
-
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java
deleted file mode 100644
index 842868f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-/**
- */
-public class PluginVersionTest extends EclipseWorkspaceTest {
-public PluginVersionTest() {
- super(null);
-}
-public PluginVersionTest(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.version.1/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("plugin.a");
-
- // check descriptor
- assertTrue("0.0", null != pd);
- assertTrue("0.1", pd.getUniqueIdentifier().equals("plugin.a"));
-
- // check to see if we have all plugins
- IPluginDescriptor[] all = registry.getPluginDescriptors();
- assertTrue("1.0", all.length != 0);
- int count = 0;
- for (int i = 0; i < all.length; i++) {
- if (all[i].getUniqueIdentifier().equals("plugin.a"))
- count++;
- }
- assertTrue("1.1", count == 3);
-
- // try again using filtered list
- all = registry.getPluginDescriptors("plugin.a");
- assertTrue("1.2", all.length == 3);
-
- // try again using filtered list and invalid id
- all = registry.getPluginDescriptors("plugin.a" + ".invalid");
- assertTrue("1.3", all.length == 0);
-
- // lookup descriptors individually
- PluginVersionIdentifier v = new PluginVersionIdentifier("1.0.0");
- pd = registry.getPluginDescriptor("plugin.a", v);
- assertTrue("2.0.0", pd == null);
-
- v = new PluginVersionIdentifier("1.0.1");
- pd = registry.getPluginDescriptor("plugin.a", v);
- assertTrue("2.1.0", pd != null);
- assertTrue("2.1.1", "plugin.a".equals(pd.getUniqueIdentifier()));
- assertTrue("2.1.2", v.equals(pd.getVersionIdentifier()));
-
- v = new PluginVersionIdentifier("1.1.0");
- pd = registry.getPluginDescriptor("plugin.a", v);
- assertTrue("2.2.0", pd != null);
- assertTrue("2.2.1", "plugin.a".equals(pd.getUniqueIdentifier()));
- assertTrue("2.2.2", v.equals(pd.getVersionIdentifier()));
-
- v = new PluginVersionIdentifier("2.0.0");
- pd = registry.getPluginDescriptor("plugin.a", v);
- assertTrue("2.3.0", pd == null);
-
- v = new PluginVersionIdentifier("2.0.15");
- pd = registry.getPluginDescriptor("plugin.a", v);
- assertTrue("2.4.0", pd != null);
- assertTrue("2.4.1", "plugin.a".equals(pd.getUniqueIdentifier()));
- assertTrue("2.4.2", v.equals(pd.getVersionIdentifier()));
-
- v = new PluginVersionIdentifier("9.9.9");
- pd = registry.getPluginDescriptor("plugin.a", v);
- assertTrue("2.5.0", pd == null);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginVersionTest("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java
deleted file mode 100644
index 62c024a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginVersionTest_2.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-/**
- */
-public class PluginVersionTest_2 extends EclipseWorkspaceTest {
-public PluginVersionTest_2() {
- super(null);
-}
-public PluginVersionTest_2(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.version.2/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor pd;
- IPluginDescriptor[] list;
- IPluginPrerequisite[] prereqs;
-
- // Check plugin a
- list = registry.getPluginDescriptors("a");
- assertEquals("1.0", list.length, 1);
- pd = list[0];
- assertEquals("1.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
- prereqs = pd.getPluginPrerequisites();
- assertEquals("1.2", prereqs.length, 1);
- assertEquals("1.3", prereqs[0].getUniqueIdentifier(), "b");
- assertEquals("1.4", prereqs[0].getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // Check plugin b
- list = registry.getPluginDescriptors("b");
- assertEquals("2.0", list.length, 1);
- pd = list[0];
- assertEquals("2.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
- prereqs = pd.getPluginPrerequisites();
- assertEquals("2.2", prereqs.length, 1);
- assertEquals("2.3", prereqs[0].getUniqueIdentifier(), "c");
- assertEquals("2.4", prereqs[0].getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
-
- // Check plugin c
- list = registry.getPluginDescriptors("c");
- assertEquals("3.0", list.length, 1);
- pd = list[0];
- assertEquals("3.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
- prereqs = pd.getPluginPrerequisites();
- assertEquals("3.2", prereqs.length, 2);
- IPluginPrerequisite prereqD = null;
- IPluginPrerequisite prereqE = null;
- for (int i = 0; i < prereqs.length; i++) {
- if (prereqs[i].getUniqueIdentifier().equals("d"))
- prereqD = prereqs[i];
- else if (prereqs[i].getUniqueIdentifier().equals("e"))
- prereqE = prereqs[i];
- }
- assertNotNull("3.3", prereqD);
- assertNotNull("3.4", prereqE);
- assertEquals("3.5", prereqD.getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
- assertEquals("3.6", prereqE.getResolvedVersionIdentifier(), new PluginVersionIdentifier("1.3.2"));
-
- // Check plugin d
- list = registry.getPluginDescriptors("d");
- assertEquals("4.0", list.length, 1);
- pd = list[0];
- assertEquals("4.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.3.0"));
- prereqs = pd.getPluginPrerequisites();
- assertEquals("4.2", prereqs.length, 0);
-
- // Check plugin e
- list = registry.getPluginDescriptors("e");
- assertEquals("5.0", list.length, 1);
- pd = list[0];
- assertEquals("5.1", pd.getVersionIdentifier(), new PluginVersionIdentifier("1.3.2"));
- prereqs = pd.getPluginPrerequisites();
- assertEquals("5.2", prereqs.length, 0);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginVersionTest_2("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java
deleted file mode 100644
index 710d83c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/PluginXmlTest.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-/**
- */
-public class PluginXmlTest extends EclipseWorkspaceTest {
-public PluginXmlTest() {
- super(null);
-}
-public PluginXmlTest(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/plugins.parser.1/");
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
- IPluginDescriptor pd = registry.getPluginDescriptor("plugins.parser.1");
-
- // check descriptor
- assertTrue("0.0", null != pd);
- assertTrue("0.1", pd.getUniqueIdentifier().equals("plugins.parser.1"));
- assertTrue("0.2", pd.getLabel().equals("IBM Tooling Platform Core Tests"));
- assertTrue("0.3", pd.getProviderName().equals("IBM"));
- assertTrue("0.4", pd.getVersionIdentifier().equals(new PluginVersionIdentifier("1.2")));
- assertTrue("0.6", !pd.isPluginActivated());
- assertTrue("0.7", pd.getInstallURL().getFile().equals("/plugin/plugins.parser.1_1.2.0/"));
-
- // check prereqs
- IPluginPrerequisite[] prereq = pd.getPluginPrerequisites();
- assertTrue("1.0", prereq.length == 2);
-
- assertTrue("1.1.0", prereq[0].getUniqueIdentifier().equals("plugins.parser.2"));
- assertTrue("1.1.0.0", prereq[0].getVersionIdentifier().equals(new PluginVersionIdentifier("3.7")));
- assertTrue("1.1.1", prereq[0].getResolvedVersionIdentifier().equals(new PluginVersionIdentifier("3.7.9")));
- assertTrue("1.1.2", prereq[0].isExported());
- assertTrue("1.1.3", prereq[0].isMatchedAsCompatible());
-
- assertTrue("1.2.0", prereq[1].getUniqueIdentifier().equals("plugins.parser.3"));
- assertTrue("1.2.1", null == prereq[1].getVersionIdentifier());
- assertTrue("1.2.2", prereq[1].getResolvedVersionIdentifier().equals(new PluginVersionIdentifier("1.2.0")));
- assertTrue("1.2.3", !prereq[1].isExported());
- assertTrue("1.2.4", !prereq[1].isMatchedAsPerfect());
- assertTrue("1.2.4", !prereq[1].isMatchedAsEquivalent());
- assertTrue("1.2.6", !prereq[1].isMatchedAsCompatible());
- assertTrue("1.2.7", !prereq[1].isMatchedAsGreaterOrEqual());
-
- // check runtime libs
- ILibrary[] lib = pd.getRuntimeLibraries();
- assertTrue("2.0", lib.length == 3);
-
- assertTrue("2.1.0", null == lib[0].getContentFilters());
- assertTrue("2.1.1", lib[0].getPath().toString().equals("lib1.jar"));
- assertTrue("2.1.2", !lib[0].isExported());
- assertTrue("2.1.3", !lib[0].isFullyExported());
-
- assertTrue("2.2.0", null == lib[1].getContentFilters()); // fully exported => no filter
- assertTrue("2.2.1", lib[1].getPath().toString().equals("lib2.jar"));
- assertTrue("2.2.2", lib[1].isExported());
- assertTrue("2.2.3", lib[1].isFullyExported());
-
- assertTrue("2.3.0", null != lib[2].getContentFilters());
- assertTrue("2.3.0.1", lib[2].getContentFilters().length == 1);
- assertTrue("2.3.1", lib[2].getPath().toString().equals("lib3.jar"));
- assertTrue("2.3.2", lib[2].isExported());
- assertTrue("2.3.3", !lib[2].isFullyExported());
-
- // check declared extension points
- IExtensionPoint[] xpt;
- xpt = pd.getExtensionPoints();
- assertTrue("3.0", xpt.length == 2);
-
- assertTrue("3.1.0", xpt[0].getDeclaringPluginDescriptor().equals(pd));
- assertTrue("3.1.1", xpt[0].getUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
- assertTrue("3.1.2", xpt[0].getSimpleIdentifier().equals("xpt1"));
- assertTrue("3.1.3", xpt[0].getLabel().equals("First extension point"));
- assertTrue("3.1.4", xpt[0].getSchemaReference().equals("pde/xpt1.xml"));
-
- assertTrue("3.2.0", xpt[1].getDeclaringPluginDescriptor().equals(pd));
- assertTrue("3.2.1", xpt[1].getUniqueIdentifier().equals("plugins.parser.1" + ".xpt2"));
- assertTrue("3.2.2", xpt[1].getSimpleIdentifier().equals("xpt2"));
- assertTrue("3.2.3", xpt[1].getLabel().equals("Second extension point"));
- assertTrue("3.2.4", xpt[1].getSchemaReference().equals(""));
-
- // check declared extensions
- IExtension[] ext;
- ext = pd.getExtensions();
- assertTrue("4.0", ext.length == 2);
-
- assertTrue("4.1.0", ext[0].getDeclaringPluginDescriptor().equals(pd));
- assertTrue("4.1.1", ext[0].getUniqueIdentifier().equals("plugins.parser.1" + ".ext1"));
- assertTrue("4.1.2", ext[0].getSimpleIdentifier().equals("ext1"));
- assertTrue("4.1.3", ext[0].getLabel().equals("First extension"));
- assertTrue("4.1.4", ext[0].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
- assertTrue("4.2.0", ext[1].getDeclaringPluginDescriptor().equals(pd));
- assertTrue("4.2.1", null == ext[1].getUniqueIdentifier());
- assertTrue("4.2.2", null == ext[1].getSimpleIdentifier());
- assertTrue("4.2.3", ext[1].getLabel().equals(""));
- assertTrue("4.2.4", ext[1].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
- // check configured extensions (via extension point)
- IExtensionPoint xpt1 = registry.getExtensionPoint("plugins.parser.1" + ".xpt1");
- assertTrue("5.0", null != xpt1);
- ext = xpt1.getExtensions();
- assertTrue("5.0.1", ext.length == 2);
-
- assertTrue("5.1.0", ext[0].getDeclaringPluginDescriptor().equals(pd));
- assertTrue("5.1.1", ext[0].getUniqueIdentifier().equals("plugins.parser.1" + ".ext1"));
- assertTrue("5.1.2", ext[0].getSimpleIdentifier().equals("ext1"));
- assertTrue("5.1.3", ext[0].getLabel().equals("First extension"));
- assertTrue("5.1.4", ext[0].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
- assertTrue("5.2.0", ext[1].getDeclaringPluginDescriptor().equals(pd));
- assertTrue("5.2.1", null == ext[1].getUniqueIdentifier());
- assertTrue("5.2.2", null == ext[1].getSimpleIdentifier());
- assertTrue("5.2.3", ext[1].getLabel().equals(""));
- assertTrue("5.2.4", ext[1].getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-
- // check configured extension (directly)
- IExtension ext1 = registry.getExtension("plugins.parser.1", "xpt1", "plugins.parser.1" + ".ext1");
- assertTrue("6.0", null != ext1);
-
- assertTrue("6.1.0", ext1.getDeclaringPluginDescriptor().equals(pd));
- assertTrue("6.1.1", ext1.getUniqueIdentifier().equals("plugins.parser.1" + ".ext1"));
- assertTrue("6.1.2", ext1.getSimpleIdentifier().equals("ext1"));
- assertTrue("6.1.3", ext1.getLabel().equals("First extension"));
- assertTrue("6.1.4", ext1.getExtensionPointUniqueIdentifier().equals("plugins.parser.1" + ".xpt1"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginXmlTest("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java
deleted file mode 100644
index 47d27ca..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_1.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_1 extends PluginResolveTest {
-public RegressionResolveTest_1() {
- super(null);
-}
-public RegressionResolveTest_1(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.1/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.5"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", requires[0].isMatchedAsExact());
- assertTrue("3.2", !requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch());
- assertTrue("3.4", !(req.getMatch()) == false);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_1("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java
deleted file mode 100644
index 3b258f0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_10.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_10 extends PluginResolveTest {
-public RegressionResolveTest_10() {
- super(null);
-}
-public RegressionResolveTest_10(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.10/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("3.1.0"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", !requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_10("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java
deleted file mode 100644
index c3282eb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_11.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- * Test for bug 19397. Description: If an imported plugin is specified as
- * optional in the plugin XML, the versioning information is ignored.
- *
- * Scenario: pluginA requires pluginC (any version) and optionally
- * pluginB_2.0.0, but pluginB's version is 1.0.0 (which by its turn
- * requires pluginD). Expected result: all plug- ins are enabled AND pluginA's
- * classloader does not import pluginB's classloader.
- */
-public class RegressionResolveTest_11 extends PluginResolveTest {
- public RegressionResolveTest_11(String name) {
- super(name);
- }
- public void testBug() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor) Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.11/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL(pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing(factory, pluginURLs, true);
-
- if (factory.getStatus().getSeverity() != IStatus.OK) {
- System.out.println(factory.getStatus());
- fail("0.0 - " + factory.getStatus().getMessage());
- }
-
- IPluginDescriptor pluginA = registry.getPluginDescriptor("tests.a");
- IPluginDescriptor pluginB = registry.getPluginDescriptor("tests.b", new PluginVersionIdentifier("1.0.0"));
- IPluginDescriptor pluginC = registry.getPluginDescriptor("tests.c");
- IPluginDescriptor pluginD = registry.getPluginDescriptor("tests.d");
-
- // all plugins should have been enabled
- assertNotNull("1.1", pluginA);
- assertNotNull("1.2", pluginB);
- assertNotNull("1.4", pluginC);
- assertNotNull("1.5", pluginD);
-
- // plugin A requires optionally plugin B_2.0.0
- IPluginPrerequisite[] requires = pluginA.getPluginPrerequisites();
- assertEquals("2.1", 2, requires.length);
- assertEquals("2.2", pluginB.getUniqueIdentifier(), requires[0].getUniqueIdentifier());
- assertEquals("2.3", new PluginVersionIdentifier(2, 0, 0), requires[0].getVersionIdentifier());
- // should be null because it was not resolved (pluginB's version is 1.0.0)
- assertNull("2.4", requires[0].getResolvedVersionIdentifier());
-
- // check the resolved prerequisites for A
- IPluginPrerequisite[] resolvedPrereqsA = ((PluginDescriptor) pluginA).getPluginResolvedPrerequisites();
- assertEquals("3.1", 1, resolvedPrereqsA.length);
- assertEquals("3.2", pluginC.getUniqueIdentifier(), resolvedPrereqsA[0].getUniqueIdentifier());
-
- // check the resolved prerequisites for B
- IPluginPrerequisite[] resolvedPrereqsB = ((PluginDescriptor) pluginB).getPluginResolvedPrerequisites();
- assertEquals("4.1", 1, resolvedPrereqsB.length);
- assertEquals("4.2", pluginD.getUniqueIdentifier(), resolvedPrereqsB[0].getUniqueIdentifier());
-
- }
- public static Test suite() {
- return new TestSuite(RegressionResolveTest_11.class);
- }
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java
deleted file mode 100644
index 86fd2b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_2.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_2 extends PluginResolveTest {
-public RegressionResolveTest_2() {
- super(null);
-}
-public RegressionResolveTest_2(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.2/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.5"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", requires[0].isMatchedAsExact());
- assertTrue("3.2", !requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch());
- assertTrue("3.4", !(req.getMatch()) == false);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_2("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java
deleted file mode 100644
index 26db2f9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_3.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_3 extends PluginResolveTest {
-public RegressionResolveTest_3() {
- super(null);
-}
-public RegressionResolveTest_3(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.3/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.3"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", requires[0].isMatchedAsExact());
- assertTrue("3.2", !requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch());
- assertTrue("3.4", !(req.getMatch()) == false);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_3("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java
deleted file mode 100644
index 0d52de8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_4.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_4 extends PluginResolveTest {
-public RegressionResolveTest_4() {
- super(null);
-}
-public RegressionResolveTest_4(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.4/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_4("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java
deleted file mode 100644
index dc147c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_5.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_5 extends PluginResolveTest {
-public RegressionResolveTest_5() {
- super(null);
-}
-public RegressionResolveTest_5(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.5/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_5("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java
deleted file mode 100644
index 04b66e4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_6.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_6 extends PluginResolveTest {
-public RegressionResolveTest_6() {
- super(null);
-}
-public RegressionResolveTest_6(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.6/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.3"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_6("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java
deleted file mode 100644
index 8362631..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_7.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_7 extends PluginResolveTest {
-public RegressionResolveTest_7() {
- super(null);
-}
-public RegressionResolveTest_7(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.7/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_7("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java
deleted file mode 100644
index 0cdeec0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_8.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_8 extends PluginResolveTest {
-public RegressionResolveTest_8() {
- super(null);
-}
-public RegressionResolveTest_8(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.8/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.2.0"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_8("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java
deleted file mode 100644
index 13e0c2f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/RegressionResolveTest_9.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginPrerequisiteModel;
-/**
- */
-public class RegressionResolveTest_9 extends PluginResolveTest {
-public RegressionResolveTest_9() {
- super(null);
-}
-public RegressionResolveTest_9(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/regression.resolve.9/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] plugins = registry.getPluginDescriptors();
- assertEquals("0.0", plugins.length, 2);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // Grab the prerequisite and examine it later
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
-
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.3"));
-
- // Now check the prerequisite and the return values of getMatch()
- assertEquals("3.0", requires.length, 1);
- assertTrue("3.1", !requires[0].isMatchedAsExact());
- assertTrue("3.2", requires[0].isMatchedAsCompatible());
- PluginPrerequisiteModel req = (PluginPrerequisiteModel)requires[0];
- assertTrue("3.3", req.getMatch() == false);
- assertTrue("3.4", !(req.getMatch()) == true);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new RegressionResolveTest_9("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java
deleted file mode 100644
index 421b9c0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_1.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_1 extends PluginResolveTest {
-public SoftPrereqTest_1() {
- super(null);
-}
-public SoftPrereqTest_1(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.1/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 1);
- assertEquals("0.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("0.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("1.0", requires.length, 1);
- assertEquals("1.1", requires[0].getUniqueIdentifier(), "tests.b");
- assertTrue("1.2", !requires[0].isMatchedAsPerfect());
- assertTrue("1.3", !requires[0].isMatchedAsEquivalent());
- assertTrue("1.4", !requires[0].isMatchedAsCompatible());
- assertTrue("1.5", !requires[0].isMatchedAsGreaterOrEqual());
- assertTrue("1.6", requires[0].isOptional());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_1("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java
deleted file mode 100644
index 4e85644..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_10.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_10 extends PluginResolveTest {
-public SoftPrereqTest_10() {
- super(null);
-}
-public SoftPrereqTest_10(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.10/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 0);
-
- // look for tests.b - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.d - there should be 0
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_10("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java
deleted file mode 100644
index 81dd4cb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_11.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_11 extends PluginResolveTest {
-public SoftPrereqTest_11() {
- super(null);
-}
-public SoftPrereqTest_11(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.11/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_11("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java
deleted file mode 100644
index 6329247..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_12.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_12 extends PluginResolveTest {
-public SoftPrereqTest_12() {
- super(null);
-}
-public SoftPrereqTest_12(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.12/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 1);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_12("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java
deleted file mode 100644
index e79877d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_13.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_13 extends PluginResolveTest {
-public SoftPrereqTest_13() {
- super(null);
-}
-public SoftPrereqTest_13(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.13/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_13("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java
deleted file mode 100644
index 7c32118..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_14.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_14 extends PluginResolveTest {
-public SoftPrereqTest_14() {
- super(null);
-}
-public SoftPrereqTest_14(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.14/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 1);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_14("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java
deleted file mode 100644
index 471e94d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_15.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_15 extends PluginResolveTest {
-public SoftPrereqTest_15() {
- super(null);
-}
-public SoftPrereqTest_15(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.15/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_15("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java
deleted file mode 100644
index a3c0993..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_16.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_16 extends PluginResolveTest {
-public SoftPrereqTest_16() {
- super(null);
-}
-public SoftPrereqTest_16(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.16/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 1);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 0);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_16("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java
deleted file mode 100644
index 6587dab..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_17.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_17 extends PluginResolveTest {
-public SoftPrereqTest_17() {
- super(null);
-}
-public SoftPrereqTest_17(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.17/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // Should be identical to softPrereq.3 as the only difference is the order of the
- // requires.
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 2);
- IPluginPrerequisite requireB = null;
- IPluginPrerequisite requireC = null;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getUniqueIdentifier().equals("tests.b"))
- requireB = requires[i];
- else if (requires[i].getUniqueIdentifier().equals("tests.c"))
- requireC = requires[i];
- }
- assertNotNull("2.1", requireB);
- assertNotNull("2.2", requireC);
-
- // Now check the data in the prerequisites
- assertTrue("3.0", !requireB.isMatchedAsPerfect());
- assertTrue("3.1", !requireB.isMatchedAsEquivalent());
- assertTrue("3.2", !requireB.isMatchedAsCompatible());
- assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
- assertTrue("3.4", requireB.isOptional());
- assertNull("3.5", requireB.getVersionIdentifier());
- assertTrue("3.6", !requireC.isMatchedAsPerfect());
- assertTrue("3.7", !requireC.isMatchedAsEquivalent());
- assertTrue("3.8", !requireC.isMatchedAsCompatible());
- assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
- assertTrue("3.10", !requireC.isOptional());
- assertNull("3.11", requireC.getVersionIdentifier());
-
- // look for tests.b - shouldn't be found
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("4.0", pluginDescriptors.length, 0);
-
- // look for tests.c - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("5.0", pluginDescriptors.length, 1);
- assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_17("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java
deleted file mode 100644
index bce31a4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_18.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_18 extends PluginResolveTest {
-public SoftPrereqTest_18() {
- super(null);
-}
-public SoftPrereqTest_18(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.18/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- // Should be identical to softPrereq.4 as the only difference is the order of the
- // requires.
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 0);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_18("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java
deleted file mode 100644
index 9f92aca..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_19.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_19 extends PluginResolveTest {
-public SoftPrereqTest_19() {
- super(null);
-}
-public SoftPrereqTest_19(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.19/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- // Not quite identical to softPrereq.5 as a failed requirement occurs before
- // the optional one so there will be no plugins (the optional one does not get
- // considered as a new root node).
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("1.0", 1, pluginDescriptors.length);
- assertEquals("1.1", "tests.b", pluginDescriptors[0].getUniqueIdentifier());
- assertEquals("1.2", new PluginVersionIdentifier("1.0.1"), pluginDescriptors[0].getVersionIdentifier());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_19("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java
deleted file mode 100644
index 1fc6d08..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_2.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_2 extends PluginResolveTest {
-public SoftPrereqTest_2() {
- super(null);
-}
-public SoftPrereqTest_2(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.2/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 1);
- assertEquals("2.1", requires[0].getUniqueIdentifier(), "tests.b");
- assertTrue("2.2", !requires[0].isMatchedAsPerfect());
- assertTrue("2.3", !requires[0].isMatchedAsEquivalent());
- assertTrue("2.4", !requires[0].isMatchedAsCompatible());
- assertTrue("2.5", !requires[0].isMatchedAsGreaterOrEqual());
- assertTrue("2.6", requires[0].isOptional());
-
- // look for tests.b
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_2("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java
deleted file mode 100644
index 50ed509..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_20.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_20 extends PluginResolveTest {
-public SoftPrereqTest_20() {
- super(null);
-}
-public SoftPrereqTest_20(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.20/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 3);
-
- // Should be identical to softPrereq.6 as the only difference is the order of the
- // requires.
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 2);
- IPluginPrerequisite requireB = null;
- IPluginPrerequisite requireC = null;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getUniqueIdentifier().equals("tests.b"))
- requireB = requires[i];
- else if (requires[i].getUniqueIdentifier().equals("tests.c"))
- requireC = requires[i];
- }
- assertNotNull("2.1", requireB);
- assertNotNull("2.2", requireC);
-
- // Now check the data in the prerequisites
- assertTrue("3.0", !requireB.isMatchedAsPerfect());
- assertTrue("3.1", !requireB.isMatchedAsEquivalent());
- assertTrue("3.2", !requireB.isMatchedAsCompatible());
- assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
- assertTrue("3.4", requireB.isOptional());
- assertNull("3.5", requireB.getVersionIdentifier());
- assertTrue("3.6", !requireC.isMatchedAsPerfect());
- assertTrue("3.7", !requireC.isMatchedAsEquivalent());
- assertTrue("3.8", !requireC.isMatchedAsCompatible());
- assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
- assertTrue("3.10", !requireC.isOptional());
- assertNull("3.11", requireC.getVersionIdentifier());
-
- // look for tests.b - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.0.1"));
-
- // look for tests.c - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("5.0", pluginDescriptors.length, 1);
- assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_20("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java
deleted file mode 100644
index d3f5361..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_21.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_21 extends PluginResolveTest {
-public SoftPrereqTest_21() {
- super(null);
-}
-public SoftPrereqTest_21(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.21/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 4);
-
- // Should be identical to softPrereq.7 as the only difference is the order of the
- // requires.
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 2);
- IPluginPrerequisite requireB = null;
- IPluginPrerequisite requireC = null;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getUniqueIdentifier().equals("tests.b"))
- requireB = requires[i];
- else if (requires[i].getUniqueIdentifier().equals("tests.c"))
- requireC = requires[i];
- }
- assertNotNull("2.1", requireB);
- assertNotNull("2.2", requireC);
-
- // Now check the data in the prerequisites
- assertTrue("3.0", requireB.isMatchedAsCompatible());
- assertTrue("3.1", !requireB.isMatchedAsExact());
- assertTrue("3.2", requireB.isOptional());
- assertEquals("3.3", requireB.getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
- assertTrue("3.4", requireC.isMatchedAsCompatible());
- assertTrue("3.5", !requireC.isMatchedAsExact());
- assertTrue("3.6", !requireC.isOptional());
- assertEquals("3.7", requireC.getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.b - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // look for tests.c - there should be 2
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("5.0", pluginDescriptors.length, 2);
- IPluginDescriptor pluginC_110 = null;
- IPluginDescriptor pluginC_210 = null;
- for (int i = 0; i < pluginDescriptors.length; i++) {
- boolean badVersion = false;
- IPluginDescriptor thisPlugin = pluginDescriptors[i];
- if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("1.1.0"))) {
- pluginC_110 = thisPlugin;
- } else if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("2.1.0"))) {
- pluginC_210 = thisPlugin;
- } else {
- assertTrue ("5.1 Bad version number found" + thisPlugin.getVersionIdentifier().toString(), false);
- badVersion = true;
- }
- // Check the common components of these plugins
- if (thisPlugin != null && !badVersion) {
- assertEquals("5.2", thisPlugin.getUniqueIdentifier(), "tests.c");
- }
- }
- assertNotNull("5.3", pluginC_110);
- assertNotNull("5.4", pluginC_210);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_21("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java
deleted file mode 100644
index 460f0a5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_22.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_22 extends PluginResolveTest {
-public SoftPrereqTest_22() {
- super(null);
-}
-public SoftPrereqTest_22(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.22/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // Should be identical to softPrereq.8 as the only difference is the order of the
- // requires.
-
- // look for tests.a - should not exist as it caused the conflict
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 0);
-
- // look for tests.b - there should be 1
- // Because tests.a causes a conflict, it is removed/disabled. This causes
- // tests.b to be orphaned. Therefore, tests.b gets considered a root node.
- // We then pick up the latest version of tests.b and resolve for it.
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_22("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java
deleted file mode 100644
index 58f6adb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_3.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_3 extends PluginResolveTest {
-public SoftPrereqTest_3() {
- super(null);
-}
-public SoftPrereqTest_3(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.3/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 2);
- IPluginPrerequisite requireB = null;
- IPluginPrerequisite requireC = null;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getUniqueIdentifier().equals("tests.b"))
- requireB = requires[i];
- else if (requires[i].getUniqueIdentifier().equals("tests.c"))
- requireC = requires[i];
- }
- assertNotNull("2.1", requireB);
- assertNotNull("2.2", requireC);
-
- // Now check the data in the prerequisites
- assertTrue("3.0", !requireB.isMatchedAsPerfect());
- assertTrue("3.1", !requireB.isMatchedAsEquivalent());
- assertTrue("3.2", !requireB.isMatchedAsCompatible());
- assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
- assertTrue("3.4", requireB.isOptional());
- assertNull("3.5", requireB.getVersionIdentifier());
- assertTrue("3.6", !requireC.isMatchedAsPerfect());
- assertTrue("3.7", !requireC.isMatchedAsEquivalent());
- assertTrue("3.8", !requireC.isMatchedAsCompatible());
- assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
- assertTrue("3.10", !requireC.isOptional());
- assertNull("3.11", requireC.getVersionIdentifier());
-
- // look for tests.b - shouldn't be found
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("4.0", pluginDescriptors.length, 0);
-
- // look for tests.c - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("5.0", pluginDescriptors.length, 1);
- assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_3("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java
deleted file mode 100644
index 52e01b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_4.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_4 extends PluginResolveTest {
-public SoftPrereqTest_4() {
- super(null);
-}
-public SoftPrereqTest_4(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.4/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 0);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_4("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java
deleted file mode 100644
index f1a505c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_5.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_5 extends PluginResolveTest {
-public SoftPrereqTest_5() {
- super(null);
-}
-public SoftPrereqTest_5(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.5/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 1);
-
- // look for tests.a - should not be found (the real prerequisite doesn't exist)
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 0);
-
- // look for tests.b - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.0.1"));
-
- // look for tests.c - shouldn't be found
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 0);
-
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_5("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java
deleted file mode 100644
index cb50ca2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_6.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_6 extends PluginResolveTest {
-public SoftPrereqTest_6() {
- super(null);
-}
-public SoftPrereqTest_6(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.6/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 3);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 2);
- IPluginPrerequisite requireB = null;
- IPluginPrerequisite requireC = null;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getUniqueIdentifier().equals("tests.b"))
- requireB = requires[i];
- else if (requires[i].getUniqueIdentifier().equals("tests.c"))
- requireC = requires[i];
- }
- assertNotNull("2.1", requireB);
- assertNotNull("2.2", requireC);
-
- // Now check the data in the prerequisites
- assertTrue("3.0", !requireB.isMatchedAsPerfect());
- assertTrue("3.1", !requireB.isMatchedAsEquivalent());
- assertTrue("3.2", !requireB.isMatchedAsCompatible());
- assertTrue("3.3", !requireB.isMatchedAsGreaterOrEqual());
- assertTrue("3.4", requireB.isOptional());
- assertNull("3.5", requireB.getVersionIdentifier());
- assertTrue("3.6", !requireC.isMatchedAsPerfect());
- assertTrue("3.7", !requireC.isMatchedAsEquivalent());
- assertTrue("3.8", !requireC.isMatchedAsCompatible());
- assertTrue("3.9", !requireC.isMatchedAsGreaterOrEqual());
- assertTrue("3.10", !requireC.isOptional());
- assertNull("3.11", requireC.getVersionIdentifier());
-
- // look for tests.b - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.0.1"));
-
- // look for tests.c - should exist
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("5.0", pluginDescriptors.length, 1);
- assertEquals("5.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("5.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.0.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_6("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java
deleted file mode 100644
index cb10f41..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_7.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_7 extends PluginResolveTest {
-public SoftPrereqTest_7() {
- super(null);
-}
-public SoftPrereqTest_7(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.7/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 4);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // make sure it also has an optional prerequisite
- IPluginPrerequisite[] requires = pluginDescriptors[0].getPluginPrerequisites();
- assertEquals("2.0", requires.length, 2);
- IPluginPrerequisite requireB = null;
- IPluginPrerequisite requireC = null;
- for (int i = 0; i < requires.length; i++) {
- if (requires[i].getUniqueIdentifier().equals("tests.b"))
- requireB = requires[i];
- else if (requires[i].getUniqueIdentifier().equals("tests.c"))
- requireC = requires[i];
- }
- assertNotNull("2.1", requireB);
- assertNotNull("2.2", requireC);
-
- // Now check the data in the prerequisites
- assertTrue("3.0", requireB.isMatchedAsCompatible());
- assertTrue("3.1", !requireB.isMatchedAsExact());
- assertTrue("3.2", requireB.isOptional());
- assertEquals("3.3", requireB.getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
- assertTrue("3.4", requireC.isMatchedAsCompatible());
- assertTrue("3.5", !requireC.isMatchedAsExact());
- assertTrue("3.6", !requireC.isOptional());
- assertEquals("3.7", requireC.getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.b - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // look for tests.c - there should be 2
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("5.0", pluginDescriptors.length, 2);
- IPluginDescriptor pluginC_110 = null;
- IPluginDescriptor pluginC_210 = null;
- for (int i = 0; i < pluginDescriptors.length; i++) {
- boolean badVersion = false;
- IPluginDescriptor thisPlugin = pluginDescriptors[i];
- if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("1.1.0"))) {
- pluginC_110 = thisPlugin;
- } else if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("2.1.0"))) {
- pluginC_210 = thisPlugin;
- } else {
- assertTrue ("5.1 Bad version number found" + thisPlugin.getVersionIdentifier().toString(), false);
- badVersion = true;
- }
- // Check the common components of these plugins
- if (thisPlugin != null && !badVersion) {
- assertEquals("5.2", thisPlugin.getUniqueIdentifier(), "tests.c");
- }
- }
- assertNotNull("5.3", pluginC_110);
- assertNotNull("5.4", pluginC_210);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_7("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java
deleted file mode 100644
index bd4ede9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_8.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_8 extends PluginResolveTest {
-public SoftPrereqTest_8() {
- super(null);
-}
-public SoftPrereqTest_8(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.8/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 2);
-
- // look for tests.a - should not exist as it caused the conflict
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 0);
-
- // look for tests.b - there should be 1
- // Because tests.a causes a conflict, it is removed/disabled. This causes
- // tests.b to be orphaned. Therefore, tests.b gets considered a root node.
- // We then pick up the latest version of tests.b and resolve for it.
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-
- // look for tests.c - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 1);
- assertEquals("3.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- assertEquals("3.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_8("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java
deleted file mode 100644
index a628042..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/SoftPrereqTest_9.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-
-import java.net.URL;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.InternalFactory;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-/**
- */
-public class SoftPrereqTest_9 extends PluginResolveTest {
-public SoftPrereqTest_9() {
- super(null);
-}
-public SoftPrereqTest_9(String name) {
- super(name);
-}
-public void baseTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("softPrerequisiteTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- PluginDescriptor tempPlugin = (PluginDescriptor)Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.tests.runtime");
- String pluginPath = tempPlugin.getLocation().concat("Plugin_Testing/softPrereq.9/");
- URL pluginURLs[] = new URL[1];
- URL pURL = null;
- try {
- pURL = new URL (pluginPath);
- } catch (java.net.MalformedURLException e) {
- assertTrue("Bad URL for " + pluginPath, true);
- }
- pluginURLs[0] = pURL;
- IPluginRegistry registry = ParseHelper.doParsing (factory, pluginURLs, true);
-
- IPluginDescriptor[] pluginDescriptors = registry.getPluginDescriptors();
- assertEquals("0.0", pluginDescriptors.length, 5);
-
- // look for tests.a
- pluginDescriptors = registry.getPluginDescriptors("tests.a");
- assertEquals("1.0", pluginDescriptors.length, 1);
- assertEquals("1.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.a");
- assertEquals("1.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.2.0"));
-
- // look for tests.b - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.b");
- assertEquals("2.0", pluginDescriptors.length, 1);
- assertEquals("2.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.b");
- assertEquals("2.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("1.1.0"));
-
- // look for tests.c - there should be 2
- pluginDescriptors = registry.getPluginDescriptors("tests.c");
- assertEquals("3.0", pluginDescriptors.length, 2);
- IPluginDescriptor pluginC_110 = null;
- IPluginDescriptor pluginC_210 = null;
- for (int i = 0; i < pluginDescriptors.length; i++) {
- boolean badVersion = false;
- IPluginDescriptor thisPlugin = pluginDescriptors[i];
- if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("1.1.0")))
- pluginC_110 = thisPlugin;
- else if (thisPlugin.getVersionIdentifier().equals(new PluginVersionIdentifier("2.1.0")))
- pluginC_210 = thisPlugin;
- else {
- badVersion = true;
- assertTrue("3.1 Bad version found" + thisPlugin.getVersionIdentifier().toString(), false);
- }
- if (!badVersion)
- assertEquals("3.2", pluginDescriptors[0].getUniqueIdentifier(), "tests.c");
- }
- assertNotNull("3.3", pluginC_110);
- assertNotNull("3.4", pluginC_210);
-
- // look for tests.d - there should be 1
- pluginDescriptors = registry.getPluginDescriptors("tests.d");
- assertEquals("4.0", pluginDescriptors.length, 1);
- assertEquals("4.1", pluginDescriptors[0].getUniqueIdentifier(), "tests.d");
- assertEquals("4.2", pluginDescriptors[0].getVersionIdentifier(), new PluginVersionIdentifier("2.1.0"));
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new SoftPrereqTest_9("baseTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java
deleted file mode 100644
index cc3cd70..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/plugins/TestClass.java
+++ /dev/null
@@ -1,14 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.plugins;
-public class TestClass {
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java
deleted file mode 100644
index d1069e1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/AllTests.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.registrycache;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-public AllTests() {
- super(null);
-}
-public AllTests(String name) {
- super(name);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(SimpleCacheTests.suite());
- suite.addTest(LazyCacheTests.suite());
- return suite;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java
deleted file mode 100644
index 2c5cc59..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/CacheHelpers.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java
deleted file mode 100644
index c885eb1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/LazyCacheTests.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.registrycache;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Iterator;
-import java.util.Map;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.model.Factory;
-import org.eclipse.core.runtime.model.PluginRegistryModel;
-
-public class LazyCacheTests extends SimpleCacheTests {
- public LazyCacheTests(String name) {
- super(name);
- }
- public PluginRegistryModel doCacheRead(PluginRegistryModel inRegistry, DataInputStream input, Factory factory) {
- // Cobble together a plugin path
- Map regIndex = InternalPlatform.getRegIndex();
- URL[] pluginPath = null;
- if (regIndex != null) {
- int entrySize = regIndex.keySet().size();
- pluginPath = new URL[entrySize];
- int i = 0;
- for (Iterator list = regIndex.keySet().iterator(); list.hasNext();) {
- String fileName = (String)list.next();
- fileName = "file:" + fileName;
- try {
- pluginPath[i++] = new URL(fileName);
- } catch (MalformedURLException badURL) {
- assertTrue("2.1 Bad url found for " + fileName + ".", true);
- }
- }
- }
- RegistryCacheReader cacheReader = new RegistryCacheReader(factory, true);
- PluginRegistryModel newRegistry = cacheReader.readPluginRegistry(input, pluginPath, true);
- cacheReader.setLazilyLoadExtensions(false);
- return newRegistry;
- }
- public static Test suite() {
- TestSuite suite = new TestSuite("LazyCacheTests");
- suite.addTest(new LazyCacheTests("pluginTest"));
- suite.addTest(new LazyCacheTests("requiresTest"));
- suite.addTest(new LazyCacheTests("libraryTest"));
- suite.addTest(new LazyCacheTests("extensionTest"));
- suite.addTest(new LazyCacheTests("readOnlyTest"));
- suite.addTest(new LazyCacheTests("registryTest"));
- suite.addTest(new LazyCacheTests("extExtPtLinkTest"));
- suite.addTest(new LazyCacheTests("realRegistryTest"));
- suite.addTest(new LazyCacheTests("fragmentTest"));
- suite.addTest(new LazyCacheTests("fragmentPluginTest"));
- suite.addTest(new LazyCacheTests("fragmentExtensionTest"));
- suite.addTest(new LazyCacheTests("fragmentExtExtPtLinkTest"));
- suite.addTest(new LazyCacheTests("fragmentLibraryTest"));
- suite.addTest(new LazyCacheTests("fragmentReadOnlyTest"));
- suite.addTest(new LazyCacheTests("fragmentRequiresTest"));
- suite.addTest(new LazyCacheTests("fragmentRegistryTest"));
- suite.addTest(new LazyCacheTests("testRegistryEOF"));
- return suite;
- }
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java
deleted file mode 100644
index e3819e6..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/registrycache/SimpleCacheTests.java
+++ /dev/null
@@ -1,1435 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.internal.registrycache;
-
-import java.io.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.model.*;
-
-public class SimpleCacheTests extends CacheHelpers {
-public SimpleCacheTests() {
- super();
-}
-public SimpleCacheTests(String name) {
- super(name);
-}
-public String[] extensionSetup() {
- PluginDescriptorModel plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Extension[] pluginExtensions = new Extension[3];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("First Extension Point");
-
- pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
- pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
- // First group of properties
- ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
- for (int i = 0; i < propertyGroup1.length; i++) {
- propertyGroup1[i] = new ConfigurationProperty();
- }
- propertyGroup1[0].setName("id");
- propertyGroup1[0].setValue("category_id");
- propertyGroup1[1].setName("name");
- propertyGroup1[1].setValue("category_name");
- // Second group of properties
- ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
- for (int i = 0; i < propertyGroup2.length; i++) {
- propertyGroup2[i] = new ConfigurationProperty();
- }
- propertyGroup2[0].setName("id");
- propertyGroup2[0].setValue("wizard_id");
- propertyGroup2[1].setName("name");
- propertyGroup2[1].setValue("wizard_name");
- propertyGroup2[2].setName("class");
- propertyGroup2[2].setValue("wizard_class");
- // Third group of properties
- ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
- for (int i = 0; i < propertyGroup3.length; i++) {
- propertyGroup3[i] = new ConfigurationProperty();
- }
- propertyGroup3[0].setName("class");
- propertyGroup3[0].setValue("a selection class");
-
- // First subelement group
- ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup1.length; i++) {
- subElementGroup1[i] = new ConfigurationElement();
- subElementGroup1[i].setParent(pluginExtensions[2]);
- }
- subElementGroup1[0].setName("category");
- subElementGroup1[0].setProperties(propertyGroup1);
-
- subElementGroup1[1].setName("wizard");
- subElementGroup1[1].setProperties(propertyGroup2);
-
- // Second subelement group
- ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup2.length; i++) {
- subElementGroup2[i] = new ConfigurationElement();
- subElementGroup2[i].setParent(subElementGroup1[1]);
- }
- subElementGroup2[0].setName("description");
- subElementGroup2[0].setValue("This is just a description");
- subElementGroup2[1].setName("selection");
- subElementGroup2[1].setProperties(propertyGroup3);
-
- // Now link them together
- subElementGroup1[1].setSubElements(subElementGroup2);
- pluginExtensions[2].setSubElements(subElementGroup1);
- plugin.setDeclaredExtensions(pluginExtensions);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* extensionTest
- * Tests to ensure we cache extension entries correctly.
- */
-public void extensionTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extensionSetup();
- // Don't resolve this registry as we don't define all the extension
- // points.
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] extExtPtLinkSetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[2];
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("abc1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Extension[] pluginExtensions = new Extension[4];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
- pluginExtensions[1].setName("Second Extension");
- pluginExtensions[1].setId("second");
- pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
- pluginExtensions[2].setName("Third Extension");
- pluginExtensions[2].setId("third");
- pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
- pluginExtensions[3].setName("Fourth Extension");
- pluginExtensions[3].setId("fourth");
- pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
- plugin.setDeclaredExtensions(pluginExtensions);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("firstExtPt");
- pluginExtensionPoints[1].setName("Second Extension Point");
- pluginExtensionPoints[1].setId("secondExtPt");
- pluginExtensionPoints[2].setName("Third Extension Point");
- pluginExtensionPoints[2].setId("thirdExtPt");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test2");
- plugin.setId("abc2");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("Another Extension Point");
- pluginExtensionPoints[0].setId("anotherExtPt");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[1] = plugin;
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[2];
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-/* extExtPtLinkTest
- * Tests to ensure we cache cross links for extensions and extension
- * points correctly.
- */
-public void extExtPtLinkTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extExtPtLinkSetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentExtensionSetup() {
- PluginDescriptorModel plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginFragmentModel fragment = new FragmentDescriptor();
- fragment.setName("fragment name");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setPluginVersion("1.0");
- fragment.setVersion("2.0");
- fragment.setId("fragmentId");
-
- // XXX Remove this once the issue of extensions have fragments
- // as parents is solved
- PluginFragmentModel[] fragmentList = new PluginFragmentModel[1];
- fragmentList[0] = fragment;
- plugin.setFragments(fragmentList);
-
- Extension[] pluginExtensions = new Extension[3];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("First Extension Point");
-
- pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
- pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
- // First group of properties
- ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
- for (int i = 0; i < propertyGroup1.length; i++) {
- propertyGroup1[i] = new ConfigurationProperty();
- }
- propertyGroup1[0].setName("id");
- propertyGroup1[0].setValue("category_id");
- propertyGroup1[1].setName("name");
- propertyGroup1[1].setValue("category_name");
- // Second group of properties
- ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
- for (int i = 0; i < propertyGroup2.length; i++) {
- propertyGroup2[i] = new ConfigurationProperty();
- }
- propertyGroup2[0].setName("id");
- propertyGroup2[0].setValue("wizard_id");
- propertyGroup2[1].setName("name");
- propertyGroup2[1].setValue("wizard_name");
- propertyGroup2[2].setName("class");
- propertyGroup2[2].setValue("wizard_class");
- // Third group of properties
- ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
- for (int i = 0; i < propertyGroup3.length; i++) {
- propertyGroup3[i] = new ConfigurationProperty();
- }
- propertyGroup3[0].setName("class");
- propertyGroup3[0].setValue("a selection class");
-
- // First subelement group
- ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup1.length; i++) {
- subElementGroup1[i] = new ConfigurationElement();
- subElementGroup1[i].setParent(pluginExtensions[2]);
- }
- subElementGroup1[0].setName("category");
- subElementGroup1[0].setProperties(propertyGroup1);
-
- subElementGroup1[1].setName("wizard");
- subElementGroup1[1].setProperties(propertyGroup2);
-
- // Second subelement group
- ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup2.length; i++) {
- subElementGroup2[i] = new ConfigurationElement();
- subElementGroup2[i].setParent(subElementGroup1[1]);
- }
- subElementGroup2[0].setName("description");
- subElementGroup2[0].setValue("This is just a description");
- subElementGroup2[1].setName("selection");
- subElementGroup2[1].setProperties(propertyGroup3);
-
- // Now link them together
- subElementGroup1[1].setSubElements(subElementGroup2);
- pluginExtensions[2].setSubElements(subElementGroup1);
- fragment.setDeclaredExtensions(pluginExtensions);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
-
- return localXMLFiles;
-}
-/* fragmentExtensionTest
- * Tests to ensure we cache extension entries off a fragment correctly.
- */
-public void fragmentExtensionTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentExtensionSetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-
- // write to a cache file and read it back in
- // Don't resolve this registry as we haven't put in all the extension
- // points that are needed
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentExtExtPtLinkSetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[2];
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("abc1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- FragmentDescriptor[] fragmentList = new FragmentDescriptor[2];
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setPlugin("abc1");
- fragment.setPluginVersion("1.0");
- fragment.setName("A fragment");
- fragment.setProviderName("SomeoneElse");
- fragment.setId("fragmentId1");
- fragment.setVersion("1.1");
- FragmentDescriptor[] pluginFragmentList = new FragmentDescriptor[1];
- pluginFragmentList[0] = fragment;
- plugin.setFragments(pluginFragmentList);
-
- Extension[] pluginExtensions = new Extension[4];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
- pluginExtensions[1].setName("Second Extension");
- pluginExtensions[1].setId("second");
- pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
- pluginExtensions[2].setName("Third Extension");
- pluginExtensions[2].setId("third");
- pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
- pluginExtensions[3].setName("Fourth Extension");
- pluginExtensions[3].setId("fourth");
- pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
- fragment.setDeclaredExtensions(pluginExtensions);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("firstExtPt");
- pluginExtensionPoints[1].setName("Second Extension Point");
- pluginExtensionPoints[1].setId("secondExtPt");
- pluginExtensionPoints[2].setName("Third Extension Point");
- pluginExtensionPoints[2].setId("thirdExtPt");
- fragment.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[0] = plugin;
- fragmentList[0] = fragment;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test2");
- plugin.setId("abc2");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("Second Fragment");
- fragment.setPlugin("abc2");
- fragment.setPluginVersion("1.0");
- fragment.setVersion("3.4");
- fragment.setId("fragmentId2");
- pluginFragmentList = new FragmentDescriptor[1];
- pluginFragmentList[0] = fragment;
- plugin.setFragments(pluginFragmentList);
- pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("Another Extension Point");
- pluginExtensionPoints[0].setId("anotherExtPt");
- fragment.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[1] = plugin;
- fragmentList[1] = fragment;
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[4];
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- for (int i = 0; i < fragmentList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragmentList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[pluginList.length + i] = fs.toString();
- }
- return localXMLFiles;
-}
-/* fragmentExtExtPtLinkTest
- * Tests to ensure we cache cross links for extensions and extension
- * points within fragments correctly.
- */
-public void fragmentExtExtPtLinkTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentExtExtPtLinkSetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
- // IStatus resolveStatus = registry.resolve(true, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentLibrarySetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setName("A fragment name");
- fragment.setVersion("2.2");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setPluginVersion("1.0");
- fragment.setId("fragmentId");
- FragmentDescriptor[] fragmentList = new FragmentDescriptor[1];
- fragmentList[0] = fragment;
- plugin.setFragments(fragmentList);
-
- Library[] pluginRuntime = new Library[2];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- String[] exportString = { "*" };
- pluginRuntime[0].setExports(exportString);
- pluginRuntime[0].setType("code");
- pluginRuntime[1].setName("xerces.jar");
- fragment.setRuntime(pluginRuntime);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* fragmentLibraryTest
- * Tests to ensure we cache library entries off fragements correctly.
- */
-public void fragmentLibraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentLibrarySetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentReadOnlySetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setName("fragment1");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setPluginVersion("1.0");
- fragment.setVersion("1.4");
- fragment.setId("newFragmentId");
- FragmentDescriptor[] fragmentList = new FragmentDescriptor[1];
- fragmentList[0] = fragment;
- plugin.setFragments(fragmentList);
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("org.eclipse.core.runtime");
- fragment.setRequires(pluginRequires);
-
- Library[] pluginRuntime = new Library[1];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- fragment.setRuntime(pluginRuntime);
-
- Extension[] pluginExtensions = new Extension[1];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- fragment.setDeclaredExtensions(pluginExtensions);
- ConfigurationElement[] subElements = new ConfigurationElement[1];
- for (int i = 0; i < subElements.length; i++) {
- subElements[i] = new ConfigurationElement();
- subElements[i].setParent(pluginExtensions[0]);
- }
- subElements[0].setName("FirstSubelement");
- ConfigurationProperty[] properties = new ConfigurationProperty[1];
- for (int i = 0; i < properties.length; i++) {
- properties[i] = new ConfigurationProperty();
- }
- properties[0].setName("FirstProperty");
- properties[0].setValue("FirstValue");
- subElements[0].setProperties(properties);
- pluginExtensions[0].setSubElements(subElements);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- fragment.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* fragmentReadOnlyTest
- * This is a very basic test to make sure we are caching a very
- * simple registry and reading it back in correctly.
- */
-public void fragmentReadOnlyTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentReadOnlySetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
- registry.markReadOnly();
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentSetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- ByteArrayOutputStream fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- String[] localXMLFiles = new String[2];
- localXMLFiles[0] = fs.toString();
-
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setPluginVersion("1.0");
- fragment.setName("The fragment's name");
- fragment.setId("fragmentId");
- fragment.setVersion("1.9");
- fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_PERFECT);
- regWriter.writePluginFragment(fragment, w, 0);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1] = fs.toString();
-
- return localXMLFiles;
-}
-/* fragmentTest
- * This is a very basic test to make sure we are caching a very
- * simple fragment (one plugin with attirbutes only and a fragment
- * that causes the name to change) and reading
- * it back in correctly.
- */
-public void fragmentTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentSetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentPluginSetup() {
- PluginDescriptor[] plugins = new PluginDescriptor[5];
-
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("id1.0");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- plugins[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("id1.5");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.5");
- plugins[1] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("id1.9");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.9");
- plugins[2] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("id3.2");
- plugin.setProviderName("IBM");
- plugin.setVersion("3.2");
- plugins[3] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("id4.7");
- plugin.setProviderName("IBM");
- plugin.setVersion("4.7");
- plugins[4] = plugin;
-
- FragmentDescriptor[] fragmentList = new FragmentDescriptor[5];
-
- FragmentDescriptor[] pluginFragmentList = new FragmentDescriptor[1];
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setPlugin("id1.0");
- fragment.setPluginVersion("1.0");
- fragment.setName("The fragment's name");
- fragment.setId("frag1");
- fragment.setVersion("1.1");
- pluginFragmentList[0] = fragment;
- plugins[0].setFragments(pluginFragmentList);
- fragmentList[0] = fragment;
-
- pluginFragmentList = new FragmentDescriptor[1];
- fragment = new FragmentDescriptor();
- fragment.setPlugin("id1.5");
- fragment.setPluginVersion("1.5");
- fragment.setName("The fragment's name");
- fragment.setId("frag2");
- fragment.setVersion("1.1");
- fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_PERFECT);
- pluginFragmentList[0] = fragment;
- plugins[1].setFragments(pluginFragmentList);
- fragmentList[1] = fragment;
-
- pluginFragmentList = new FragmentDescriptor[1];
- fragment = new FragmentDescriptor();
- fragment.setPlugin("id1.9");
- fragment.setPluginVersion("1.9");
- fragment.setName("The fragment's name");
- fragment.setId("frag3");
- fragment.setVersion("1.1");
- fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_EQUIVALENT);
- pluginFragmentList[0] = fragment;
- plugins[2].setFragments(pluginFragmentList);
- fragmentList[2] = fragment;
-
- pluginFragmentList = new FragmentDescriptor[1];
- fragment = new FragmentDescriptor();
- fragment.setPlugin("id3.2");
- fragment.setPluginVersion("3.0");
- fragment.setName("The fragment's name");
- fragment.setId("frag4");
- fragment.setVersion("1.1");
- fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_COMPATIBLE);
- pluginFragmentList[0] = fragment;
- plugins[3].setFragments(pluginFragmentList);
- fragmentList[3] = fragment;
-
- pluginFragmentList = new FragmentDescriptor[1];
- fragment = new FragmentDescriptor();
- fragment.setPlugin("id4.7");
- fragment.setPluginVersion("1.5");
- fragment.setName("The fragment's name");
- fragment.setId("frag5");
- fragment.setVersion("1.1");
- fragment.setMatch(PluginFragmentModel.FRAGMENT_MATCH_GREATER_OR_EQUAL);
- pluginFragmentList[0] = fragment;
- plugins[4].setFragments(pluginFragmentList);
- fragmentList[4] = fragment;
-
- String[] localXMLFiles = new String[plugins.length + fragmentList.length];
- for (int i = 0; i < plugins.length; i++) {
- ByteArrayOutputStream fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugins[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
-
- for (int i = 0; i < fragmentList.length; i++) {
- ByteArrayOutputStream fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragmentList[i], w, 0);
- w.flush();
- w.close();
- localXMLFiles[plugins.length + i] = fs.toString();
- }
-
- return localXMLFiles;
-}
-/* fragmentPluginTest
- * This is a very basic test to make sure we are caching a plugin
- * with one fragment and reading it back in correctly.
- */
-public void fragmentPluginTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentPluginSetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentRegistrySetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("3.0");
- pluginList[1] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("2.0");
- pluginList[2] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A Different Name");
- plugin.setId("newId");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[3] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A third name");
- plugin.setId("thirdId");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[4] = plugin;
-
- FragmentDescriptor[] fragmentList = new FragmentDescriptor[5];
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setName("fragment");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setProviderName("Something");
- fragment.setPluginVersion("1.0");
- fragment.setId("fragmentId");
- fragment.setVersion("3.3");
- fragmentList[0] = fragment;
-
- fragment = new FragmentDescriptor();
- fragment.setName("fragment");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setVersion("1.1");
- fragment.setPluginVersion("3.0");
- fragment.setId("fragmentId");
- fragmentList[1] = fragment;
-
- fragment = new FragmentDescriptor();
- fragment.setName("fragment");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setPluginVersion("2.0");
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragmentList[2] = fragment;
-
- fragment = new FragmentDescriptor();
- fragment.setName("A Different Name For a Fragment");
- fragment.setPlugin("newId");
- fragment.setProviderName("IBM");
- fragment.setPluginVersion("1.0");
- fragment.setId("newFragmentId");
- fragment.setVersion("3.3");
- fragmentList[3] = fragment;
-
- fragment = new FragmentDescriptor();
- fragment.setName("final fragment");
- fragment.setPlugin("thirdId");
- fragment.setId("weird");
- fragment.setProviderName("IBM");
- fragment.setPluginVersion("1.0");
- fragment.setVersion("7");
- fragmentList[4] = fragment;
-
- String[] localXMLFiles = new String[pluginList.length + fragmentList.length];
- for (int i = 0; i < pluginList.length; i++) {
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- for (int i = 0; i < fragmentList.length; i++) {
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragmentList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i + pluginList.length] = fs.toString();
- }
-
- return localXMLFiles;
-}
-/* fragmentRegistryTest
- * Tests to ensure we cache a simple registry with fragments correctly.
- */
-public void fragmentRegistryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentRegistrySetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] fragmentRequiresSetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setName("fragment2");
- fragment.setPlugin("org.eclipse.webdav");
- fragment.setPluginVersion("1.0");
- fragment.setVersion("1.0");
- fragment.setId("fragmentId2");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[3];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("pluginId1");
- pluginRequires[0].setVersion("4");
- pluginRequires[0].setExport(true);
- pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- pluginRequires[1].setPlugin("pluginId2");
- pluginRequires[1].setOptional(true);
- pluginRequires[2].setPlugin("pluginId3");
- pluginRequires[2].setVersion("3");
- fragment.setRequires(pluginRequires);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[5];
- localXMLFiles[0] = fs.toString();
-
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("First Prerequisite");
- plugin.setId("pluginId1");
- plugin.setProviderName("IBM");
- plugin.setVersion("4");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("Second Prerequisite");
- plugin.setId("pluginId2");
- plugin.setProviderName("IBM");
- plugin.setVersion("4");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[3] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("Third Prerequisite");
- plugin.setId("pluginId3");
- plugin.setProviderName("IBM");
- plugin.setVersion("3");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[4] = fs.toString();
-
- return localXMLFiles;
-}
-/* fragmentRequiresTest
- * Tests to ensure we cache plugin prerequisite entries that hang
- * off a fragment correctly.
- */
-public void fragmentRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = fragmentRequiresSetup();
- // Don't resolve the registry. All the prerequisites are not there.
- // XXX - THIS SHOULD FAIL BUT DOES NOT
- // 1GDU4UP: ITPCORE:ALL - fragments - don't check for existence of prereq's
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] librarySetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Library[] pluginRuntime = new Library[2];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- String[] exportString = { "*" };
- pluginRuntime[0].setExports(exportString);
- pluginRuntime[0].setType("code");
- pluginRuntime[1].setName("xerces.jar");
- plugin.setRuntime(pluginRuntime);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* libraryTest
- * Tests to ensure we cache library entries correctly.
- */
-public void libraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = librarySetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] pluginSetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- ByteArrayOutputStream fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* pluginTest
- * This is a very basic test to make sure we are caching a very
- * simple registry (one plugin with attirbutes only) and reading
- * it back in correctly.
- */
-public void pluginTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = pluginSetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] readOnlySetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("org.eclipse.core.runtime");
- plugin.setRequires(pluginRequires);
-
- Library[] pluginRuntime = new Library[1];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- plugin.setRuntime(pluginRuntime);
-
- Extension[] pluginExtensions = new Extension[1];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- plugin.setDeclaredExtensions(pluginExtensions);
- ConfigurationElement[] subElements = new ConfigurationElement[1];
- for (int i = 0; i < subElements.length; i++) {
- subElements[i] = new ConfigurationElement();
- subElements[i].setParent(pluginExtensions[0]);
- }
- subElements[0].setName("FirstSubelement");
- ConfigurationProperty[] properties = new ConfigurationProperty[1];
- for (int i = 0; i < properties.length; i++) {
- properties[i] = new ConfigurationProperty();
- }
- properties[0].setName("FirstProperty");
- properties[0].setValue("FirstValue");
- subElements[0].setProperties(properties);
- pluginExtensions[0].setSubElements(subElements);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* readOnlyTest
- * This is a very basic test to make sure we are caching a very
- * simple registry and reading it back in correctly.
- */
-public void readOnlyTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = readOnlySetup();
- // Don't resolve the registry as all the prerequisites aren't there
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
- registry.markReadOnly();
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-/* realRegistryTest
- * Tests to ensure we correctly cache the real plugin registry we are using.
- */
-public void realRegistryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- PluginRegistryModel registry = (PluginRegistryModel) Platform.getPluginRegistry();
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-/* realRegistryTest
- * Tests to ensure we correctly cache the real plugin registry we are using.
- */
-public void testRegistryEOF() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- PluginRegistryModel registry = (PluginRegistryModel) Platform.getPluginRegistry();
-
- // write to a cache file and read it back in
- ByteArrayOutputStream b = new ByteArrayOutputStream();
- DataOutputStream output = new DataOutputStream(b);
- doCacheWrite(registry, output, factory);
-
- byte[] source = b.toByteArray();
- byte[] dest = new byte[source.length-1];
- System.arraycopy(source, 0, dest, 0, source.length - 1);
-
- DataInputStream input = new DataInputStream(new ByteArrayInputStream(dest));
- PluginRegistryModel cachedRegistry = doCacheRead(registry, input, factory);
-
- assertNull("1.0", cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-
-public String[] registrySetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("3.0");
- pluginList[1] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("2.0");
- pluginList[2] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A Different Name");
- plugin.setId("newId");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[3] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A third name");
- plugin.setId("thirdId");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[4] = plugin;
-
- String[] localXMLFiles = new String[pluginList.length];
- for (int i = 0; i < pluginList.length; i++) {
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
-
- return localXMLFiles;
-}
-/* registryTest
- * Tests to ensure we cache a simple registry correctly.
- */
-public void registryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = registrySetup();
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, true);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public String[] requiresSetup() {
- PluginDescriptor plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("org.eclipse.webdav");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[5];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("org.eclipse.core.runtime");
- pluginRequires[0].setVersion("4");
- pluginRequires[0].setExport(true);
- pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_PERFECT);
- pluginRequires[1].setPlugin("org.apache.xerces");
- pluginRequires[1].setOptional(true);
- pluginRequires[1].setVersion("1.4");
- pluginRequires[1].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- pluginRequires[2].setPlugin("org.eclipse.core.resources");
- pluginRequires[2].setVersion("3");
- pluginRequires[2].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_COMPATIBLE);
- pluginRequires[3].setPlugin("anotherPrerequisite");
- pluginRequires[3].setVersion("2.1.3");
- pluginRequires[3].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_GREATER_OR_EQUAL);
- pluginRequires[4].setPlugin("finalPrerequisite");
- plugin.setRequires(pluginRequires);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* requiresTest
- * Tests to ensure we cache plugin prerequisite entries correctly.
- */
-public void requiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
-
- String[] localXMLFiles = requiresSetup();
- // Don't resolve the registry. All the prerequisites aren't there
- PluginRegistryModel registry = doInitialParsing(factory, localXMLFiles, false);
-
- // write to a cache file and read it back in
- PluginRegistryModel cachedRegistry = doCacheWriteAndRead(registry, factory);
-
- // Now compare the registries. They should be the same
- compareRegistries(registry, cachedRegistry);
-
- registry = cachedRegistry = null;
- factory = null;
-}
-public static Test suite() {
- TestSuite suite = new TestSuite("SimpleCacheTests");
- suite.addTest(new SimpleCacheTests("pluginTest"));
- suite.addTest(new SimpleCacheTests("requiresTest"));
- suite.addTest(new SimpleCacheTests("libraryTest"));
- suite.addTest(new SimpleCacheTests("extensionTest"));
- suite.addTest(new SimpleCacheTests("readOnlyTest"));
- suite.addTest(new SimpleCacheTests("registryTest"));
- suite.addTest(new SimpleCacheTests("extExtPtLinkTest"));
- suite.addTest(new SimpleCacheTests("realRegistryTest"));
- suite.addTest(new SimpleCacheTests("fragmentTest"));
- suite.addTest(new SimpleCacheTests("fragmentPluginTest"));
- suite.addTest(new SimpleCacheTests("fragmentExtensionTest"));
- suite.addTest(new SimpleCacheTests("fragmentExtExtPtLinkTest"));
- suite.addTest(new SimpleCacheTests("fragmentLibraryTest"));
- suite.addTest(new SimpleCacheTests("fragmentReadOnlyTest"));
- suite.addTest(new SimpleCacheTests("fragmentRequiresTest"));
- suite.addTest(new SimpleCacheTests("fragmentRegistryTest"));
- suite.addTest(new SimpleCacheTests("testRegistryEOF"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java
deleted file mode 100644
index b59fa97..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AllTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests() {
- super(null);
-}
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests(String name) {
- super(name);
-}
- public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(AuthorizationDatabaseTest.suite());
- suite.addTest(CipherStreamsTest.suite());
- suite.addTest(CipherTest.suite());
- suite.addTest(LogSerializationTest.suite());
- return suite;
- }
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java
deleted file mode 100644
index 789c71a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/AuthorizationDatabaseTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Hashtable;
-import java.util.Map;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.AuthorizationDatabase;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class AuthorizationDatabaseTest extends RuntimeTest {
-public AuthorizationDatabaseTest() {
- super(null);
-}
-public AuthorizationDatabaseTest(String name) {
- super(name);
-}
-public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new AuthorizationDatabaseTest("test1"));
- suite.addTest(new AuthorizationDatabaseTest("test2"));
- suite.addTest(new AuthorizationDatabaseTest("test3"));
- return suite;
-}
-public void test1(){
- File file = new File(Platform.getLocation().toFile(), Long.toString(System.currentTimeMillis()) + ".auth");
- try {
- String filename = file.getAbsolutePath();
- String password = "testing";
- if(file.exists()){
- file.delete();
- }
-
- AuthorizationDatabase db = new AuthorizationDatabase(filename, password);
-
- URL serverUrl = new URL("http://www.oti.com/");
- URL resourceUrl = new URL("http://www.oti.com/folder/");
- String realm = "WallyWorld";
- String authScheme = "Basic";
- Map info = new Hashtable(2);
- info.put("username", "jonathan");
- info.put("password", "testing");
-
- db.addAuthorizationInfo(serverUrl, realm, authScheme, info);
- db.addProtectionSpace(resourceUrl, realm);
-
- db.save();
-
- db = new AuthorizationDatabase(filename, password);
-
- info = db.getAuthorizationInfo(serverUrl, realm, authScheme);
- assertEquals("00", "jonathan", info.get("username"));
- assertEquals("01", "testing", info.get("password"));
-
- assertEquals("02", realm, db.getProtectionSpace(resourceUrl));
- assertEquals("03", realm, db.getProtectionSpace(new URL(resourceUrl.toString() + "file")));
- } catch(Exception e){
- assertTrue("04", false);
- } finally {
- file.delete();
- }
-
-}
-public void test2(){
- AuthorizationDatabase db = new AuthorizationDatabase();
-
- URL url1 = null;
- URL url2 = null;
- try {
- url1 = new URL("http://www.oti.com/file1");
- url2 = new URL("http://www.oti.com/folder1/");
- } catch(MalformedURLException e){
- assertTrue("00", false);
- }
-
- String realm1 = "realm1";
- String realm2 = "realm2";
-
- db.addProtectionSpace(url1, realm1);
-
- assertEquals("00", realm1, db.getProtectionSpace(url1));
- assertEquals("01", realm1, db.getProtectionSpace(url2));
-
- db.addProtectionSpace(url2, realm1);
-
- assertEquals("02", realm1, db.getProtectionSpace(url1));
- assertEquals("03", realm1, db.getProtectionSpace(url2));
-
- db.addProtectionSpace(url2, realm2);
-
- assertTrue("04", db.getProtectionSpace(url1) == null);
- assertEquals("05", realm2, db.getProtectionSpace(url2));
-
- db.addProtectionSpace(url1, realm1);
-
- assertEquals("05", realm1, db.getProtectionSpace(url1));
- assertEquals("06", realm1, db.getProtectionSpace(url2));
-}
-public void test3(){
- AuthorizationDatabase db = new AuthorizationDatabase();
-
- URL url1 = null;
- try {
- url1 = new URL("http://www.oti.com");
- } catch(MalformedURLException e){
- assertTrue("00", false);
- }
-
- Hashtable info = new Hashtable(2);
- db.addAuthorizationInfo(url1, "realm1", "Basic", info);
-
- assertTrue("01", db.getAuthorizationInfo(url1, "realm1", "Basic") != null);
- db.flushAuthorizationInfo(url1, "realm1", "Basic");
- assertTrue("02", db.getAuthorizationInfo(url1, "realm1", "Basic") == null);
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java
deleted file mode 100644
index 8a49082..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherStreamsTest.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.*;
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.CipherInputStream;
-import org.eclipse.core.internal.runtime.CipherOutputStream;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class CipherStreamsTest extends RuntimeTest {
-public CipherStreamsTest() {
- super(null);
-}
-public CipherStreamsTest(String name) {
- super(name);
-}
-protected void doCipherTest(String password, byte[] data) {
- try {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- CipherOutputStream cos = new CipherOutputStream(baos, password);
- cos.write(data);
- cos.close();
-
- byte[] encryptedData = baos.toByteArray();
- ByteArrayInputStream bais = new ByteArrayInputStream(encryptedData);
- CipherInputStream cis = new CipherInputStream(bais, password);
- byte[] decryptedData = new byte[data.length];
- cis.read(decryptedData);
- assertTrue("01", cis.read() == -1);
- cis.close();
-
- assertEquals("02", data.length, decryptedData.length);
- for(int i = 0; i < data.length; ++i){
- assertEquals("03."+i, data[i], decryptedData[i]);
- }
- } catch (IOException e) {
- fail("99", e);
- }
-}
-public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new CipherStreamsTest("test1"));
- return suite;
-}
-protected String getLongMessage() {
- return "This is a test!This is a test!This is a test!This is a test!This is a test!"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "This is a very long message that contains quite a lot of bytes and thus" +
- "may prove to make for a more interesting test case than the far simpler" +
- "(and admittedly mundane) messages that are also included in this test"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences";
-}
-protected String[] getMessages() {
- return new String[] {
- "This is a test!",
- "",
- "a",
- getLongMessage(),
- getVeryLongMessage(),
- };
-}
-protected String[] getPasswords() {
- return new String[] {
- "",
- "pasord",
- " ",
- "This is a very long password that contains quite a lot of bytes and thus" +
- "may prove to make for a more interesting test case than the far simpler" +
- "(and admittedly mundane) passwords that are also included in this array",
- };
-}
-protected String getVeryLongMessage() {
- StringBuffer message = new StringBuffer(1000);
- while (message.length() < 5300) {
- message.append(getLongMessage());
- }
- return message.toString();
-}
-
-public void test1(){
- String[] passwords = getPasswords();
- String[] messages = getMessages();
- for (int i = 0; i < messages.length; i++) {
- byte[] data = messages[i].getBytes();
- for (int j = 0; j < passwords.length; j++) {
- doCipherTest(passwords[j], data);
- }
- }
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java
deleted file mode 100644
index 6dad39e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/CipherTest.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.Cipher;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class CipherTest extends RuntimeTest {
-public CipherTest() {
- super(null);
-}
-public CipherTest(String name) {
- super(name);
-}
-public static void main(String[] args) {
- junit.textui.TestRunner.run(suite());
-}
-public static Test suite() {
- return new TestSuite(CipherTest.class);
-// TestSuite suite = new TestSuite();
-// suite.addTest(new CipherTest("test1"));
-// return suite;
-}
-public void test1(){
- try {
- String[] passwords = getPasswords();
- String[] messages = getMessages();
- for (int i = 0; i < messages.length; i++) {
- byte[] data = messages[i].getBytes();
- for (int j = 0; j < passwords.length; j++) {
- doCipherTest(passwords[j], data);
- }
- }
- } catch(Exception e){
- fail("04", e);
- }
-}
-public void testDifferentChunkSizes() {
- //read and write different chunk sizes at once. Should still decrypt to
- //be the same bytes
- byte[] inputBytes = "This is the message that will be encrypted.".getBytes();
- String password = "music";
-
- //encrypt first ten bytes, then remaining bytes
- try {
- Cipher cipher = new Cipher(Cipher.ENCRYPT_MODE, password);
- byte[] encrypted1 = cipher.cipher(inputBytes, 0, 10);
- //introduce some noise by encrypting an empty array
- cipher.cipher(new byte[0]);
- byte[] encrypted2 = cipher.cipher(inputBytes, 10, inputBytes.length-10);
- byte[] fullEncrypted = new byte[encrypted1.length + encrypted2.length];
- System.arraycopy(encrypted1, 0, fullEncrypted, 0, encrypted1.length);
- System.arraycopy(encrypted2, 0, fullEncrypted, encrypted1.length, encrypted2.length);
-
- cipher = new Cipher(Cipher.DECRYPT_MODE, password);
- //introduce some noise by decrypting an empty array
- cipher.cipher(new byte[0]);
- //now decrypt all at once
- byte[] result = cipher.cipher(fullEncrypted);
-
- assertEquals("1.0", inputBytes.length, result.length);
- for (int i = 0; i < inputBytes.length; i++) {
- assertEquals("2." + i, inputBytes[i], result[i]);
- }
- } catch (Exception e) {
- fail("1.99", e);
- }
-}
-
-protected String[] getMessages() {
- return new String[] {
- "This is a test a test!",
- "",
- "a",
- getLongMessage(),
- getVeryLongMessage(),
- };
-}
-protected String getLongMessage() {
- return "This is a test!This is a test!This is a test!This is a test!This is a test!"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "This is a very long message that contains quite a lot of bytes and thus" +
- "may prove to make for a more interesting test case than the far simpler" +
- "(and admittedly mundane) messages that are also included in this test"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences"+
- "este e' o meu conteudo (portuguese)there is no imagination for more sentences";
-}
-protected String[] getPasswords() {
- return new String[] {
- "",
- "password",
- "a",
- "This is a very long password that contains quite a lot of bytes and thus" +
- "may prove to make for a more interesting test case than the far simpler" +
- "(and admittedly mundane) passwords that are also included in this array",
- };
-}
-protected String getVeryLongMessage() {
- StringBuffer message = new StringBuffer(1000);
- while (message.length() < 5000) {
- message.append(getLongMessage());
- }
- return message.toString();
-}
-protected void doCipherTest(String password, byte[] data) throws Exception {
- Cipher cipher = new Cipher(Cipher.ENCRYPT_MODE, password);
- byte[] encryptedData = cipher.cipher(data);
- assertEquals("00", data.length, encryptedData.length);
-
- cipher = new Cipher(Cipher.DECRYPT_MODE, password);
- byte[] decryptedData = cipher.cipher(encryptedData);
- assertEquals("02", data.length, decryptedData.length);
- for(int i = 0; i < data.length; ++i){
- assertEquals("03."+i, data[i], decryptedData[i]);
- }
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java
deleted file mode 100644
index 8e760b4..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/LogSerializationTest.java
+++ /dev/null
@@ -1,225 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.*;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.runtime.PlatformLogWriter;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.runtime.RuntimeTest;
-
-public class LogSerializationTest extends RuntimeTest {
-
- protected File logFile = null;
-
-public LogSerializationTest(String name) {
- super(name);
-}
-public LogSerializationTest() {
- super("");
-}
-public static Test suite() {
- return new TestSuite(LogSerializationTest.class);
-// TestSuite suite = new TestSuite();
-// suite.addTest(new LogSerializationTest("testDeepMultiStatus"));
-// return suite;
-}
-protected void assertEquals(String msg, IStatus[] expected, IStatus[] actual) {
- if (expected == null) {
- assertNull(msg + " expected null but got: " + actual, actual);
- return;
- }
- if (actual == null) {
- assertNull(msg + " expected " + expected + " but got null", expected);
- return;
- }
- assertEquals(msg + " different number of statuses", expected.length, actual.length);
- for (int i = 0, imax = expected.length; i < imax; i++) {
- assertEquals(msg + " differ at status " + i, expected[i], actual[i]);
- }
-}
-protected void assertEquals(String msg, IStatus expected, IStatus actual) {
- assertEquals(msg + " severity", expected.getSeverity(), actual.getSeverity());
- assertEquals(msg + " plugin-id", expected.getPlugin(), actual.getPlugin());
- assertEquals(msg + " code", expected.getCode(), actual.getCode());
- assertEquals(msg + " message", expected.getMessage(), actual.getMessage());
- assertEquals(msg + " exception", expected.getException(), actual.getException());
- assertEquals(msg + " children", expected.getChildren(), actual.getChildren());
-}
-protected void assertEquals(String msg, Throwable expected, Throwable actual) {
- if (expected == null) {
- assertNull(msg + " expected null but got: " + actual, actual);
- return;
- }
- if (actual == null) {
- assertNull(msg + " expected " + expected + " but got null", expected);
- return;
- }
- assertEquals(msg + " stack trace", encodeStackTrace(expected),encodeStackTrace(actual));
- assertEquals(msg + " message", expected.getMessage(), actual.getMessage());
-}
-protected String encodeStackTrace(Throwable t) {
- StringWriter sWriter = new StringWriter();
- PrintWriter pWriter = new PrintWriter(sWriter);
- pWriter.println();
- t.printStackTrace(pWriter);
- pWriter.flush();
- return canonicalizeStackTrace(sWriter.toString());
-}
-/**
- * Returns the given stack trace in a canonical format in order to make stack
- * trace comparisons easier. The canonical format is: each line is ended by a
- * <code>'\n'</code> character, each line (except the first one) starts with a
- * <code>'\t'</code> character, there are no other occurrences of space
- * characters other than ' ', and there are no consecutive occurrences of new-
- * line or space characters.
- */
-protected String canonicalizeStackTrace(String stackTrace) {
- final char NEW_LINE = '\n';
- final char TAB = '\t';
- final char SPACE = ' ';
- final String LINE_SEPARATORS = "\r\n\f";
- final String SPACES = "\t ";
- StringBuffer sb = new StringBuffer(stackTrace.trim());
- sb.append(NEW_LINE);
- char lastChar = 0;
- for (int i = 0; i < sb.length();) {
- // only \n is used as line separator, with no consecutive occurrences
- if (LINE_SEPARATORS.indexOf(sb.charAt(i)) != -1)
- if (LINE_SEPARATORS.indexOf(lastChar) != -1) {
- sb.deleteCharAt(i);
- continue;
- } else
- sb.setCharAt(i, NEW_LINE);
- // each line (except the first one) starts with a tab
- else if (lastChar == NEW_LINE)
- sb.insert(i, TAB);
- // only ' ' is used as space, with no consecutive occurrences
- else if (SPACES.indexOf(sb.charAt(i)) != -1)
- if (SPACES.indexOf(lastChar) != -1) {
- sb.deleteCharAt(i);
- continue;
- } else
- sb.setCharAt(i, SPACE);
- lastChar = sb.charAt(i);
- i++;
- }
- return sb.toString();
-}
-protected IStatus[] getInterestingMultiStatuses() {
- IStatus[] interesting = getInterestingStatuses();
- int len = interesting.length;
- IStatus[][] interestingChildren = new IStatus[len][];
- for (int i = 0; i < len; i++) {
- IStatus[] subArray = new IStatus[len];
- System.arraycopy(interesting, 0, subArray, 0, len);
- interestingChildren[i] = subArray;
- }
- int childOff = 0;
- return new IStatus[] {
- new MultiStatus("plugin-id", 1, interestingChildren[childOff++ % len], "message", null),
- new MultiStatus("org.foo.bar", 5, interestingChildren[childOff++ % len], "message", new NullPointerException()),
- new MultiStatus("plugin-id", 8, interestingChildren[childOff++ % len], "message", null),
- new MultiStatus("plugin-id", 0, interestingChildren[childOff++ % len], "message", new IllegalStateException()),
- new MultiStatus("plugin-id", 65756, interestingChildren[childOff++ % len], "message", null),
- new MultiStatus(".", 1, interestingChildren[childOff++ % len], "message", null),
- new MultiStatus("org.foo.blaz", 1, interestingChildren[childOff++ % len], "", null),
- new MultiStatus("plugin-id", 1, interestingChildren[childOff++ % len], "%$(% 98%(%(*^", null),
- new MultiStatus("plugin-id", 1, "message", null),
- new MultiStatus("..", 87326, "", null),
- };
-}
-protected IStatus[] getInterestingStatuses() {
- return new IStatus[] {
- new Status(IStatus.WARNING, "(#(*$%#", 1, "../\\\\\'\'\"", new NullPointerException()),
- new Status(IStatus.WARNING, "org.foo", 1, "This is the message", null),
- new Status(IStatus.ERROR, "org.foo", 1, "This is the message", new IllegalStateException()),
- new Status(IStatus.OK, ".", 1, "This is the message", new NullPointerException()),
- new Status(IStatus.INFO, "org.asdfhsfhsdf976dsf6sd0f6s", 1, "#*&^$(*&#@^$)(#&)(", null),
- };
-}
-protected void doTest(String msg, IStatus[] oldStats) {
- writeLog(oldStats);
- IStatus[] newStats = readLog();
- assertEquals(msg, oldStats, newStats);
-}
-protected void doTest(String msg, IStatus status) {
- doTest(msg, new IStatus[] {status});
-}
-protected IStatus[] readLog() {
- PlatformLogReader reader = new PlatformLogReader();
- return reader.readLogFile(logFile.getAbsolutePath());
-}
-protected void setUp() throws Exception {
- super.setUp();
- //setup the log file
- if (logFile == null) {
- File parent = Platform.getLocation().toFile();
- String logName = Long.toString(System.currentTimeMillis()) + ".log";
- logFile = new File(parent, logName);
- }
-}
-protected void tearDown() throws Exception {
- super.tearDown();
- logFile.delete();
-}
-public void testDeepMultiStatus() {
- MultiStatus multi = new MultiStatus("id", 1, getInterestingMultiStatuses(), "ok", null);
- for (int i = 0; i < 5; i++) {
- multi = new MultiStatus("id", 1, new IStatus[] {multi}, "ok", null);
- doTest("1." + i, multi);
- }
-}
-public void testMultiMultiStatusSerialize() {
- IStatus[] interesting = getInterestingMultiStatuses();
- int len = interesting.length;
- for (int i = 1; i < len; i++) {
- IStatus[] subArray = new IStatus[len];
- System.arraycopy(interesting, 0, subArray, 0, len);
- doTest("1." + i, subArray);
- }
-}
-public void testMultiSerialize() {
- IStatus[] interesting = getInterestingStatuses();
- int len = interesting.length;
- for (int i = 1; i < len; i++) {
- IStatus[] subArray = new IStatus[len];
- System.arraycopy(interesting, 0, subArray, 0, len);
- doTest("1." + i, subArray);
- }
-}
-public void testMultiStatus() {
- IStatus[] interesting = getInterestingMultiStatuses();
- for (int i = 0; i < interesting.length; i++) {
- doTest("1." + i, interesting[i]);
- }
-}
-public void testSimpleSerialize() {
- IStatus[] interesting = getInterestingStatuses();
- for (int i = 0; i < interesting.length; i++) {
- doTest("1." + i, interesting[i]);
- }
-}
-
-protected void writeLog(IStatus status) {
- writeLog(new IStatus[] {status});
-}
-protected void writeLog(IStatus[] statuses) {
- if (logFile.exists())
- logFile.delete();
- PlatformLogWriter writer = new PlatformLogWriter(logFile);
- for (int i = 0; i < statuses.length; i++) {
- writer.logging(statuses[i], "org.eclipse.core.tests.runtime");
- }
- writer.shutdown();
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java
deleted file mode 100644
index bb6411a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtime/PlatformLogReader.java
+++ /dev/null
@@ -1,244 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000,2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtime;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-
-/**
- * Reads a structured log from disk and reconstructs status and exception objects.
- * General strategy: log entries that are malformed in any way are skipped, and an extra
- * status is returned mentioned that there were problems.
- */
-public class PlatformLogReader {
- private ArrayList list = null;
- private String currentLine = "";
- private BufferedReader reader;
-
- // constants copied from the PlatformLogWriter (since they are private
- // to that class and this class should be used only in test suites)
- private static final String KEYWORD_SESSION = "!SESSION";
- private static final String KEYWORD_ENTRY = "!ENTRY";
- private static final String KEYWORD_SUBENTRY = "!SUBENTRY";
- private static final String KEYWORD_MESSAGE = "!MESSAGE";
- private static final String KEYWORD_STACK = "!STACK";
-
- private static final int NULL = -2;
- private static final int SESSION = 1;
- private static final int ENTRY = 2;
- private static final int SUBENTRY = 4;
- private static final int MESSAGE = 8;
- private static final int STACK = 16;
- private static final int UNKNOWN = 32;
-
-
-protected void log(Exception ex) {
- String msg = Policy.bind("meta.exceptionParsingLog", ex.getMessage());
- list.add(new Status(IStatus.WARNING, Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, msg, ex));
-}
-protected Throwable readException(String message) throws IOException {
- if (currentLine == null || getLineType() != STACK)
- return null;
- StringTokenizer tokenizer = new StringTokenizer(currentLine);
- tokenizer.nextToken();
- // FIXME: handle the code to read status objects which were
- // nested inside of CoreExceptions in the log.
- int hasStatus = Integer.parseInt(tokenizer.nextToken());
- currentLine = reader.readLine();
- return new FakeException(null, readText());
-}
-/**
- * Reads the given log file and returns the contained status objects.
- * If the log file could not be read, a status object indicating this fact
- * is returned.
- */
-public synchronized IStatus[] readLogFile(String path) {
- list = new ArrayList();
- InputStream input = null;
- try {
- input = new FileInputStream(path);
- reader = new BufferedReader(new InputStreamReader(input, "UTF-8"));//$NON-NLS-1$
- currentLine = reader.readLine();
- while (currentLine != null) {
- switch (getLineType()) {
- case ENTRY:
- IStatus status = readEntry();
- if (status != null)
- list.add(status);
- break;
- case SESSION:
- readSession();
- break;
- case SUBENTRY:
- case MESSAGE:
- case STACK:
- case UNKNOWN:
- currentLine = reader.readLine();
- break;
- }
- }
- } catch (IOException e) {
- log(e);
- } finally {
- try {
- if (input != null)
- input.close();
- } catch (IOException e) {
- log(e);
- }
- }
- return (IStatus[]) list.toArray(new IStatus[list.size()]);
-}
-protected int getLineType() {
- if (currentLine == null)
- return NULL;
- StringTokenizer tokenizer = new StringTokenizer(currentLine);
- if (tokenizer.hasMoreTokens()) {
- String token = tokenizer.nextToken();
- if (token.equals(KEYWORD_SESSION))
- return SESSION;
- if (token.equals(KEYWORD_ENTRY))
- return ENTRY;
- if (token.equals(KEYWORD_SUBENTRY))
- return SUBENTRY;
- if (token.equals(KEYWORD_MESSAGE))
- return MESSAGE;
- if (token.equals(KEYWORD_STACK))
- return STACK;
- }
- return UNKNOWN;
-}
-
-/**
- * A reconsituted exception that only contains a stack trace and a message.
- */
-class FakeException extends Throwable {
- private String message;
- private String stackTrace;
- FakeException(String msg, String stack) {
- this.message = msg;
- this.stackTrace = stack;
- }
- public String getMessage() {
- return message;
- }
- public void printStackTrace() {
- printStackTrace(System.out);
- }
- public void printStackTrace(PrintWriter writer) {
- writer.println(stackTrace);
- }
- public void printStackTrace(PrintStream stream) {
- stream.println(stackTrace);
- }
-}
-protected IStatus readEntry() throws IOException {
- if (currentLine == null || getLineType() != ENTRY)
- return null;
- StringTokenizer tokens = new StringTokenizer(currentLine);
- // skip over the ENTRY keyword
- tokens.nextToken();
- String pluginID = tokens.nextToken();
- int severity = Integer.parseInt(tokens.nextToken());
- int code = Integer.parseInt(tokens.nextToken());
- // ignore the rest of the line since its the date
- currentLine = reader.readLine();
- String message = readMessage();
- Throwable exception = readException(message);
- if (currentLine == null || getLineType() != SUBENTRY)
- return new Status(severity, pluginID, code, message, exception);
- MultiStatus parent = new MultiStatus(pluginID, code, message, exception);
- readSubEntries(parent);
- return parent;
-}
-protected void readSubEntries(MultiStatus parent) throws IOException {
- while (getLineType() == SUBENTRY) {
- StringTokenizer tokens = new StringTokenizer(currentLine);
- // skip over the subentry keyword
- tokens.nextToken();
- int currentDepth = Integer.parseInt(tokens.nextToken());
- String pluginID = tokens.nextToken();
- int severity = Integer.parseInt(tokens.nextToken());
- int code = Integer.parseInt(tokens.nextToken());
- // ignore the rest of the line since its the date
- currentLine = reader.readLine();
- String message = readMessage();
- Throwable exception = readException(message);
-
- IStatus current = new Status(severity, pluginID, code, message, exception);
- if (currentLine == null || getLineType() != SUBENTRY) {
- parent.add(current);
- return;
- }
-
- tokens = new StringTokenizer(currentLine);
- tokens.nextToken();
- int depth = Integer.parseInt(tokens.nextToken());
- if (currentDepth == depth) {
- // next sub-entry is a sibling
- parent.add(current);
- } else if (currentDepth == (depth - 1)) {
- // next sub-entry is a child
- current = new MultiStatus(pluginID, code, message, exception);
- readSubEntries((MultiStatus) current);
- parent.add(current);
- } else {
- parent.add(current);
- return;
- }
- }
-}
-protected int readDepth() throws IOException {
- StringTokenizer tokens = new StringTokenizer(currentLine);
- // skip the keyword
- tokens.nextToken();
- return Integer.parseInt(tokens.nextToken());
-}
-protected String readMessage() throws IOException {
- if (currentLine == null || getLineType() != MESSAGE)
- return "";
- StringBuffer buffer = new StringBuffer();
- buffer.append(currentLine.substring(KEYWORD_MESSAGE.length()+1, currentLine.length()));
- currentLine = reader.readLine();
- buffer.append(readText());
- return buffer.toString();
-}
-protected String readSession() throws IOException {
- if (currentLine == null || getLineType() != SESSION)
- return "";
- currentLine = reader.readLine();
- return readText();
-}
-protected String readText() throws IOException {
- StringBuffer buffer = new StringBuffer();
- if (currentLine == null || getLineType() != UNKNOWN)
- return "";
- else buffer.append(currentLine);
- boolean done = false;
- while (!done) {
- currentLine = reader.readLine();
- if (currentLine == null) {
- done = true;
- continue;
- }
- if (getLineType() == UNKNOWN) {
- // preserves line terminators between lines
- buffer.append('\n');
- buffer.append(currentLine);
- } else
- done = true;
- }
- return buffer.toString();
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java
deleted file mode 100644
index a3b90e0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleA.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleA extends Plugin {
-
-public SampleA (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleA");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java
deleted file mode 100644
index 39b38df..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleB extends Plugin {
-
-public SampleB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java
deleted file mode 100644
index 95b224a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleCPB extends Plugin {
-
-public SampleCPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleCPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java
deleted file mode 100644
index f9e311f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleCPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleCPR extends Plugin {
-
-public SampleCPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleCPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java
deleted file mode 100644
index 7d65ff5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleD.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleD extends Plugin {
-
-public SampleD (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleD");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java
deleted file mode 100644
index a58fce0..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleE.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleE extends Plugin {
-
-public SampleE (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleE");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java
deleted file mode 100644
index 7a7cc31..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleFFB extends Plugin {
-
-public SampleFFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleFFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java
deleted file mode 100644
index 79a88cd..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleFFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleFFR extends Plugin {
-
-public SampleFFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleFFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java
deleted file mode 100644
index 6081ac1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleGFR extends Plugin {
-
-public SampleGFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleGFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java
deleted file mode 100644
index e4715fd..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleGPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleGPR extends Plugin {
-
-public SampleGPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleGPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java
deleted file mode 100644
index 1ea710f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleHFB extends Plugin {
-
-public SampleHFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleHFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java
deleted file mode 100644
index 10476e8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleHPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleHPR extends Plugin {
-
-public SampleHPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleHPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java
deleted file mode 100644
index 1e9b627..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleIFR extends Plugin {
-
-public SampleIFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleIFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java
deleted file mode 100644
index 1c579bb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleIPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleIPB extends Plugin {
-
-public SampleIPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleIPBS");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java
deleted file mode 100644
index 8d4c5dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleJFB extends Plugin {
-
-public SampleJFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleJFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java
deleted file mode 100644
index e5f5fd8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleJPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleJPB extends Plugin {
-
-public SampleJPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleJPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java
deleted file mode 100644
index e569b8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleKFR extends Plugin {
-
-public SampleKFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleKFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java
deleted file mode 100644
index fa60ef9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleKPB extends Plugin {
-
-public SampleKPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleKPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java
deleted file mode 100644
index cabdff2..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleKPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleKPR extends Plugin {
-
-public SampleKPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleKPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java
deleted file mode 100644
index 968210b..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleLFB extends Plugin {
-
-public SampleLFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleLFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java
deleted file mode 100644
index 7d79579..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleLPB extends Plugin {
-
-public SampleLPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleLPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java
deleted file mode 100644
index f0b219e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleLPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleLPR extends Plugin {
-
-public SampleLPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleLPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java
deleted file mode 100644
index a8afc3c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleMFB extends Plugin {
-
-public SampleMFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleMFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java
deleted file mode 100644
index d22552a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleMFR extends Plugin {
-
-public SampleMFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleMFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java
deleted file mode 100644
index 51d3f46..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleMPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleMPR extends Plugin {
-
-public SampleMPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleMPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java
deleted file mode 100644
index 80cf7a7..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleNFB extends Plugin {
-
-public SampleNFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleNFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java
deleted file mode 100644
index 10bc763..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleNFR extends Plugin {
-
-public SampleNFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleNFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java
deleted file mode 100644
index a3860d1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleNPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleNPB extends Plugin {
-
-public SampleNPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleNPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java
deleted file mode 100644
index 8ccea8a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOFB extends Plugin {
-
-public SampleOFB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleOFB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java
deleted file mode 100644
index 8f98b4e..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOFR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOFR extends Plugin {
-
-public SampleOFR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleOFR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java
deleted file mode 100644
index 69d8fe9..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPB.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOPB extends Plugin {
-
-public SampleOPB (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleOPB");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java
deleted file mode 100644
index 0b7b40a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/internal/runtimetests/SampleOPR.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.internal.runtimetests;
-
-import org.eclipse.core.runtime.*;
-
-public class SampleOPR extends Plugin {
-
-public SampleOPR (IPluginDescriptor descriptor) {
- super(descriptor);
-}
-
-public String getSampleString() {
- return ("A sample string from class sampleOPR");
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java
deleted file mode 100644
index 3125d8c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/AllTests.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import junit.framework.*;
-
-public class AllTests extends TestCase {
-public AllTests() {
- super(null);
-}
-public AllTests(String name) {
- super(name);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(ApiTest.suite());
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java
deleted file mode 100644
index daca20d..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/ApiTest.java
+++ /dev/null
@@ -1,320 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.tests.harness.*;
-import java.net.*;
-import junit.framework.*;
-
-public class ApiTest extends EclipseWorkspaceTest {
-public ApiTest() {
- super(null);
-}
-public ApiTest(String name) {
- super(name);
-}
-public void baseTest() {
-
- String id = "com.ibm.eclipse.core.tests.plugins.parser.1";
-
- String[] pid = { "com.ibm.eclipse.core.tests.plugins.parser.2", "com.ibm.eclipse.core.tests.plugins.parser.3" };
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL URLList[] = new URL[1];
- try {
- URLList[0] = new URL("vaLoader:/N:/Eclipse TOR Core Test/0.042b/project_resources/IBM Eclipse Core Tests Plugin/plugins-test-files/plugins.parser.1/");
- } catch (java.net.MalformedURLException mfe) {
- assertTrue("Malformed URL Exception encountered", true);
- }
- IPluginRegistry registry = doParsing(factory, URLList);
- IPluginDescriptor plugin = registry.getPluginDescriptor(id);
-
- // check descriptor
- assertNotNull("0.0", plugin);
- assertEquals("0.1", plugin.getUniqueIdentifier(), id);
- assertEquals("0.2", plugin.getLabel(), "IBM Tooling Platform Core Tests");
- assertEquals("0.3", plugin.getProviderName(), "IBM");
- assertEquals("0.4", plugin.getVersionIdentifier(), new PluginVersionIdentifier("1.2"));
- assertTrue("0.6", !plugin.isPluginActivated());
- assertEquals("0.7", plugin.getInstallURL().toExternalForm(), "eclipse:/plugin/com.ibm.eclipse.core.tests.plugins.parser.1/");
-
- // check prereqs
- IPluginPrerequisite[] prereq = plugin.getPluginPrerequisites();
- assertEquals("1.0", prereq.length, 2);
-
- assertEquals("1.1.0", prereq[0].getUniqueIdentifier(), pid[0]);
- assertEquals("1.1.1", prereq[0].getVersionIdentifier(), new PluginVersionIdentifier("3.7"));
- assertTrue("1.1.2", prereq[0].isExported());
- assertTrue("1.1.3", !prereq[0].isMatchedAsCompatible());
- assertTrue("1.1.4", prereq[0].isMatchedAsExact());
-
- assertEquals("1.2.0", prereq[1].getUniqueIdentifier(), pid[1]);
- assertNull("1.2.1", prereq[1].getVersionIdentifier());
- assertTrue("1.2.2", !prereq[1].isExported());
- assertTrue("1.2.3", prereq[1].isMatchedAsCompatible());
- assertTrue("1.2.4", !prereq[1].isMatchedAsExact());
-
- // check runtime libs
- ILibrary[] lib = plugin.getRuntimeLibraries();
- assertTrue("2.0", lib.length == 3);
-
- assertNull("2.1.0", lib[0].getContentFilters());
- assertEquals("2.1.1", lib[0].getPath().toString(), "lib1.jar");
- assertTrue("2.1.2", !lib[0].isExported());
- assertTrue("2.1.3", !lib[0].isFullyExported());
-
- assertNull("2.2.0", lib[1].getContentFilters()); // fully exported => no filter
- assertEquals("2.2.1", lib[1].getPath().toString(), "lib2.jar");
- assertTrue("2.2.2", lib[1].isExported());
- assertTrue("2.2.3", lib[1].isFullyExported());
-
- assertNotNull("2.3.0", lib[2].getContentFilters());
- assertEquals("2.3.0.1", lib[2].getContentFilters().length, 1);
- assertEquals("2.3.1", lib[2].getPath().toString(), "lib3.jar");
- assertTrue("2.3.2", lib[2].isExported());
- assertTrue("2.3.3", !lib[2].isFullyExported());
-
- // check declared extension points
- IExtensionPoint[] xpt;
- xpt = plugin.getExtensionPoints();
- assertEquals("3.0", xpt.length, 2);
-
- assertEquals("3.1.0", xpt[0].getDeclaringPluginDescriptor(), plugin);
- assertEquals("3.1.1", xpt[0].getUniqueIdentifier(), id + ".xpt1");
- assertEquals("3.1.2", xpt[0].getSimpleIdentifier(), "xpt1");
- assertEquals("3.1.3", xpt[0].getLabel(), "First extension point");
-
- assertEquals("3.2.0", xpt[1].getDeclaringPluginDescriptor(), plugin);
- assertEquals("3.2.1", xpt[1].getUniqueIdentifier(), id + ".xpt2");
- assertEquals("3.2.2", xpt[1].getSimpleIdentifier(), "xpt2");
- assertEquals("3.2.3", xpt[1].getLabel(), "");
-
- // check declared extensions
- IExtension[] ext;
- ext = plugin.getExtensions();
- assertTrue("4.0", ext.length == 2);
-
- assertEquals("4.1.0", ext[0].getDeclaringPluginDescriptor(), plugin);
- assertEquals("4.1.1", ext[0].getUniqueIdentifier(), id + ".ext1");
- assertEquals("4.1.2", ext[0].getSimpleIdentifier(), "ext1");
- assertEquals("4.1.3", ext[0].getLabel(), "First extension");
- assertEquals("4.1.4", ext[0].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
- assertEquals("4.2.0", ext[1].getDeclaringPluginDescriptor(), plugin);
- assertNull("4.2.1", ext[1].getUniqueIdentifier());
- assertNull("4.2.2", ext[1].getSimpleIdentifier());
- assertEquals("4.2.3", ext[1].getLabel(), "");
- assertEquals("4.2.4", ext[1].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
- // check configured extensions (via extension point)
- IExtensionPoint xpt1 = registry.getExtensionPoint(id + ".xpt1");
- assertNotNull("5.0", xpt1);
- ext = xpt1.getExtensions();
- assertEquals("5.0.1", ext.length, 2);
-
- assertEquals("5.1.0", ext[0].getDeclaringPluginDescriptor(), plugin);
- assertEquals("5.1.1", ext[0].getUniqueIdentifier(), id + ".ext1");
- assertEquals("5.1.2", ext[0].getSimpleIdentifier(), "ext1");
- assertEquals("5.1.3", ext[0].getLabel(), "First extension");
- assertEquals("5.1.4", ext[0].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
- assertEquals("5.2.0", ext[1].getDeclaringPluginDescriptor(), plugin);
- assertNull("5.2.1", ext[1].getUniqueIdentifier());
- assertNull("5.2.2", ext[1].getSimpleIdentifier());
- assertEquals("5.2.3", ext[1].getLabel(), "");
- assertEquals("5.2.4", ext[1].getExtensionPointUniqueIdentifier(), id + ".xpt1");
-
- // check configured extension (directly)
- IExtension ext1 = registry.getExtension(id, "xpt1", id + ".ext1");
- assertNotNull("6.0", ext1);
-
- assertEquals("6.1.0", ext1.getDeclaringPluginDescriptor(), plugin);
- assertEquals("6.1.1", ext1.getUniqueIdentifier(), id + ".ext1");
- assertEquals("6.1.2", ext1.getSimpleIdentifier(), "ext1");
- assertEquals("6.1.3", ext1.getLabel(), "First extension");
- assertEquals("6.1.4", ext1.getExtensionPointUniqueIdentifier(), id + ".xpt1");
-}
-/* doParsing
- * This method will parse a series of XML files. The input array should be
- * an array of string buffers where each string buffer is considered a complete
- * XML file. The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-public PluginRegistry doParsing(InternalFactory factory, URL[] pluginPath) {
- PluginRegistry registry = (PluginRegistry) RegistryLoader.parseRegistry(pluginPath, factory, false);
- registry.resolve(true, true);
- registry.markReadOnly();
- registry.startup(null);
- return registry;
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new ApiTest("baseTest"));
- suite.addTest(new ApiTest("versionIdTest"));
- return suite;
-}
-public void versionIdTest() {
-
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- InternalFactory factory = new InternalFactory(problems);
- URL URLList[] = new URL[1];
- try {
- URLList[0] = new URL("vaLoader:/N:/Eclipse TOR Core Test/0.042b/project_resources/IBM Eclipse Core Tests Plugin/plugins-test-files/plugins.parser.1/");
- } catch (java.net.MalformedURLException mfe) {
- }
- IPluginRegistry registry = doParsing(factory, URLList);
-
- PluginVersionIdentifier v1;
- PluginVersionIdentifier v2;
-
- v1 = null;
- try {
- v1 = new PluginVersionIdentifier("1");
- } catch (Throwable e) {
- Assert.fail("1.1.0 " + e);
- }
- assertTrue("1.1.1", v1 != null);
- assertTrue("1.1.2", v1.getMajorComponent() == 1);
- assertTrue("1.1.3", v1.getMinorComponent() == 0);
- assertTrue("1.1.4", v1.getServiceComponent() == 0);
- assertTrue("1.1.5", v1.equals(new PluginVersionIdentifier(v1.toString())));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.0");
- } catch (Throwable e) {
- Assert.fail("1.2.0 " + e);
- }
- assertTrue("1.2.1", v2 != null);
- assertTrue("1.2.2", v2.getMajorComponent() == 1);
- assertTrue("1.2.3", v2.getMinorComponent() == 0);
- assertTrue("1.2.4", v2.getServiceComponent() == 0);
- assertTrue("1.2.5", v2.equals(new PluginVersionIdentifier(v2.toString())));
- assertTrue("1.2.6", v2.equals(v1));
- assertTrue("1.2.7", v2.isCompatibleWith(v1));
- assertTrue("1.2.8", v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.0.0");
- } catch (Throwable e) {
- Assert.fail("1.3.0 " + e);
- }
- assertTrue("1.3.1", v2 != null);
- assertTrue("1.3.2", v2.getMajorComponent() == 1);
- assertTrue("1.3.3", v2.getMinorComponent() == 0);
- assertTrue("1.3.4", v2.getServiceComponent() == 0);
- assertTrue("1.3.5", v2.equals(new PluginVersionIdentifier(v2.toString())));
- assertTrue("1.3.6", v2.equals(v1));
- assertTrue("1.3.7", v2.isCompatibleWith(v1));
- assertTrue("1.3.8", v2.isEquivalentTo(v1));
-
- v1 = null;
- v2 = null;
- try {
- v1 = new PluginVersionIdentifier("1.2.3");
- } catch (Throwable e) {
- Assert.fail("1.4.0 " + e);
- }
- try {
- v2 = new PluginVersionIdentifier("1.2.3");
- } catch (Throwable e) {
- Assert.fail("1.4.1 " + e);
- }
- assertTrue("1.4.2", v2.equals(v1));
- assertTrue("1.4.3", v2.isCompatibleWith(v1));
- assertTrue("1.4.4", v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.2.4");
- } catch (Throwable e) {
- Assert.fail("1.5.1 " + e);
- }
- assertTrue("1.5.2", !v2.equals(v1));
- assertTrue("1.5.3", v2.isCompatibleWith(v1));
- assertTrue("1.5.4", v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.2.2");
- } catch (Throwable e) {
- Assert.fail("1.6.1 " + e);
- }
- assertTrue("1.6.2", !v2.equals(v1));
- assertTrue("1.6.3", !v2.isCompatibleWith(v1));
- assertTrue("1.6.4", !v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.3.3");
- } catch (Throwable e) {
- Assert.fail("1.7.1 " + e);
- }
- assertTrue("1.7.2", !v2.equals(v1));
- assertTrue("1.7.3", v2.isCompatibleWith(v1));
- assertTrue("1.7.4", !v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.3.4");
- } catch (Throwable e) {
- Assert.fail("1.8.1 " + e);
- }
- assertTrue("1.8.2", !v2.equals(v1));
- assertTrue("1.8.3", v2.isCompatibleWith(v1));
- assertTrue("1.8.4", !v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("1.3.2");
- } catch (Throwable e) {
- Assert.fail("1.9.1 " + e);
- }
- assertTrue("1.9.2", !v2.equals(v1));
- assertTrue("1.9.3", v2.isCompatibleWith(v1));
- assertTrue("1.9.4", !v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("2.2.3");
- } catch (Throwable e) {
- Assert.fail("1.10.1 " + e);
- }
- assertTrue("1.10.2", !v2.equals(v1));
- assertTrue("1.10.3", !v2.isCompatibleWith(v1));
- assertTrue("1.10.4", !v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("2.2.4");
- } catch (Throwable e) {
- Assert.fail("1.11.1 " + e);
- }
- assertTrue("1.11.2", !v2.equals(v1));
- assertTrue("1.11.3", !v2.isCompatibleWith(v1));
- assertTrue("1.11.4", !v2.isEquivalentTo(v1));
-
- v2 = null;
- try {
- v2 = new PluginVersionIdentifier("2.2.2");
- } catch (Throwable e) {
- Assert.fail("1.12.1 " + e);
- }
- assertTrue("1.12.2", !v2.equals(v1));
- assertTrue("1.12.3", !v2.isCompatibleWith(v1));
- assertTrue("1.12.4", !v2.isEquivalentTo(v1));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java
deleted file mode 100644
index d947708..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndPluginLocalAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndPluginLocalAndPrimaryFeatureTest() {
- super(null);
-}
-public CmdLineAndPluginLocalAndPrimaryFeatureTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndPluginLocalAndPrimaryFeature() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // Preferences in the file specified by -pluginCustomization
- // command line parameter and in the plugin state area
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndPluginLocalAndPrimaryFeature");
- Preferences prefs = null;
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
- String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destName);
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Four default preferences", defaultNames.length == 4);
- assertTrue("1.1 No explicit preferences", prefNames.length == 0);
- // Do we have the right names for the default preferences?
- boolean foundCommandLinePreference = false;
- boolean foundPluginLocalPreference = false;
- boolean foundPrimaryFeaturePreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCmdLineAndPluginLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("1.2 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference && foundPrimaryFeaturePreference);
- // Check preference values
- assertTrue("1.3 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.4 commonCmdLineAndPluginLocalAndPrimaryFeaturePreference value",
- prefs.getString("commonCmdLineAndPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the command line via the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.5 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.6 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndPluginLocalAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java
deleted file mode 100644
index 081624f..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPluginLocalTest.java
+++ /dev/null
@@ -1,65 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLineAndPluginLocalTest extends WorkspaceSessionTest {
-
-public CmdLineAndPluginLocalTest() {
- super(null);
-}
-public CmdLineAndPluginLocalTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndPluginLocal() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // Preferences in the file specified by -pluginCustomization
- // command line parameter and in the plugin state area
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndPluginLocal");
- Preferences prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Three default preferences", defaultNames.length == 3);
- assertTrue("1.1 No explicit preferences", prefNames.length == 0);
- // Do we have the right names for the default preferences?
- boolean foundPluginLocalPreference = false;
- boolean foundCommonPreference = false;
- boolean foundCommandLinePreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCmdLineAndPluginLocalPreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- }
- assertTrue("1.2 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference);
- // Check preference values
- assertTrue("1.3 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndPluginLocal"));
- assertTrue("1.4 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndPluginLocal"));
- assertTrue("1.5 commonCmdLineAndPluginLocalPreference value",
- prefs.getString("commonCmdLineAndPluginLocalPreference").equals("Common preference from the command line via the plugin cmdLineAndPluginLocal"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java
deleted file mode 100644
index 70e6feb..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndPrimaryFeatureTest() {
- super(null);
-}
-public CmdLineAndPrimaryFeatureTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndPrimaryFeature() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // Preferences in the file specified by -pluginCustomization
- // command line parameter and in the plugin state area
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndPrimaryFeature");
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
- String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destName);
- Preferences prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Three default preferences", defaultNames.length == 3);
- assertTrue("1.1 No explicit preferences", prefNames.length == 0);
- // Do we have the right names for the default preferences?
- boolean foundPrimaryFeaturePreference = false;
- boolean foundCommonPreference = false;
- boolean foundCommandLinePreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCmdLineAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("1.2 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference && foundPrimaryFeaturePreference);
- // Check preference values
- assertTrue("1.3 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndPrimaryFeature"));
- assertTrue("1.4 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndPrimaryFeature"));
- assertTrue("1.4 commonCmdLineAndPrimaryFeaturePreference value",
- prefs.getString("commonCmdLineAndPrimaryFeaturePreference").equals("Common preference from the command line via the plugin cmdLineAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java
deleted file mode 100644
index b834709..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,105 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest() {
- super(null);
-}
-public CmdLineAndStateAndPluginLocalAndPrimaryFeatureTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndStateAndPluginLocalAndPrimaryFeature() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndStateAndPluginLocalAndPrimaryFeature");
- Preferences prefs = null;
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destString);
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
- String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destName);
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Four default preferences", defaultNames.length == 4);
- assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the default preferences?
- boolean foundStatePreference = false;
- boolean foundCommandLinePreference = false;
- boolean foundPluginLocalPreference = false;
- boolean foundPrimaryFeaturePreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("1.2 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference && foundPrimaryFeaturePreference);
- // Do we have the right names for the explicit preferences?
- foundStatePreference = false;
- foundCommandLinePreference = false;
- foundPluginLocalPreference = false;
- foundPrimaryFeaturePreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStatePreference = true;
- else if (prefNames[i].equals("commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- }
- assertTrue("1.3 Got right explicit preference names",
- foundStatePreference && foundCommonPreference);
- // Check preference values
- assertTrue("1.4 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.5 commonCmdLineAndPluginLocalAndPrimaryFeaturePreference value",
- prefs.getString("commonCmdLineAndStateAndPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.6 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.7 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
- assertTrue("1.8 StatePreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndStateAndPluginLocalAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java
deleted file mode 100644
index 37afeaf..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPluginLocalTest.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLineAndStateAndPluginLocalTest extends WorkspaceSessionTest {
-
-public CmdLineAndStateAndPluginLocalTest() {
- super(null);
-}
-public CmdLineAndStateAndPluginLocalTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndStateAndPluginLocal() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // Preferences in the file specified by -pluginCustomization
- // command line parameter and in the plugin state area
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndStateAndPluginLocal");
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destString);
- Preferences prefs = runtimePlugin.getPluginPreferences();
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Three default preferences", defaultNames.length == 3);
- assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- boolean foundStateLocalPreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonCommandLineAndStateAndPluginLocalPreference"))
- foundCommonPreference = true;
- }
- assertTrue("1.2 Got right explicit preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- boolean foundCommandLinePreference = false;
- boolean foundPluginLocalPreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCommandLineAndStateAndPluginLocalPreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- }
- assertTrue("1.3 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference && foundPluginLocalPreference);
- // Check preference values
- assertTrue("1.4 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndStateAndPluginLocal"));
- assertTrue("1.5 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndStateAndPluginLocal"));
- assertTrue("1.6 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin cmdLineAndStateAndPluginLocal"));
- assertTrue("1.7 commonCommandLineAndStateAndPluginLocalPreference value",
- prefs.getString("commonCommandLineAndStateAndPluginLocalPreference").equals("Common preference from the plugin state area of plugin cmdLineAndStateAndPluginLocal"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java
deleted file mode 100644
index 170e7b3..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateAndPrimaryFeatureTest.java
+++ /dev/null
@@ -1,99 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-
-
-public class CmdLineAndStateAndPrimaryFeatureTest extends PrimaryFeaturePreferenceHelperTests {
-
-public CmdLineAndStateAndPrimaryFeatureTest() {
- super(null);
-}
-public CmdLineAndStateAndPrimaryFeatureTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndStateAndPrimaryFeature() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndStateAndPrimaryFeature");
- Preferences prefs = null;
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destString);
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
- String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destName);
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Three default preferences", defaultNames.length == 3);
- assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the default preferences?
- boolean foundStatePreference = false;
- boolean foundCommandLinePreference = false;
- boolean foundPrimaryFeaturePreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCmdLineAndStateAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("1.2 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference && foundPrimaryFeaturePreference);
- // Do we have the right names for the explicit preferences?
- foundStatePreference = false;
- foundCommandLinePreference = false;
- foundPrimaryFeaturePreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStatePreference = true;
- else if (prefNames[i].equals("commonCmdLineAndStateAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- }
- assertTrue("1.3 Got right explicit preference names",
- foundStatePreference && foundCommonPreference);
- // Check preference values
- assertTrue("1.4 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndStateAndPrimaryFeature"));
- assertTrue("1.5 commonCmdLineAndPrimaryFeaturePreference value",
- prefs.getString("commonCmdLineAndStateAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin cmdLineAndStateAndPrimaryFeature"));
- assertTrue("1.6 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin cmdLineAndStateAndPrimaryFeature"));
- assertTrue("1.7 StatePreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndStateAndPrimaryFeature"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java
deleted file mode 100644
index c8da937..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLineAndStateTest.java
+++ /dev/null
@@ -1,79 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLineAndStateTest extends WorkspaceSessionTest {
-
-public CmdLineAndStateTest() {
- super(null);
-}
-public CmdLineAndStateTest(String name) {
- super(name);
-}
-
-public void testCmdLineAndState() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // Preferences in the file specified by -pluginCustomization
- // command line parameter and in the plugin state area
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("cmdLineAndState");
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- PreferencesRuntimeTests.copyFile(sourceName, destString);
- Preferences prefs = runtimePlugin.getPluginPreferences();
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 Two default preferences", defaultNames.length == 2);
- assertTrue("1.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- boolean foundStateLocalPreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonCommandLineAndStatePreference"))
- foundCommonPreference = true;
- }
- assertTrue("1.2 Got right explicit preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- boolean foundCommandLinePreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("CommandLinePreference"))
- foundCommandLinePreference = true;
- else if (defaultNames[i].equals("commonCommandLineAndStatePreference"))
- foundCommonPreference = true;
- }
- assertTrue("1.3 Got right default preference names",
- foundCommandLinePreference && foundCommonPreference);
- // Check preference values
- assertTrue("1.4 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin cmdLineAndState"));
- assertTrue("1.5 CommandLinePreference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file via the plugin cmdLineAndState"));
- assertTrue("1.6 commonCommandLineAndStatePreference value",
- prefs.getString("commonCommandLineAndStatePreference").equals("Common preference from the plugin state area of plugin cmdLineAndState"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java
deleted file mode 100644
index c43c7b8..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/CmdLinePreferencesTest.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package org.eclipse.core.tests.plugintests;
-
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class CmdLinePreferencesTest extends WorkspaceSessionTest {
-public CmdLinePreferencesTest() {
- super(null);
-}
-public CmdLinePreferencesTest(String name) {
- super(name);
-}
-
-public void testCmdLinePrefsOnly() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // Check the case where the -pluginCustomization command line
- // parameter has been used.
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("commandLinePluginPreferences");
- Preferences prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
-
- assertTrue("1.1 One default preference", defaultNames.length == 1);
- assertTrue("1.2 No explicit preferences", prefNames.length == 0);
- assertTrue("1.3 Preference name", defaultNames[0].equals("CommandLinePreference"));
- assertTrue("1.4 Preference value",
- prefs.getString("CommandLinePreference").equals("From the command line specified file"));
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java
deleted file mode 100644
index 9543642..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/LibraryLookupTests.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.*;
-import org.eclipse.core.internal.boot.InternalBootLoader;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-/**
- */
-public class LibraryLookupTests extends WorkspaceSessionTest {
-public LibraryLookupTests() {
- super(null);
-}
-public LibraryLookupTests(String name) {
- super(name);
-}
-
-public void resourceHelper(IPluginRegistry registry, String pluginName, String errorPrefix, String newKey) {
- IPluginDescriptor plugin = registry.getPluginDescriptor(pluginName);
- assertNotNull(errorPrefix + ".0.resource", plugin);
- // check initial activation state
- assertTrue(errorPrefix + ".1.resource", !plugin.isPluginActivated());
- // Now try to get a resource string from this plugin.
- // This should not cause the plugin to be activated.
- String str = plugin.getResourceString("%key");
- assertTrue(errorPrefix + ".2.resource", !plugin.isPluginActivated());
- assertNotNull(errorPrefix + ".3.resource", str);
- assertTrue(errorPrefix + ".4.resource", str.equals(newKey));
-}
-
-public void testResources() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // PluginA has one plugin.properties file:
- // <pluginRootDirectory>/plugin.properties
- // This should be found and the "%key" translated to
- // "Test string from pluginA root directory".
- resourceHelper(registry, "plugina", "A", "Test string from pluginA root directory");
-
-
- // PluginB has one plugin.properties file:
- // <pluginRootDirectory>/bin/plugin.properties
- // This should be found and the "%key" translated to
- // "Test string from pluginB bin directory".
- resourceHelper(registry, "pluginb", "B", "Test string from pluginB bin directory");
-
- // PluginC has two plugin.properties files:
- // <pluginRootDirectory>/plugin.properties
- // <pluginRootDirectory>/bin/plugin.properties
- // The one in the bin directory should be found first and %key
- // translated to
- // "Test string from pluginC bin directory".
-
- // DDW - We would like to find the bin version first but
- // there is code in PluginDescriptor.ResourceBundle getResourceBundle(Locale)
- // which deliberately puts the plugin root directory at the head
- // of the classpath?!! FIXME
-// resourceHelper(registry, "pluginc", "C", "Test string from pluginC bin directory");
-
- // PluginD has one plugin.properties file:
- // <fragmentRootDirectory>/plugin.properties
- // This should be found and the "%key" translated to
- // "Test string from pluginD fragment root directory".
-
- // DDW FIXME
-// resourceHelper(registry, "plugind", "D", "Test string from pluginD fragment root directory");
-
- // PluginE has one plugin.properties file
- // <fragmentRootDirectory>/bin/plugin.properties
- // This should be found and the "%key" translated to
- // "Test string from pluginE fragment bin directory".
- resourceHelper(registry, "plugine", "E", "Test string from pluginE fragment bin directory");
-
- // PluginF has two plugin.properties files
- // <fragmentRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the bin directory should be found first and %key
- // translated to
- // "Test string from pluginF fragment bin directory".
- resourceHelper(registry, "pluginf", "F", "Test string from pluginF fragment bin directory");
-
- // PluginG has two plugin.properties files
- // <pluginRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/plugin.properties
- // The one in the root directory should be found first and %key
- // translated to
- // "Test string from pluginG root directory".
- resourceHelper(registry, "pluging", "G", "Test string from pluginG root directory");
-
- // PluginH has two plugin.properties files
- // <pluginRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the root directory should be found first and %key
- // translated to
- // "Test string from pluginH root directory".
- resourceHelper(registry, "pluginh", "H", "Test string from pluginH root directory");
-
- // PluginI has two plugin.properties files
- // <pluginRootDirectory>/bin/plugin.properties
- // <fragmentRootDirectory>/plugin.properties
- // The one in the plugin bin directory should be found first and %key
- // translated to
- // "Test string from pluginI bin directory".
- resourceHelper(registry, "plugini", "I", "Test string from pluginI bin directory");
-
- // PluginJ has two plugin.properties files
- // <pluginRootDirectory>/bin/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the plugin bin directory should be found first and %key
- // translated to
- // "Test string from pluginJ bin directory".
- resourceHelper(registry, "pluginj", "J", "Test string from pluginJ bin directory");
-
- // PluginK has three plugin.properties files
- // <pluginRootDirectory>/plugin.properties
- // <pluginRootDirectory>/bin/plugin.properties
- // <fragmentRootDirectory>/plugin.properties
- // The one in the plugin root directory should be found first and %key
- // translated to
- // "Test string from pluginK root directory".
- resourceHelper(registry, "plugink", "K", "Test string from pluginK root directory");
-
- // PluginL has three plugin.properties files
- // <pluginRootDirectory>/plugin.properties
- // <pluginRootDirectory>/bin/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the plugin root directory should be found first and %key
- // translated to
- // "Test string from pluginL root directory".
- resourceHelper(registry, "pluginl", "L", "Test string from pluginL root directory");
-
- // PluginM has three plugin.properties files
- // <pluginRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the plugin root directory should be found first and %key
- // translated to
- // "Test string from pluginM root directory".
- resourceHelper(registry, "pluginm", "M", "Test string from pluginM root directory");
-
- // PluginN has three plugin.properties files
- // <pluginRootDirectory>/bin/plugin.properties
- // <fragmentRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the plugin bin directory should be found first and %key
- // translated to
- // "Test string from pluginN bin directory".
- resourceHelper(registry, "pluginn", "N", "Test string from pluginN bin directory");
-
- // PluginH has four plugin.properties files
- // <pluginRootDirectory>/plugin.properties
- // <pluginRootDirectory>/bin/plugin.properties
- // <fragmentRootDirectory>/plugin.properties
- // <fragmentRootDirectory>/bin/plugin.properties
- // The one in the plugin root directory should be found first and %key
- // translated to
- // "Test string from pluginO root directory".
- resourceHelper(registry, "plugino", "O", "Test string from pluginO root directory");
-}
-
-public IPluginDescriptor codeHelper(IPluginRegistry registry, String pluginName, String errorPrefix, String className) {
- IPluginDescriptor plugin = registry.getPluginDescriptor(pluginName);
- assertNotNull(errorPrefix + ".0.code", plugin);
- // check initial activation state
- assertTrue(errorPrefix + ".1.code", !plugin.isPluginActivated());
- // Now try to access the plugin class. This should cause
- // the plugin to be activated.
- Plugin active = null;
- try {
- active = plugin.getPlugin();
- } catch (CoreException ce) {
- fail(errorPrefix + ".2.code Core exception encountered.",ce);
- }
- assertTrue (errorPrefix + ".3.code", active.getClass().getName().equals(className));
- assertTrue(errorPrefix + ".4.code", plugin.isPluginActivated());
- return plugin;
-}
-
-public void testCode() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- String classNamePrefix = "org.eclipse.core.tests.internal.runtimetests.";
- // codePluginA has one jar file
- // <pluginRootDirectory>/codePluginA.jar (with class SampleA).
- codeHelper(registry, "codePluginA", "A", classNamePrefix + "SampleA");
-
- // codePluginB has one jar file
- // <pluginRootDirectory>/bin/codePluginB.jar (with class SampleB).
- codeHelper(registry, "codePluginB", "B", classNamePrefix + "SampleB");
-
- // codePluginC has two jar files
- // <pluginRootDirectory>/codePluginC.jar (with class SampleCPR)
- // <pluginRootDirectory>/bin/codePluginC.jar (with class SampleCPB).
- codeHelper(registry, "codePluginC", "C", classNamePrefix + "SampleCPB");
-
- // codePluginD has one jar file
- // <fragmentRootDirectory>/codePluginD.jar (with class SampleD).
- codeHelper(registry, "codePluginD", "D", classNamePrefix + "SampleD");
-
- // codePluginE has one jar file
- // <fragmentRootDirectory>/bin/codePluginE.jar (with class SampleE).
- codeHelper(registry, "codePluginE", "E", classNamePrefix + "SampleE");
-
- // codePluginF has two jar files
- // <fragmentRootDirectory>/codePluginF.jar (with class SampleFFR)
- // <fragmentRootDirectory>/bin/codePluginF.jar (with class SampleFFB).
- codeHelper(registry, "codePluginF", "F", classNamePrefix + "SampleFFB");
-
- // codePluginG has two jar files
- // <pluginRootDirectory>/codePluginG.jar (with class SampleGPR)
- // <fragmentRootDirectory>/codePluginG.jar (with class SampleGFR).
- codeHelper(registry, "codePluginG", "G", classNamePrefix + "SampleGPR");
-
- // codePluginH has two jar files
- // <pluginRootDirectory>/codePluginH.jar (with class SampleGHPR)
- // <fragmentRootDirectory>/bin/codePluginH.jar (with class SampleHFB).
- codeHelper(registry, "codePluginH", "H", classNamePrefix + "SampleHFB");
-
- // codePluginI has two jar files
- // <pluginRootDirectory>/bin/codePluginI.jar (with class SampleIPB)
- // <fragmentRootDirectory>/codePluginI.jar (with class SampleIFR).
- codeHelper(registry, "codePluginI", "I", classNamePrefix + "SampleIPB");
-
- // codePluginJ has two jar files
- // <pluginRootDirectory>/bin/codePluginJ.jar (with class SampleJPB)
- // <fragmentRootDirectory>/bin/codePluginJ.jar (with class SampleJFB).
- codeHelper(registry, "codePluginJ", "J", classNamePrefix + "SampleJPB");
-
- // codePluginK has three jar files
- // <pluginRootDirectory>/codePluginK.jar (with class SampleKPR)
- // <pluginRootDirectory>/bin/codePluginK.jar (with class SampleKPB)
- // <fragmentRootDirectory>/codePluginK.jar (with class SampleKFR).
- codeHelper(registry, "codePluginK", "K", classNamePrefix + "SampleKPB");
-
- // codePluginL has three jar files
- // <pluginRootDirectory>/codePluginL.jar (with class SampleLPR)
- // <pluginRootDirectory>/bin/codePluginL.jar (with class SampleLPB)
- // <fragmentRootDirectory>/bin/codePluginL.jar (with class SampleLFB).
- codeHelper(registry, "codePluginL", "L", classNamePrefix + "SampleLPB");
-
- // codePluginM has three jar files
- // <pluginRootDirectory>/codePluginM.jar (with class SampleMPR)
- // <fragmentRootDirectory>/codePluginM.jar (with class SampleMFR).
- // <fragmentRootDirectory>/bin/codePluginM.jar (with class SampleMFB).
- codeHelper(registry, "codePluginM", "M", classNamePrefix + "SampleMFB");
-
- // codePluginN has three jar files
- // <pluginRootDirectory>/bin/codePluginN.jar (with class SampleNPB)
- // <fragmentRootDirectory>/codePluginN.jar (with class SampleNFR).
- // <fragmentRootDirectory>/bin/codePluginN.jar (with class SampleNFB).
- codeHelper(registry, "codePluginN", "N", classNamePrefix + "SampleNPB");
-
- // codePluginO has four jar files
- // <pluginRootDirectory>/codePluginO.jar (with class SampleOPR)
- // <pluginRootDirectory>/bin/codePluginO.jar (with class SampleOPB)
- // <fragmentRootDirectory>/codePluginO.jar (with class SampleOFR).
- // <fragmentRootDirectory>/bin/codePluginO.jar (with class SampleOFB).
- codeHelper(registry, "codePluginO", "O", classNamePrefix + "SampleOPB");
-}
-
-public static void copyFile (String sourceName, String destName) {
- // A crude mechanism for creating a preference file
- SafeFileInputStream sourceIn = null;
- SafeFileOutputStream destOut = null;
- try {
- sourceIn = new SafeFileInputStream(sourceName);
- destOut = new SafeFileOutputStream(destName);
- int buffer = sourceIn.read();
- while (buffer != -1) {
- destOut.write(buffer);
- buffer = sourceIn.read();
- }
- } catch (IOException ioe) {
- fail("0.0 Trouble creating file " + destName + " from original file " + sourceName + ".");
- } finally {
- try {
- sourceIn.close();
- destOut.close();
- } catch (IOException e) {
- fail("0.1 Trouble closing file " + destName + " or " + sourceName + ".");
- }
- }
-}
-
-private void deleteDirectory (File directory) {
- String[] files = directory.list();
- if (files == null) {
- directory.delete();
- return;
- }
- for (int i = 0; i < files.length; i++) {
- File newFile = new File(directory, files[i]);
- if (newFile.isFile())
- newFile.delete();
- else if (newFile.isDirectory())
- deleteDirectory(newFile);
- }
- directory.delete();
-}
-
-public void test3093 () {
- /* A plugin/fragment entry like
- * library name="$nl$/"
- * should result in a file: url added on the classpath.
- * The bug indicated that a jar: url was being added.
- */
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
- IPluginDescriptor plugin = registry.getPluginDescriptor("test3093PluginA");
- assertNotNull("1.0", plugin);
- // build the right nl related directory and put the jar file there.
- String nl = InternalBootLoader.getNL();
- nl = nl.replace('_', '/');
- URL pluginRoot = plugin.find(new Path("./"));
- String fullNLDirectory = pluginRoot.getFile() + "nl/" + nl;
- File file = new File(fullNLDirectory);
- try {
- file.mkdirs();
- // Now copy the jar file to the right spot
- String jarSource = null;
- String jarDest = null;
- try {
- jarSource = new URL(pluginRoot, "../../").getFile() + "codePluginA.jar";
- jarDest = new URL(new URL(pluginRoot, "nl/" + nl + "/"), "codePluginA.jar").getFile();
- } catch (MalformedURLException badURL) {
- // just ignore the exception
- }
- copyFile(jarSource, jarDest);
- // Activate this plugin
- try {
- plugin.getPlugin();
- } catch (CoreException ce) {
- fail("1.1 Core exception encountered.",ce);
- }
- URL[] cp = ((URLClassLoader)plugin.getPluginClassLoader()).getURLs();
- assertTrue("1.2 One URL on class path", cp.length == 1);
- // Make sure we have the right protocol (not jar: but file:)
- assertEquals("1.3 Right protocol", cp[0].getProtocol(), "file");
- // Make sure we really picked up the right directory.
- assertEquals("1.4 Contains nl directory", fullNLDirectory + "/", cp[0].getFile());
- } finally {
- // cleanup
- try {
- URL deleteURL = new URL(pluginRoot, "nl");
- deleteDirectory(new File(deleteURL.getFile()));
- } catch (MalformedURLException badURL) {
- // just ignore the bad URL - means we won't cleanup
- }
- }
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java
deleted file mode 100644
index d0bee91..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginFindTests.java
+++ /dev/null
@@ -1,1300 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.HashMap;
-import java.util.Map;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.boot.InternalBootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class PluginFindTests extends WorkspaceSessionTest {
-
- // Set this to true if you want to make sure that this test
- // is really testing all the combinations of directories.
- private boolean verifyCheckingAllCombos = false;
-
-public PluginFindTests() {
- super(null);
-}
-
-public PluginFindTests(String name) {
- super(name);
-}
-
-private void findHelper(String pluginId, String fragmentId, String errorPrefix, String filePrefix, String pluginSubDir, Map override) {
- // Look for a file called <filePrefix>/<pluginId>.txt
- // Make sure this doesn't cause the plugin to be activated.
- // Make sure the data in file looks like:
- // "Test string from " + pluginId + " plugin " + pluginSubDir + " directory."
- // Make sure the file was found in
- // <workspaceRoot>/Plugintests_Testing/FindTests/plugins/<pluginId>/<pluginSubDir>/<pluginId>.txt
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull(errorPrefix + ".0 Can't find plugin " + pluginId);
- // Now make sure we can find the file
- IPath path = null;
- String whichId = pluginId;
- if (fragmentId != null)
- whichId = fragmentId;
- path = new Path(filePrefix + "/" + whichId + ".txt");
- URL result = null;
- if (override == null)
- result = plugin.find(path);
- else
- result = plugin.find(path, override);
- assertTrue(errorPrefix + ".1 Plugin should not be activated", !plugin.isPluginActivated());
- assertNotNull(errorPrefix + ".2 Can't find text file, " + path.toString(), result);
- // Make sure this is the right URL
- String stringResult = result.getFile();
- if (pluginSubDir != null) {
- assertTrue(errorPrefix + ".3 Wrong url - " + stringResult,
- stringResult.endsWith("Plugintests_Testing/FindTests/plugins/" + whichId + "/" + pluginSubDir + "/" + whichId + ".txt"));
- } else {
- assertTrue(errorPrefix + ".3 Wrong url - " + stringResult,
- stringResult.endsWith("Plugintests_Testing/FindTests/plugins/" + whichId + "/" + whichId + ".txt"));
- }
- // And finally, read the file and make sure it is the right one.
- InputStream in = null;
- byte[] buffer = null;
- try {
- in = result.openStream();
- buffer = new byte[in.available()];
- in.read(buffer);
- in.close();
- } catch (IOException ioe) {
- fail(errorPrefix + ".4 IOException reading " + stringResult);
- }
- String dataString = (new String(buffer)).trim();
-
- if (fragmentId == null)
- assertEquals(errorPrefix + ".5 Data string incorrect", "Test string from " + whichId + " plugin " + pluginSubDir + " directory.", dataString);
- else
- assertEquals(errorPrefix + ".5 Data string incorrect", "Test string from " + whichId + " fragment " + pluginSubDir + " directory.", dataString);
-}
-
-private void findFailsHelper(String pluginId, String fragmentId, String errorPrefix, String filePrefix, Map override) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull(errorPrefix + ".0 Can't find plugin " + pluginId);
- String whichId = pluginId;
- if (fragmentId != null)
- whichId = fragmentId;
- // Now make sure we can't find the file
- IPath path = new Path(filePrefix + "/" + whichId + ".txt");
- URL result = null;
- if (override == null)
- result = plugin.find(path);
- else
- result = plugin.find(path, override);
- assertNull(errorPrefix + ".1 Found text file, " + path.toString(), result);
-}
-
-private boolean buildPluginTestFile(String pluginId, String pluginSubDir) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
- URL pluginRoot = plugin.find(new Path("./"));
- File file = null;
- if (pluginSubDir != null) {
- file = new File(pluginRoot.getFile() + pluginSubDir);
- file.mkdirs();
- } else
- file = new File(pluginRoot.getFile());
- // Now build up the file
- File testFile = new File(file, pluginId + ".txt");
- try {
- FileOutputStream fs = new FileOutputStream(testFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("Test string from " + pluginId + " plugin " + pluginSubDir + " directory.");
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to test file " + testFile.getPath());
- return false;
- }
- return true;
-}
-
-private boolean buildFragmentTestFile(String pluginId, String fragmentId, String pluginSubDir) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
- PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
- // Should only be one fragment
- assertEquals("0.2 Fragment mismatch", fragmentId, fragments[0].getId());
- URL fragmentRoot = null;
- try {
- fragmentRoot = new URL(fragments[0].getLocation());
- } catch (MalformedURLException badURL) {
- return false;
- }
- File file = null;
- if (pluginSubDir != null) {
- file = new File(fragmentRoot.getFile() + pluginSubDir);
- file.mkdirs();
- } else
- file = new File(fragmentRoot.getFile());
- // Now build up the file
- File testFile = new File(file, fragmentId + ".txt");
- try {
- FileOutputStream fs = new FileOutputStream(testFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("Test string from " + fragmentId + " fragment " + pluginSubDir + " directory.");
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to test file " + testFile.getPath());
- return false;
- }
- return true;
-}
-
-private String buildNLTestFile(String pluginId, String fragmentId, int chopSegment, String fullNL) {
- // Build up nl related directories and test files
- String nl = fullNL;
- nl = nl.replace('_', '/');
- // Chop off the number of segments stated
- int i = chopSegment;
- while (nl.length() > 0 && i > 0) {
- i--;
- int idx = nl.lastIndexOf('/');
- if (idx != -1)
- nl = nl.substring(0, idx);
- else
- nl = "";
- }
- if ((nl.length() == 0) && (i > 0))
- // We couldn't get rid of all the segments we wanted to
- return null;
- if (fragmentId == null) {
- if (buildPluginTestFile(pluginId, "nl/" + nl))
- return nl;
- } else {
- if (buildFragmentTestFile(pluginId, fragmentId, "nl/" + nl))
- return nl;
- }
- return null;
-}
-/**
- * Build a test file in the OLD nl/en_US form instead of replacing
- * the under-scores with slashes.
- */
-private String buildOldNLTestFile(String pluginId, String fragmentId, int chopSegment, String fullNL) {
- // Build up nl related directories and test files
- String nl = fullNL;
- // Chop off the number of segments stated
- int i = chopSegment;
- while (nl.length() > 0 && i > 0) {
- i--;
- int idx = nl.lastIndexOf('_');
- if (idx != -1)
- nl = nl.substring(0, idx);
- else
- nl = "";
- }
- if ((nl.length() == 0) && (i > 0))
- // We couldn't get rid of all the segments we wanted to
- return null;
- if (fragmentId == null) {
- if (buildPluginTestFile(pluginId, "nl/" + nl))
- return nl;
- } else {
- if (buildFragmentTestFile(pluginId, fragmentId, "nl/" + nl))
- return nl;
- }
- return null;
-}
-
-private String buildOSTestFile(String pluginId, String fragmentId, int chopSegment, String fullOS) {
- // Build up os related directories and test files
- String strOS = fullOS;
- int i = chopSegment;
- while (strOS.length() > 0 && i > 0) {
- i--;
- int idx = strOS.lastIndexOf('/');
- if (idx != -1)
- strOS = strOS.substring(0, idx);
- else
- strOS = "";
- }
- if ((strOS.length() == 0) && (i > 0))
- // We couldn't get rid of all the segments we wanted to
- return null;
- if (fragmentId == null) {
- if (buildPluginTestFile(pluginId, "os/" + strOS))
- return strOS;
- } else {
- if (buildFragmentTestFile(pluginId, fragmentId, "os/" + strOS))
- return strOS;
- }
- return null;
-}
-
-private String buildWSTestFile(String pluginId, String fragmentId, int chopSegments, String ws) {
- // Build up ws related directories and test files
- String localws = ws;
- if (chopSegments > 0)
- localws = "";
- if (fragmentId == null) {
- if (buildPluginTestFile(pluginId, "ws/" + localws))
- return localws;
- } else {
- if (buildFragmentTestFile(pluginId, fragmentId, "ws/" + localws))
- return localws;
- }
- return null;
-}
-
-private void deleteDirectory (File directory) {
- String[] files = directory.list();
- if (files == null) {
- directory.delete();
- return;
- }
- for (int i = 0; i < files.length; i++) {
- File newFile = new File(directory, files[i]);
- if (newFile.isFile())
- newFile.delete();
- else if (newFile.isDirectory())
- deleteDirectory(newFile);
- }
- directory.delete();
-}
-
-private void cleanupTestDirectory (String pluginId, String fragmentId, String testDirectory) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- URL rootDir = null;
- if (fragmentId == null) {
- rootDir = plugin.find(new Path("./"));
- } else {
- PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
- if (fragments.length != 1)
- return;
- try {
- rootDir = new URL(fragments[0].getLocation());
- } catch (MalformedURLException badURL) {
- return;
- }
- }
- if (rootDir == null)
- return;
- String rootString = rootDir.getFile();
- deleteDirectory(new File(rootString + "/" + testDirectory));
-}
-
-public void testFindNothing () {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor("org.eclipse.core.runtime");
- assertNotNull("1.0 can't find runtime plugin descriptor", plugin);
- // Just make sure we handle this gracefully
- URL result = plugin.find(null, null);
- assertNull("1.1 non-null result from null path and override", result);
- // And make sure we handle this one too
- result = plugin.find(null);
- assertNull("1.2 non-null result from null path", result);
- // Bug 14224 indicates that for "" or "/" we gave a
- // NullPointerException. The following tests ensure we catch
- // this.
- // The result should be the root directory for this plugin
- String pluginRoot = ((PluginDescriptor)plugin).getInstallURLInternal().getFile();
- result = plugin.find(new Path(""));
- assertEquals("1.3 find(new Path(\"\")", pluginRoot, result.getFile());
- result = plugin.find(new Path("/"));
- assertEquals("1.4 find(new Path(\"/\")", pluginRoot, result.getFile());
- result = plugin.find(new Path("./"));
- assertEquals("1.5 find(new Path(\"./\")", pluginRoot, result.getFile());
- result = plugin.find(new Path("."));
- assertEquals("1.6 find(new Path(\".\")", pluginRoot, result.getFile());
- result = plugin.find(new Path(".."));
- assertNull("1.7 find(new Path(\"..\")", result);
-}
-
-public void testFindInteresting () {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor("interestingPluginFindTest");
- assertNotNull("1.0 Can't find plugin, interestingPluginFindTest", plugin);
- URL pluginRoot = plugin.find(new Path("./"));
- PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
- assertEquals("1.1 Only one fragment", 1, fragments.length);
- assertEquals("1.2 Fragment id is incorrect", "interestingFragmentFindTest", fragments[0].getId());
- URL fragmentRoot = null;
- try {
- fragmentRoot = new URL(fragments[0].getLocation());
- } catch (MalformedURLException badURL) {
- // ignore bad url
- }
-
- File testFile = null;
- File testDirs = null;
- try {
- // Check for a file in a directory above this plugin's root
- File pluginRootFile = new File(pluginRoot.getFile());
- testFile = new File(pluginRootFile, "../interestingPluginFindTest.txt");
- try {
- FileOutputStream fs = new FileOutputStream(testFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("Test string from interestingPluginFindTest plugin in the .. directory.");
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to test file " + testFile.getPath());
- }
- findFailsHelper("interestingPluginFindTest", null, "1", "..", null);
- testFile.delete();
- testFile = null;
-
- // Check for a file in a directory above the fragment's root
- File fragmentRootFile = new File(fragmentRoot.getFile());
- testFile = new File(fragmentRootFile, "../interestingFragmentFindTest.txt");
- try {
- FileOutputStream fs = new FileOutputStream(testFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("Test string from interestingPluginFindTest fragment in the .. directory.");
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to test file " + testFile.getPath());
- }
- findFailsHelper("interestingPluginFindTest", "interestingFragmentFindTest", "2", "..", null);
- testFile.delete();
-
- // Check for a file in a sibling directory to this plugin
- testDirs = new File(pluginRootFile, "../siblingTestDirectory/");
- testDirs.mkdirs();
- testFile = new File(pluginRootFile, "../siblingTestDirectory/interestingPluginFindTest.txt");
- try {
- FileOutputStream fs = new FileOutputStream(testFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("Test string from interestingPluginFindTest plugin in the ../siblingTestDirectory directory.");
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to test file " + testFile.getPath());
- }
- findFailsHelper("interestingPluginFindTest", null, "3", "../siblingTestDirectory", null);
- deleteDirectory(testDirs);
-
- // Check for a file in a sibling directory to this fragment
- testDirs = new File(pluginRootFile, "../siblingFragmentTestDirectory/");
- testDirs.mkdirs();
- testFile = new File(pluginRootFile, "../siblingFragmentTestDirectory/interestingFragmentFindTest.txt");
- try {
- FileOutputStream fs = new FileOutputStream(testFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("Test string from interestingPluginFindTest fragment in the ../siblingFragmentTestDirectory directory.");
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to test file " + testFile.getPath());
- }
- findFailsHelper("interestingPluginFindTest", "interestingFragmentFindTest", "4", "../siblingFragmentTestDirectory", null);
- deleteDirectory(testDirs);
- } finally {
- if (testFile != null)
- testFile.delete();
- if (testDirs != null)
- deleteDirectory(testDirs);
- }
-
- // try a find when you've given an override but the value
- // is an empty string
- try {
- Map override = new HashMap();
- override.put("$nl$", "");
- String subDirectory = buildNLTestFile("interestingPluginFindTest", null, 0, "ja_XX");
- if (subDirectory != null)
- findFailsHelper("interestingPluginFindTest", null, "5", "$nl$/", override);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build nl test data for interestingPluginFindTest");
- } finally {
- cleanupTestDirectory("interestingPluginFindTest", null, "nl");
- }
-
- // try a find with an override but don't put anything in the
- // override
- try {
- String fullNL = InternalBootLoader.getNL();
- Map override = new HashMap();
- String subDirectory = buildNLTestFile("interestingPluginFindTest", null, 0, fullNL);
- if (subDirectory != null)
- findHelper("interestingPluginFindTest", null, "6", "$nl$", "nl/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build nl test data for interestingPluginFindTest");
- } finally {
- cleanupTestDirectory("interestingPluginFindTest", null, "nl");
- }
-
- // Check for /namelessDirectory
-// findHelper("interestingPluginFindTest", "1", "/namelessDirectory/namelessPluginFind.txt", "Test string from interestingPluginFind plugin namelessDirectory directory.", "interestingPluginFind/namelessDirectory");
-}
-
-public void testRootFind () {
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("rootPluginFindTest", null))
- findHelper("rootPluginFindTest", null, "1", ".", null, null);
- } finally {
- cleanupTestDirectory("rootPluginFindTest", null, "rootPluginFindTest.txt");
- }
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("rootPluginFindTest", "rootFragmentFindTest", null))
- findHelper("rootPluginFindTest", "rootFragmentFindTest", "2", ".", null, null);
- } finally {
- cleanupTestDirectory("rootPluginFindTest", "rootFragmentFindTest", "rootFragmentFindTest.txt");
- }
-}
-
-public void testNLFind() {
- String fullNL = InternalBootLoader.getNL();
- // How many segments in the default locale?
- String nl = InternalBootLoader.getNL();
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- // Build up nl related directories and test files
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", null, 0, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", null, "1", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- if (localeSegments > 1) {
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", null, 1, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", null, "2", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
- }
-
- // Do a find for something in the plugin nl directory
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", null, localeSegments, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("nlPluginFindTest", null, "3", "$nl$", null);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("nlPluginFindTest", null))
- findHelper("nlPluginFindTest", null, "4", "$nl$", null, null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nlPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin ja/CA directory which is a nonsense locale
- try {
- if (buildPluginTestFile("nlPluginFindTest", "nl/ja/CA"))
- findFailsHelper("nlPluginFindTest", null, "5", "$nl$", null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- // Do a find for something in the fragment directory
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 0, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "6", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-
- if (localeSegments > 1) {
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 1, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "7", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.5 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
- }
-
- // Do a find for something in the fragment nl directory
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", localeSegments, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "8", "$nl$", null);
- else
- // We don't expect this one to fail
- fail ("0.6 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", null))
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "9", "$nl$", null, null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nlFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment ja/CA directory which is a nonsense locale
- try {
- if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", "nl/ja/CA"))
- findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "10", "$nl$", null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-}
-public void testNLFindWithOverride() {
- String fullNL = "ja_XX";
- Map override = new HashMap();
- override.put("$nl$", "ja_XX");
- // How many segments in the default locale?
- String nl = "ja_XX";
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- // Build up nl related directories and test files
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", null, 0, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", null, "1", "$nl$", "nl/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- if (localeSegments > 1) {
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", null, 1, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", null, "2", "$nl$", "nl/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
- }
-
- // Do a find for something in the plugin nl directory
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", null, localeSegments, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("nlPluginFindTest", null, "3", "$nl$", override);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("nlPluginFindTest", null))
- findHelper("nlPluginFindTest", null, "4", "$nl$", null, override);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nlPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin ja/CA directory which is a nonsense locale
- try {
- if (buildPluginTestFile("nlPluginFindTest", "nl/ja/CA"))
- findFailsHelper("nlPluginFindTest", null, "5", "$nl$", override);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- // Do a find for something in the fragment directory
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 0, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "6", "$nl$", "nl/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-
- if (localeSegments > 1) {
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 1, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "7", "$nl$", "nl/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.5 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
- }
-
- // Do a find for something in the fragment nl directory
- try {
- String subDirectory = buildNLTestFile("nlPluginFindTest", "nlFragmentFindTest", localeSegments, fullNL);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "8", "$nl$", override);
- else
- // We don't expect this one to fail
- fail ("0.6 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", null))
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "9", "$nl$", null, override);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nlFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment ja/CA directory which is a nonsense locale
- try {
- if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", "nl/ja/CA"))
- findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "10", "$nl$", override);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-}
-/**
- * Test the #find method with the old en_US directory structure. (the new one replaces
- * the under-scores wtih slashes)
- */
-public void _testOldNLFind() {
- String fullNL = BootLoader.getNL();
- // How many segments in the default locale?
- String nl = BootLoader.getNL();
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- // Build up nl related directories and test files
- try {
- String subDirectory = buildOldNLTestFile("nlPluginFindTest", null, 0, fullNL);
- if (subDirectory != null)
- findHelper("nlPluginFindTest", null, "1", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- if (localeSegments > 1) {
- try {
- String subDirectory = buildOldNLTestFile("nlPluginFindTest", null, 1, fullNL);
- if (subDirectory != null)
- findHelper("nlPluginFindTest", null, "2", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
- }
-
- // Do a find for something in the plugin nl directory
- try {
- String subDirectory = buildOldNLTestFile("nlPluginFindTest", null, localeSegments, fullNL);
- if (subDirectory != null)
- findFailsHelper("nlPluginFindTest", null, "3", "$nl$", null);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("nlPluginFindTest", null))
- findHelper("nlPluginFindTest", null, "4", "$nl$", null, null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nlPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin ja/CA directory which is a nonsense locale
- try {
- if (buildPluginTestFile("nlPluginFindTest", "nl/ja/CA"))
- findFailsHelper("nlPluginFindTest", null, "5", "$nl$", null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", null, "nl");
- }
-
- // Do a find for something in the fragment directory
- try {
- String subDirectory = buildOldNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 0, fullNL);
- if (subDirectory != null)
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "6", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-
- if (localeSegments > 1) {
- try {
- String subDirectory = buildOldNLTestFile("nlPluginFindTest", "nlFragmentFindTest", 1, fullNL);
- if (subDirectory != null)
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "7", "$nl$", "nl/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.5 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
- }
-
- // Do a find for something in the fragment nl directory
- try {
- String subDirectory = buildOldNLTestFile("nlPluginFindTest", "nlFragmentFindTest", localeSegments, fullNL);
- if (subDirectory != null)
- findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "8", "$nl$", null);
- else
- // We don't expect this one to fail
- fail ("0.6 Could not build first nl test data for nlPluginFindTest");
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", null))
- findHelper("nlPluginFindTest", "nlFragmentFindTest", "9", "$nl$", null, null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nlFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment ja/CA directory which is a nonsense locale
- try {
- if (buildFragmentTestFile("nlPluginFindTest", "nlFragmentFindTest", "nl/ja/CA"))
- findFailsHelper("nlPluginFindTest", "nlFragmentFindTest", "10", "$nl$", null);
- } finally {
- cleanupTestDirectory("nlPluginFindTest", "nlFragmentFindTest", "nl");
- }
-}
-
-public void testOSFind() {
- String fullOS = InternalBootLoader.getOS() + "/" + InternalBootLoader.getOSArch();
- String subDirectory = null;
- // Do a find for something in the plugin os/* directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", null, 0, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", null, "1", "$os$", "os/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Now chop off a segment
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", null, 1, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", null, "2", "$os$", "os/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Do a find for something in the plugin os directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", null, 2, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("osPluginFindTest", null, "3", "$os$", null);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("osPluginFindTest", null))
- findHelper("osPluginFindTest", null, "4", "$os$", null, null);
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "osPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin os/badOS directory which is a
- // nonsense os
- try {
- if (buildPluginTestFile("osPluginFindTest", "os/badOS"))
- findFailsHelper("osPluginFindTest", null, "5", "$os$", null);
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Do a find for something in the fragment os/* directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 0, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", "osFragmentFindTest", "6", "$os$", "os/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-
- // Get rid of one segment (the osArch portion)
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 1, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", "osFragmentFindTest", "7", "$os$", "os/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.5 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-
- // Do a find for something in the fragment os directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 2, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("osPluginFindTest", "osFragmentFindTest", "8", "$os$", null);
- else
- // We don't expect this one to fail
- fail ("0.6 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", null))
- findHelper("osPluginFindTest", "osFragmentFindTest", "9", "$os$", null, null);
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "osFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment os/badOS directory which is a
- // nonsense os
- try {
- if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", "os/badOS"))
- findFailsHelper("osPluginFindTest", "osFragmentFindTest", "10", "$os$", null);
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-}
-
-public void testOSFindWithOverride() {
- // An impossible combination but the test should work
- String fullOS = "linux/xxi86";
- Map override = new HashMap();
- override.put("$os$", "linux/xxi86");
- String subDirectory = null;
- // Do a find for something in the plugin os/* directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", null, 0, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", null, "1", "$os$", "os/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Now chop off a segment
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", null, 1, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", null, "2", "$os$", "os/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Do a find for something in the plugin os directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", null, 2, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("osPluginFindTest", null, "3", "$os$", override);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("osPluginFindTest", null))
- findHelper("osPluginFindTest", null, "4", "$os$", null, override);
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "osPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin os/badOS directory which is a
- // nonsense os
- try {
- if (buildPluginTestFile("osPluginFindTest", "os/badOS"))
- findFailsHelper("osPluginFindTest", null, "5", "$os$", override);
- } finally {
- cleanupTestDirectory("osPluginFindTest", null, "os");
- }
-
- // Do a find for something in the fragment os/* directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 0, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", "osFragmentFindTest", "6", "$os$", "os/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-
- // Get rid of one segment (the osArch portion)
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 1, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("osPluginFindTest", "osFragmentFindTest", "7", "$os$", "os/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.5 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-
- // Do a find for something in the fragment os directory
- try {
- subDirectory = buildOSTestFile("osPluginFindTest", "osFragmentFindTest", 2, fullOS);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("osPluginFindTest", "osFragmentFindTest", "8", "$os$", override);
- else
- // We don't expect this one to fail
- fail ("0.6 Could not build os test data");
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", null))
- findHelper("osPluginFindTest", "osFragmentFindTest", "9", "$os$", null, override);
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "osFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment os/badOS directory which is a
- // nonsense os
- try {
- if (buildFragmentTestFile("osPluginFindTest", "osFragmentFindTest", "os/badOS"))
- findFailsHelper("osPluginFindTest", "osFragmentFindTest", "10", "$os$", override);
- } finally {
- cleanupTestDirectory("osPluginFindTest", "osFragmentFindTest", "os");
- }
-}
-
-public void testWSFind() {
- String ws = InternalBootLoader.getWS();
- String subDirectory = null;
- // Do a find for something in the plugin ws/* directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", null, 0, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("wsPluginFindTest", null, "1", "$ws$", "ws/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "ws");
- }
-
- // Do a find for something in the plugin ws directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", null, 1, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("wsPluginFindTest", null, "2", "$ws$", null);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "ws");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("wsPluginFindTest", null))
- findHelper("wsPluginFindTest", null, "3", "$ws$", null, null);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "wsPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin ws/badWS directory which is a
- // nonsense ws
- try {
- if (buildPluginTestFile("wsPluginFindTest", "ws/badWS"))
- findFailsHelper("wsPluginFindTest", null, "4", "$ws$", null);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "ws");
- }
-
- // Do a find for something in the fragment ws/* directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 0, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("wsPluginFindTest", "wsFragmentFindTest", "5", "$ws$", "ws/" + subDirectory, null);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
- }
-
- // Do a find for something in the fragment ws directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 1, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "6", "$ws$", null);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", null))
- findHelper("wsPluginFindTest", "wsFragmentFindTest", "7", "$ws$", null, null);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "wsFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment ws/badWS directory which is a
- // nonsense ws
- try {
- if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", "ws/badWS"))
- findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "8", "$ws$", null);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
- }
-}
-
-public void testWSFindWithOverride() {
- // An impossible combination but the test should work
- String ws = "win4k";
- Map override = new HashMap();
- override.put("$ws$", "win4k");
- String subDirectory = null;
- // Do a find for something in the plugin ws/* directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", null, 0, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("wsPluginFindTest", null, "1", "$ws$", "ws/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.1 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "ws");
- }
-
- // Do a find for something in the plugin ws directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", null, 1, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("wsPluginFindTest", null, "2", "$ws$", override);
- else
- // We don't expect this one to fail
- fail ("0.2 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "ws");
- }
-
- // Do a find for something in the plugin root directory
- try {
- if (buildPluginTestFile("wsPluginFindTest", null))
- findHelper("wsPluginFindTest", null, "3", "$ws$", null, override);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "wsPluginFindTest.txt");
- }
-
- // Do a find for something in the plugin ws/badWS directory which is a
- // nonsense ws
- try {
- if (buildPluginTestFile("wsPluginFindTest", "ws/badWS"))
- findFailsHelper("wsPluginFindTest", null, "4", "$ws$", override);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", null, "ws");
- }
-
- // Do a find for something in the fragment ws/* directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 0, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findHelper("wsPluginFindTest", "wsFragmentFindTest", "5", "$ws$", "ws/" + subDirectory, override);
- else
- // We don't expect this one to fail
- fail ("0.3 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
- }
-
- // Do a find for something in the fragment ws directory
- try {
- subDirectory = buildWSTestFile("wsPluginFindTest", "wsFragmentFindTest", 1, ws);
- if (verifyCheckingAllCombos)
- System.out.println ("Testing with subdirectory \"" + subDirectory + "\"");
- if (subDirectory != null)
- findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "6", "$ws$", override);
- else
- // We don't expect this one to fail
- fail ("0.4 Could not build ws test data");
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
- }
-
- // Do a find for something in the fragment root directory
- try {
- if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", null))
- findHelper("wsPluginFindTest", "wsFragmentFindTest", "7", "$ws$", null, override);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "wsFragmentFindTest.txt");
- }
-
- // Do a find for something in the fragment ws/badWS directory which is a
- // nonsense ws
- try {
- if (buildFragmentTestFile("wsPluginFindTest", "wsFragmentFindTest", "ws/badWS"))
- findFailsHelper("wsPluginFindTest", "wsFragmentFindTest", "8", "$ws$", override);
- } finally {
- cleanupTestDirectory("wsPluginFindTest", "wsFragmentFindTest", "ws");
- }
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java
deleted file mode 100644
index 020a506..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PluginTests.java
+++ /dev/null
@@ -1,2152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.*;
-import java.util.MissingResourceException;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.internal.plugins.*;
-import org.eclipse.core.internal.runtime.Policy;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.*;
-import org.eclipse.core.tests.harness.EclipseWorkspaceTest;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXParseException;
-
-public class PluginTests extends EclipseWorkspaceTest {
- PluginDescriptor plugin = null;
- PluginRegistry registry = null;
- InternalFactory factory = null;
-public PluginTests() {
- super(null);
-}
-/**
- * BasicXML constructor comment.
- * @param name java.lang.String
- */
-public PluginTests(String name) {
- super(name);
-}
-/* doParsing
- * This method will parse a series of XML files. The input array should be
- * an array of string buffers where each string buffer is considered a complete
- * XML file. The returning array will have a corresponding plugin descriptor
- * for each of the XML files in the input array
- */
-public PluginRegistry doParsing(InternalFactory factory, String[] localXMLFiles) {
-
- registry = new PluginRegistry();
- if (localXMLFiles == null || localXMLFiles.length == 0)
- return null;
-
- for (int i = 0; i < localXMLFiles.length; i++) {
- String thisXMLString = localXMLFiles[i];
- PluginModel localPlugin = null;
- try {
- ByteArrayInputStream is = new ByteArrayInputStream(thisXMLString.toString().getBytes());
- PluginParser p = new PluginParser(factory);
- localPlugin = p.parsePlugin(new InputSource(is));
- } catch (SAXParseException se) {
- /* exception details logged by parser */
- fail("1.2 SAX Parser exception encountered.", se);
- } catch (Exception e) {
- fail("1.3 ", e);
- }
- if (localPlugin instanceof PluginDescriptorModel) {
- registry.addPlugin((PluginDescriptorModel)localPlugin);
- } else {
- registry.addFragment((PluginFragmentModel)localPlugin);
- }
- localPlugin.setRegistry(registry);
- }
- return registry;
-}
-public String[] extensionPointSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("First test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[2];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("first");
- pluginExtensionPoints[0].setParentPluginDescriptor(plugin);
- pluginExtensionPoints[0].setSchema("some schema name");
- pluginExtensionPoints[1].setName("Second Extension Point");
- pluginExtensionPoints[1].setParentPluginDescriptor(plugin);
- pluginExtensionPoints[1].setId("second");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* extensionPointTest
- * Tests to ensure we create extension point entries and populate them correctly.
- * Note that this test will NOT ensure that we correctly link related extensions
- * and extension points. This will be done in a different test
- */
-public void extensionPointTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extensionPointSetup();
- registry = doParsing(factory, localXMLFiles);
-
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
- // Check both the read-only accessors and the read-write accessors
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Runtime List", pluginList[0].getRuntime());
- assertNull("2.7 Requires List", pluginList[0].getRequires());
- assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Now check the same things but with the read-only accessors
- assertEquals("2.11 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("2.12 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("2.13 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("2.14 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("2.15 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
- assertEquals("2.16 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("2.17 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("2.18 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("2.19 Plugin Location", ROPluginList[0].getInstallURL());
-
- // Now check the extension points
- ExtensionPointModel[] extPtList = pluginList[0].getDeclaredExtensionPoints();
- assertNotNull("3.1 Extension Point list null", extPtList);
- assertEquals("3.2 Number of extension points", extPtList.length, 2);
- IExtensionPoint[] ROExtPtList = ROPluginList[0].getExtensionPoints();
- assertNotNull("3.1 Extension Point list null", ROExtPtList);
- assertEquals("3.2 Number of extension points", ROExtPtList.length, 2);
-
- ExtensionPoint[] originalExtPts = (ExtensionPoint[]) plugin.getDeclaredExtensionPoints();
-
- // Make sure the values in this extension points are correct
- assertNotNull("4.1 Extension Point config. elements", ROExtPtList[0].getConfigurationElements());
- assertNotNull("4.2 Extension Point plugin", ROExtPtList[0].getDeclaringPluginDescriptor());
- IExtension extensions[] = ROExtPtList[0].getExtensions();
- assertNotNull("4.3 Extension Point extensions", extensions);
- if (extensions.length > 0)
- assertNotNull("4.4 Retrive extension",ROExtPtList[0].getExtension(extensions[0].getUniqueIdentifier()));
- assertEquals("4.5 Extension Point label", ROExtPtList[0].getLabel(), originalExtPts[0].getName());
- assertEquals("4.6 Extension Point schema", extPtList[0].getSchema(), originalExtPts[0].getSchema());
- assertEquals("4.7 Extension Point simple id", ROExtPtList[0].getSimpleIdentifier(), originalExtPts[0].getId());
- assertEquals("4.8 Extension Point unique id", ROExtPtList[0].getUniqueIdentifier(), originalExtPts[0].getUniqueIdentifier());
- assertEquals("4.9 Extension Point name", extPtList[0].getName(), originalExtPts[0].getName());
- assertEquals("4.10 Extension Point id", extPtList[0].getId(), originalExtPts[0].getId());
-
- // And check the 2nd requires element too
- assertNotNull("5.1 Extension Point config. elements", ROExtPtList[1].getConfigurationElements());
- assertNotNull("5.2 Extension Point plugin", ROExtPtList[1].getDeclaringPluginDescriptor());
- IExtension extensions2[] = ROExtPtList[1].getExtensions();
- assertNotNull("5.3 Extension Point extensions", extensions2);
- if (extensions2.length > 0)
- assertNotNull("5.4 Retrive extension",ROExtPtList[1].getExtension(extensions2[0].getUniqueIdentifier()));
- assertEquals("5.5 Extension Point label", ROExtPtList[1].getLabel(), originalExtPts[1].getName());
- assertEquals("5.6 Extension Point schema", extPtList[1].getSchema(), originalExtPts[1].getSchema());
- assertEquals("5.7 Extension Point simple id", ROExtPtList[1].getSimpleIdentifier(), originalExtPts[1].getId());
- assertEquals("5.8 Extension Point unique id", ROExtPtList[1].getUniqueIdentifier(), originalExtPts[1].getUniqueIdentifier());
- assertEquals("5.9 Extension Point name", extPtList[1].getName(), originalExtPts[1].getName());
- assertEquals("5.10 Extension Point id", extPtList[1].getId(), originalExtPts[1].getId());
-
- factory = null;
-}
-public String[] extensionSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Extension[] pluginExtensions = new Extension[3];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("First Extension Point");
-
- pluginExtensions[1].setExtensionPoint("Second Extension Point");
-
- pluginExtensions[2].setExtensionPoint("Third Extension Point");
-
- // First group of properties
- ConfigurationProperty[] propertyGroup1 = new ConfigurationProperty[2];
- for (int i = 0; i < propertyGroup1.length; i++) {
- propertyGroup1[i] = new ConfigurationProperty();
- }
- propertyGroup1[0].setName("id");
- propertyGroup1[0].setValue("category_id");
- propertyGroup1[1].setName("name");
- propertyGroup1[1].setValue("category_name");
- // Second group of properties
- ConfigurationProperty[] propertyGroup2 = new ConfigurationProperty[3];
- for (int i = 0; i < propertyGroup2.length; i++) {
- propertyGroup2[i] = new ConfigurationProperty();
- }
- propertyGroup2[0].setName("id");
- propertyGroup2[0].setValue("wizard_id");
- propertyGroup2[1].setName("name");
- propertyGroup2[1].setValue("wizard_name");
- propertyGroup2[2].setName("class");
- propertyGroup2[2].setValue("wizard_class");
- // Third group of properties
- ConfigurationProperty[] propertyGroup3 = new ConfigurationProperty[1];
- for (int i = 0; i < propertyGroup3.length; i++) {
- propertyGroup3[i] = new ConfigurationProperty();
- }
- propertyGroup3[0].setName("class");
- propertyGroup3[0].setValue("a selection class");
-
- // First subelement group
- ConfigurationElement[] subElementGroup1 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup1.length; i++) {
- subElementGroup1[i] = new ConfigurationElement();
- subElementGroup1[i].setParent(pluginExtensions[2]);
- }
- subElementGroup1[0].setName("category");
- subElementGroup1[0].setProperties(propertyGroup1);
-
- subElementGroup1[1].setName("wizard");
- subElementGroup1[1].setProperties(propertyGroup2);
-
- // Second subelement group
- ConfigurationElement[] subElementGroup2 = new ConfigurationElement[2];
- for (int i = 0; i < subElementGroup2.length; i++) {
- subElementGroup2[i] = new ConfigurationElement();
- subElementGroup2[i].setParent(subElementGroup1[1]);
- }
- subElementGroup2[0].setName("description");
- subElementGroup2[0].setValue("This is just a description");
- subElementGroup2[1].setName("selection");
- subElementGroup2[1].setProperties(propertyGroup3);
-
- // Now link them together
- subElementGroup1[1].setSubElements(subElementGroup2);
- pluginExtensions[2].setSubElements(subElementGroup1);
- plugin.setDeclaredExtensions(pluginExtensions);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* extensionTest
- * Tests to ensure we create extension entries and populate them correctly.
- * Note that this test will NOT ensure that we correctly link related extensions
- * and extension points. This will be done in a different test
- */
-public void extensionTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extensionSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Runtime List", pluginList[0].getRuntime());
- assertNull("2.7 Requires List", pluginList[0].getRequires());
- assertNull("2.8 Extension Point List", pluginList[0].getDeclaredExtensionPoints());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Repeat for read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("3.7 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("3.8 Extension Point List", ROPluginList[0].getExtensionPoints().length, 0);
- assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
- // Now check the extension points
- ExtensionModel[] extensionList = pluginList[0].getDeclaredExtensions();
- IExtension[] ROExtensionList = ROPluginList[0].getExtensions();
- assertNotNull("4.1 Extension list null", extensionList);
- assertEquals("4.2 Number of extensions", extensionList.length, 3);
- assertNotNull("4.3 Extension list null", ROExtensionList);
- assertEquals("4.4 Number of extensions", ROExtensionList.length, 3);
-
- ExtensionModel[] originalExtensions = plugin.getDeclaredExtensions();
-
- // Make sure the values in this extension are correct
- assertEquals("5.1 Extension name", extensionList[0].getName(), originalExtensions[0].getName());
- assertEquals("5.2 Extension id", extensionList[0].getId(), originalExtensions[0].getId());
- assertEquals("5.3 Extension extension point", extensionList[0].getExtensionPoint(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
- assertEquals("5.4 Extension name", ROExtensionList[0].getLabel(), originalExtensions[0].getName());
- assertEquals("5.5 Extension id", ROExtensionList[0].getSimpleIdentifier(), originalExtensions[0].getId());
- assertEquals("5.6 Extension extension point", ROExtensionList[0].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[0].getExtensionPoint());
- assertNotNull("5.7 Extension plugin", ROExtensionList[0].getDeclaringPluginDescriptor());
-
- // And check the 2nd extension too
- assertEquals("6.1 Extension name", extensionList[1].getName(), originalExtensions[1].getName());
- assertEquals("6.2 Extension id", extensionList[1].getId(), originalExtensions[1].getId());
- assertEquals("6.3 Extension extension point", extensionList[1].getExtensionPoint(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
- assertEquals("6.4 Extension name", ROExtensionList[1].getLabel(), "");
- assertEquals("6.5 Extension id", ROExtensionList[1].getSimpleIdentifier(), originalExtensions[1].getId());
- assertEquals("6.6 Extension extension point", ROExtensionList[1].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[1].getExtensionPoint());
- assertNotNull("6.7 Extension plugin", ROExtensionList[1].getDeclaringPluginDescriptor());
-
- // Finally check the 3rd extension (which is the most complex)
- assertEquals("7.1 Extension name", extensionList[2].getName(), originalExtensions[2].getName());
- assertEquals("7.2 Extension id", extensionList[2].getId(), originalExtensions[2].getId());
- assertEquals("7.3 Extension extension point", extensionList[2].getExtensionPoint(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
- assertEquals("7.4 Extension name", ROExtensionList[2].getLabel(), "");
- assertEquals("7.5 Extension id", ROExtensionList[2].getSimpleIdentifier(), originalExtensions[2].getId());
- assertEquals("7.6 Extension extension point", ROExtensionList[2].getExtensionPointUniqueIdentifier(), plugin.getId() + "." + originalExtensions[2].getExtensionPoint());
- assertNotNull("7.7 Extension plugin", ROExtensionList[2].getDeclaringPluginDescriptor());
-
- // Now comes the fun part. Check the structure that hangs off this extension
- ConfigurationElementModel[] subElements = extensionList[2].getSubElements();
- IConfigurationElement ROSubElements[] = ROExtensionList[2].getConfigurationElements();
- ConfigurationElement[] originalSubElements = (ConfigurationElement[]) originalExtensions[2].getSubElements();
- assertNotNull("8.1 First level subelements null", subElements);
- assertEquals("8.2 Number of subelements", subElements.length, 2);
- assertNotNull("8.3 First level subelements null", ROSubElements);
- assertEquals("8.4 Number of subelements", ROSubElements.length, 2);
-
- // First, there should be 2 subelements: category and wizard
- assertEquals("9.1 First level subelements name", subElements[0].getName(), originalSubElements[0].getName());
- assertEquals("9.2 First level subelements name", subElements[1].getName(), originalSubElements[1].getName());
- assertEquals("9.3 First level subelements name", ROSubElements[0].getName(), originalSubElements[0].getName());
- assertEquals("9.4 First level subelements name", ROSubElements[1].getName(), originalSubElements[1].getName());
-
- // Now check the first property group (off the 'category' subelement)
- // Note there is no read-only version of a configuration property
- ConfigurationPropertyModel[] properties = subElements[0].getProperties();
- ConfigurationProperty[] originalProperties = (ConfigurationProperty[]) originalSubElements[0].getProperties();
-
- // There should be 2 properties: id and name
- assertNotNull("10.1 Property Group 1 null", properties);
- assertEquals("10.2 Number of properties", properties.length, 2);
- assertEquals("10.3 Property Group 1 - name", properties[0].getName(), originalProperties[0].getName());
- assertEquals("10.4 Property Group 1 - value", properties[0].getValue(), originalProperties[0].getValue());
- assertEquals("10.5 Property Group 1 - name", properties[1].getName(), originalProperties[1].getName());
- assertEquals("10.6 Property Group 1 - value", properties[1].getValue(), originalProperties[1].getValue());
-
- // Check the second property group (off the 'wizard' subelement)
- properties = subElements[1].getProperties();
- originalProperties = (ConfigurationProperty[]) originalSubElements[1].getProperties();
- assertNotNull("11.1 Property Group 2 null", properties);
- assertEquals("11.2 Number of properties", properties.length, 3);
- assertEquals("11.3 Property Group 2 - name", properties[0].getName(), originalProperties[0].getName());
- assertEquals("11.4 Property Group 2 - value", properties[0].getValue(), originalProperties[0].getValue());
- assertEquals("11.5 Property Group 2 - name", properties[1].getName(), originalProperties[1].getName());
- assertEquals("11.6 Property Group 2 - value", properties[1].getValue(), originalProperties[1].getValue());
- assertEquals("11.7 Property Group 2 - name", properties[2].getName(), originalProperties[2].getName());
- assertEquals("11.8 Property Group 2 - value", properties[2].getValue(), originalProperties[2].getValue());
-
- // The 'wizard' subelement has 2 subelements that hang off it: description and selection
- ConfigurationElementModel[] subElements2 = subElements[1].getSubElements();
- ConfigurationElement[] originalSubElements2 = (ConfigurationElement[]) originalSubElements[1].getSubElements();
- IConfigurationElement ROSubElements2[] = ROSubElements[1].getChildren();
- assertNotNull("12.1 Second level subelements null", subElements2);
- assertEquals("12.2 Number of subelements", subElements2.length, 2);
- assertNotNull("12.3 Second level subelements null", ROSubElements2);
- assertEquals("12.4 Number of subelements", ROSubElements2.length, 2);
-
- // Check for 'description' and 'selection'
- assertEquals("13.1 Second level subelements name", subElements2[0].getName(), originalSubElements2[0].getName());
- assertEquals("13.2 Second level subelements value", subElements2[0].getValue(), originalSubElements2[0].getValue());
- assertEquals("13.3 Second level subelements name", subElements2[1].getName(), originalSubElements2[1].getName());
- assertEquals("13.4 Second level subelements name", ROSubElements2[0].getName(), originalSubElements2[0].getName());
- assertEquals("13.5 Second level subelements value", ROSubElements2[0].getValue(), originalSubElements2[0].getValue());
- assertEquals("13.6 Second level subelements name", ROSubElements2[1].getName(), originalSubElements2[1].getName());
-
- // The last of the second level subelements (selection) has a single property
- properties = subElements2[1].getProperties();
- originalProperties = (ConfigurationProperty[]) originalSubElements2[1].getProperties();
- assertNotNull("14.1 Property Group 3 null", properties);
- assertEquals("14.2 Number of properties", properties.length, 1);
- assertEquals("14.3 Property Group 3 - name", properties[0].getName(), originalProperties[0].getName());
- assertEquals("14.4 Property Group 3 - value", properties[0].getValue(), originalProperties[0].getValue());
-
- factory = null;
-}
-public String[] extExtPtLinkSetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[2];
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("abc1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Extension[] pluginExtensions = new Extension[4];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("abc1.firstExtPt");
- pluginExtensions[1].setName("Second Extension");
- pluginExtensions[1].setId("second");
- pluginExtensions[1].setExtensionPoint("abc1.secondExtPt");
- pluginExtensions[2].setName("Third Extension");
- pluginExtensions[2].setId("third");
- pluginExtensions[2].setExtensionPoint("abc1.thirdExtPt");
- pluginExtensions[3].setName("Fourth Extension");
- pluginExtensions[3].setId("fourth");
- pluginExtensions[3].setExtensionPoint("abc2.anotherExtPt");
- plugin.setDeclaredExtensions(pluginExtensions);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[3];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("firstExtPt");
- pluginExtensionPoints[1].setName("Second Extension Point");
- pluginExtensionPoints[1].setId("secondExtPt");
- pluginExtensionPoints[2].setName("Third Extension Point");
- pluginExtensionPoints[2].setId("thirdExtPt");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("A simple test2");
- plugin.setId("abc2");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("Another Extension Point");
- pluginExtensionPoints[0].setId("anotherExtPt");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- pluginList[1] = plugin;
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[2];
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-/* extExtPtLinkTest
- * Tests to ensure that extensions and extension points are linked correctly
- * at registry resolve time.
- */
-public void extExtPtLinkTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = extExtPtLinkSetup();
- registry = doParsing(factory, localXMLFiles);
- registry.resolve(true, true);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
- PluginDescriptorModel plugin1 = registry.getPlugin("abc1");
- IPluginDescriptor ROplugin1 = registry.getPluginDescriptor("abc1");
- PluginDescriptorModel plugin2 = registry.getPlugin("abc2");
- IPluginDescriptor ROplugin2 = registry.getPluginDescriptor("abc2");
- assertNotNull("1.5 Can't find plugin", plugin1);
- assertNotNull("1.6 Can't find read only plugin", ROplugin1);
- assertNotNull("1.7 Can't find plugin", plugin2);
- assertNotNull("1.8 Can't find read only plugin", ROplugin2);
-
- // All of the extensions are in the abc1 plugin. The abc2 plugin just
- // contained one of the extension points.
- ExtensionPointModel[] extensionPtList = plugin1.getDeclaredExtensionPoints();
- IExtensionPoint[] ROExtensionPtList = ROplugin1.getExtensionPoints();
- assertNotNull("2.1 Extension point list null", extensionPtList);
- assertNotNull("2.2 Extension point list null", ROExtensionPtList);
- assertEquals("2.3 Extension point list length", extensionPtList.length, 3);
- assertEquals("2.4 Extension point list length", ROExtensionPtList.length, 3);
-
- String pluginId = plugin1.getId();
- // Just check that the 'point' of the extension, matches the pluginId.extensionPointId
- // pair for this particular extension point
- for (int i = 0; i < extensionPtList.length; i++) {
- ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
- IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
- assertEquals("3.1." + i + " Extension length", extension.length, 1);
- assertEquals("3.2." + i + " Extension length", ROExtension.length, 1);
- assertEquals("3.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
- assertEquals("3.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
- }
-
- // Now repeat for the second plugin
- extensionPtList = plugin2.getDeclaredExtensionPoints();
- ROExtensionPtList = ROplugin2.getExtensionPoints();
- assertNotNull("4.1 Extension point list null", extensionPtList);
- assertNotNull("4.2 Extension point list null", ROExtensionPtList);
- assertEquals("4.3 Extension point list length", extensionPtList.length, 1);
- assertEquals("4.4 Extension point list length", ROExtensionPtList.length, 1);
-
- pluginId = plugin2.getId();
- for (int i = 0; i < extensionPtList.length; i++) {
- ExtensionModel[] extension = extensionPtList[i].getDeclaredExtensions();
- IExtension[] ROExtension = ROExtensionPtList[i].getExtensions();
- assertEquals("5.1." + i + " Extension length", extension.length, 1);
- assertEquals("5.2." + i + " Extension length", ROExtension.length, 1);
- assertEquals("5.3." + i + " Ids match", pluginId + "." + extensionPtList[i].getId(), extension[0].getExtensionPoint());
- assertEquals("5.4." + i + " Ids match", pluginId + "." + ROExtensionPtList[i].getSimpleIdentifier(), ROExtension[0].getExtensionPointUniqueIdentifier());
- }
-
- factory = null;
-}
-public String[] librarySetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- Library[] pluginRuntime = new Library[2];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- String[] exportString = { "*" };
- pluginRuntime[0].setExports(exportString);
- pluginRuntime[0].setType(ILibrary.CODE);
- pluginRuntime[1].setName("xerces.jar");
- pluginRuntime[1].setType(ILibrary.RESOURCE);
- plugin.setRuntime(pluginRuntime);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* libraryTest
- * Tests to ensure we create library entries and populate them correctly.
- */
-public void libraryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = librarySetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Requires List", pluginList[0].getRequires());
- assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
- assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Do the same checks but for the read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("3.5 Plugin Class Loader", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
- assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("3.9 Plugin Intall URL", ROPluginList[0].getInstallURL());
-
- // Now check the library elements
- LibraryModel[] libList = pluginList[0].getRuntime();
- ILibrary[] ROLibList = ROPluginList[0].getRuntimeLibraries();
- assertNotNull("4.1 Library list null", libList);
- assertEquals("4.2 Number of library elements", libList.length, 2);
- assertNotNull("4.3 Library list null", ROLibList);
- assertEquals("4.4 Number of library elements", ROLibList.length, 2);
-
- LibraryModel[] originalLibList = plugin.getRuntime();
- String[] exportList = null;
-
- // Make sure the values in this library element are correct
- assertEquals("5.1 Library name", libList[0].getName(), originalLibList[0].getName());
- assertTrue("5.2 Export list", libList[0].isExported());
- assertTrue("5.3 Fully exported list", libList[0].isFullyExported());
- assertNotNull("5.4 Export mask", exportList = libList[0].getExports());
- assertEquals("5.5 Number of export elements", exportList.length, 1);
- assertEquals("5.6 Export list value", exportList[0], originalLibList[0].getExports()[0]);
-
- // And check the 2nd library element too
- assertEquals("6.1 Library name", libList[1].getName(), originalLibList[1].getName());
- assertTrue("6.2 Export list", !libList[1].isExported());
- assertTrue("6.3 Fully exported list", !libList[1].isFullyExported());
- assertNull("6.4 Export mask", libList[1].getExports());
-
- // Repeat the above tests for the read-only accessors
- // Make sure the values in this library element are correct
- assertEquals("7.1 Library name", ROLibList[0].getPath().toString(), originalLibList[0].getName());
- assertTrue("7.2 Export list", ROLibList[0].isExported());
- assertTrue("7.3 Fully exported list", ROLibList[0].isFullyExported());
- // You will get null here because this is a fully exported library
- assertNull("7.4 Export mask", exportList = ROLibList[0].getContentFilters());
- assertEquals("7.5 Type",ROLibList[0].getType(),ILibrary.CODE);
-
- // And check the 2nd library element too
- assertEquals("8.1 Library name", ROLibList[1].getPath().toString(), originalLibList[1].getName());
- assertTrue("8.2 Export list", !ROLibList[1].isExported());
- assertTrue("8.3 Fully exported list", !ROLibList[1].isFullyExported());
- assertNull("8.4 Export mask", ROLibList[1].getContentFilters());
- assertEquals("8.5 Type",ROLibList[1].getType(),ILibrary.RESOURCE);
-
- factory = null;
-}
-public String[] pluginSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* pluginTest
- * This is a very basic test to make sure we are parsing a very
- * simple XML file and populating a plugin descriptor correctly
- */
-public void pluginTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = pluginSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertEquals("2.5 Plugin Class", plugin.getPluginClass(), pluginList[0].getPluginClass());
- assertNull("2.6 Requires List", pluginList[0].getRequires());
- assertNull("2.7 Runtime List", pluginList[0].getRuntime());
- assertNull("2.8 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
- assertNull("2.9 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.10 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.11 Plugin Location", pluginList[0].getLocation());
-
- // Repeat these tests with the read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
- // assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 0);
- assertEquals("3.7 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("3.8 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
- assertEquals("3.9 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("3.10 Plugin Install URL", ROPluginList[0].getInstallURL());
-
- factory = null;
-}
-
-public String[] pluginDescriptorSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[2];
-
- for (int i = 0; i < pluginExtensionPoints.length; i++)
- pluginExtensionPoints[i] = new ExtensionPoint();
- pluginExtensionPoints[0].setName("First Extension Point");
- pluginExtensionPoints[0].setId("first");
- pluginExtensionPoints[0].setSchema("some schema name");
- pluginExtensionPoints[1].setName("Second Extension Point");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- Extension[] pluginExtensions = new Extension[3];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- pluginExtensions[0].setId("first");
- pluginExtensions[0].setExtensionPoint("First Extension Point");
- pluginExtensions[1].setExtensionPoint("Second Extension Point");
- pluginExtensions[2].setExtensionPoint("Third Extension Point");
- plugin.setDeclaredExtensions(pluginExtensions);
-
- plugin.setEnabled(true);
-
- FragmentDescriptor fragments[] = new FragmentDescriptor[2];
- FragmentDescriptor fragment = new FragmentDescriptor();
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fragments[0] = fragment;
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fragments[1] = fragment;
- plugin.setFragments(fragments);
-
- plugin.setLocation(Platform.getLocation().toString());
- plugin.setPluginClass("org.eclipse.pluginClass");
- plugin.setRegistry(new PluginRegistryModel());
-
- PluginPrerequisiteModel prereqs[] = new PluginPrerequisiteModel[2];
- PluginPrerequisiteModel prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prereqs[0] = prerequisite;
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("softPrereqExists");
- prereqs[1] = prerequisite;
- plugin.setRequires(prereqs);
-
- Library libraries[] = new Library[2];
- Library library = new Library();
- String[] exportList = new String[1];
- exportList[0] = "*";
- library.setExports(exportList);
- libraries[0] = library;
- library = new Library();
- library.setName("libraryName");
- libraries[1] = library;
- plugin.setRuntime(libraries);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* pluginDescriptorTest
- * This is a simple test to ensure that a created plugin descriptor
- * answers its values correctly (IPluginDescrpitor interface test).
- */
-public void pluginDescriptorTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = pluginDescriptorSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Just check the read-only accessors since we're testing the IPluginDescriptor interface
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin descriptor we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("2.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
- // assertNotNull("2.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("2.6 Requires List", ROPluginList[0].getPluginPrerequisites().length, 2);
- assertEquals("2.7 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 2);
- IExtensionPoint points[] = ROPluginList[0].getExtensionPoints();
- assertEquals("2.8 Extension Points List", points.length, 2);
- assertNotNull("2.9 Extension Point", ROPluginList[0].getExtensionPoint(points[0].getSimpleIdentifier()));
- IExtension extensions[] = ROPluginList[0].getExtensions();
- assertEquals("2.10 Extensions List", extensions.length, 3);
- assertNotNull("2.11 Extension", ROPluginList[0].getExtension(extensions[0].getSimpleIdentifier()));
- assertNotNull("2.12 Plugin Install URL", ROPluginList[0].getInstallURL());
- assertEquals("2.13","yak",ROPluginList[0].getResourceString("yak"));
- assertTrue("2.14 is activated",!ROPluginList[0].isPluginActivated());
-
- try {
- // should not find it, and hence throw an exception
- ROPluginList[0].getResourceBundle();
- assertTrue("2.15 Missing bundle",false);
- } catch (MissingResourceException e) {
- assertTrue("2.15 Missing bundle",true);
- }
-
- factory = null;
-}
-public String[] PR1GBZ0AWSetup1() {
- PluginDescriptor[] pluginList = new PluginDescriptor[3];
- for (int i = 0; i < pluginList.length; i++) {
- pluginList[i] = new PluginDescriptor();
- }
- pluginList[0].setName("Top level plugin");
- pluginList[0].setId("one.two.three");
- pluginList[0].setVersion("1.0.0");
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.dav4j");
- pluginList[0].setRequires(pluginRequires);
-
- pluginList[1].setName("First Circular plugin");
- pluginList[1].setId("com.ibm.dav4j");
- pluginList[1].setVersion("1.0.0");
-
- pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("a.b.c");
- pluginList[1].setRequires(pluginRequires);
-
- pluginList[2].setName("A final test2");
- pluginList[2].setId("a.b.c");
-
- pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.dav4j");
- pluginList[2].setRequires(pluginRequires);
- pluginList[2].setVersion("1.0.0");
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[3];
-
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-public String[] PR1GBZ0AWSetup2() {
- PluginDescriptor[] pluginList = new PluginDescriptor[2];
- for (int i = 0; i < pluginList.length; i++) {
- pluginList[i] = new PluginDescriptor();
- }
- pluginList[0].setName("First Circular plugin");
- pluginList[0].setId("com.ibm.dav4j");
- pluginList[0].setVersion("1.0.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("a.b.c");
- pluginList[0].setRequires(pluginRequires);
-
- pluginList[1].setName("A final test2");
- pluginList[1].setId("a.b.c");
- pluginList[1].setVersion("1.0.0");
-
- pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.dav4j");
- pluginList[1].setRequires(pluginRequires);
-
- ByteArrayOutputStream fs;
- String[] localXMLFiles = new String[2];
-
- for (int i = 0; i < pluginList.length; i++) {
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(pluginList[i], w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
- return localXMLFiles;
-}
-/* PR1GBZ0AWTest1
- * Tests to ensure we have solved this PR. This PR indicates a stack overflow will occur
- * if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest1() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = PR1GBZ0AWSetup1();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Now do the resolve. This is where the stack overflow would occur
- registry.resolve(true, true);
-
- // There should be no plugins in the registry
- pluginList = registry.getPlugins();
- assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
- factory = null;
-}
-/* PR1GBZ0AWTest2
- * Tests to ensure we have solved this PR. This PR indicates a stack overflow will occur
- * if two plugins depend on each other.
- */
-public void PR1GBZ0AWTest2() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = PR1GBZ0AWSetup2();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Now do the resolve. This is where the stack overflow would occur
- registry.resolve(true, true);
-
- // There should be no plugins in the registry
- pluginList = registry.getPlugins();
- // **NOTE** This test currently fails
- // assertEquals("2.1 Resolve completed", pluginList.length, 0);
-
- factory = null;
-}
-/* readOnlyConfigurationElement
- * This method ensures that once the registry is marked as read-only, configuration
- * elements in the registry cannot be written to. This method is called as part of
- * the test readOnlyTest.
- */
-public void readOnlyConfigurationElement(ConfigurationElement subElement) {
- // Check to ensure we cannot write to the configuration elements
- assertTrue("7.1 Configuration Element marked", subElement.isReadOnly());
- // Now check all methods that can write to a ConfigurationElement
- try {
- subElement.setName("name");
- assertTrue("7.2 ConfigurationElement - setName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- subElement.setParent(new PluginDescriptor());
- assertTrue("7.3 ConfigurationElement - setParent", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- subElement.setProperties(new ConfigurationPropertyModel[1]);
- assertTrue("7.4 ConfigurationElement - setProperties", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- subElement.setSubElements(new ConfigurationElementModel[1]);
- assertTrue("7.5 ConfigurationElement - setSubElements", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- subElement.setValue("value");
- assertTrue("7.6 ConfigurationElement - setValue", true);
- } catch (RuntimeException runExcept) {
- }
-}
-/* readOnlyConfigurationProperty
- * This method ensures that once the registry is marked as read-only, configuration
- * property elements in the registry cannot be written to. This method is called
- * as part of the test readOnlyTest.
- */
-public void readOnlyConfigurationProperty(ConfigurationProperty property) {
-
- // Check to ensure we cannot write to the configuration property elements
- assertTrue("8.1 Configuration Property marked", property.isReadOnly());
- // Now check all methods that can write to a ConfigurationProperty
- try {
- property.setName("name");
- assertTrue("8.4 ConfigurationProperty - setName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- property.setValue("value");
- assertTrue("8.3 ConfigurationProperty - setValue", true);
- } catch (RuntimeException runExcept) {
- }
-}
-/* readOnlyExtension
- * This method ensures that once the registry is marked as read-only, extensions
- * in the registry cannot be written to. This method is called as part of the test
- * readOnlyTest.
- */
-public void readOnlyExtension(Extension extension) {
- // Check to ensure we cannot write to the extension elements
- assertTrue("6.1 Extension marked", extension.isReadOnly());
- // Now check all methods that can write to an Extension
- try {
- extension.setName("name");
- assertTrue("6.2 Plugin - setName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extension.setExtensionPoint("extensionPoint");
- assertTrue("6.3 Extension - setExtensionPoint", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extension.setId("id");
- assertTrue("6.4 Extension - setId", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extension.setParentPluginDescriptor(new PluginDescriptor());
- assertTrue("6.5 Extension - setParentPluginDescriptor", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extension.setSubElements(new ConfigurationElementModel[1]);
- assertTrue("6.6 Extension - setSubElements", true);
- } catch (RuntimeException runExcept) {
- }
-}
-/* readOnlyExtensionPoints
- * This method ensures that once the registry is marked as read-only, extension
- * points in the registry cannot be written to. This method is called as part
- * of the test readOnlyTest.
- */
-public void readOnlyExtensionPoint(ExtensionPoint extensionPoint) {
- // Check to ensure we cannot write to the extension point elements
- assertTrue("5.1 Extension Point marked", extensionPoint.isReadOnly());
- // Now check all methods that can write to an ExtensionPoint
- try {
- extensionPoint.setName("name");
- assertTrue("5.2 Plugin - setName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extensionPoint.setDeclaredExtensions(new ExtensionModel[1]);
- assertTrue("5.3 Extension Point - setDeclaredExtensions", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extensionPoint.setId("id");
- assertTrue("5.4 Extension Point - setId", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extensionPoint.setParentPluginDescriptor(new PluginDescriptor());
- assertTrue("5.5 Extension Point - setParentPluginDescriptor", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- extensionPoint.setSchema("schema");
- assertTrue("5.6 Extension Point - setSchema", true);
- } catch (RuntimeException runExcept) {
- }
-}
-/* readOnlyLibrary
- * This method ensures that once the registry is marked as read-only, library
- * elements in the registry cannot be written to. This method is called as
- * part of the test readOnlyTest.
- */
-public void readOnlyLibrary(Library library) {
-
- // Now check all methods that can write to a Library
- assertTrue("4.1 Library marked", library.isReadOnly());
- try {
- library.setName("name");
- assertTrue("4.2 Plugin - setName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- library.setExports(new String[1]);
- assertTrue("4.3 Library - setExports", true);
- } catch (RuntimeException runExcept) {
- }
-
-}
-/* readOnlyPlugin
- * This method ensures that once the registry is marked as read-only, plugin
- * descriptor elements in the registry cannot be written to. This method is
- * called in the test readOnlyTest.
- */
-public void readOnlyPlugin(PluginDescriptor plugin) {
- // Check to ensure we cannot write to this plugin
- assertTrue("3.1 Plugin marked", plugin.isReadOnly());
- // Now check all methods that can write to a PluginDescriptor
- try {
- plugin.setName("name");
- assertTrue("3.2 Plugin - setName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setDeclaredExtensionPoints(new ExtensionPointModel[1]);
- assertTrue("3.3 Plugin - setDeclaredExtensionPoints", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setDeclaredExtensions(new ExtensionModel[1]);
- assertTrue("3.4 Plugin - setDeclaredExtensions", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setId("id");
- assertTrue("3.5 Plugin - setId", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setLocation("location");
- assertTrue("3.6 Plugin - setLocation", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setPluginClass("pluginClass");
- assertTrue("3.7 Plugin - setPluginClass", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setRegistry(new PluginRegistry());
- assertTrue("3.8 Plugin - setRegistry", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setRequires(new PluginPrerequisiteModel[1]);
- assertTrue("3.9 Plugin - setRequires", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setRuntime(new LibraryModel[1]);
- assertTrue("3.10 Plugin - setRuntime", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setProviderName("providerName");
- assertTrue("3.11 Plugin - setVendorName", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- plugin.setVersion("version");
- assertTrue("3.12 Plugin - setVersion", true);
- } catch (RuntimeException runExcept) {
- }
-}
-/* readOnlyRegistry
- * This method ensures that once the registry is marked as read-only, registry
- * elements cannot be written to. This method is called from the test readOnlyTest
- */
-public void readOnlyRegistry(PluginRegistry registry) {
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- // Check to ensure we cannot write to the registry
- assertTrue("2.1 Registry marked", registry.isReadOnly());
- // Now check all methods that can write to a PluginRegistry
- try {
- registry.addPlugin(pluginList[0]);
- assertTrue("2.2 PluginRegistry - addPlugin", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- registry.removePlugin(pluginList[0].getId(), pluginList[0].getVersion());
- assertTrue("2.3 PluginRegistry - removePlugin", true);
- } catch (RuntimeException runExcept) {
- }
- try {
- registry.removePlugins(pluginList[0].getId());
- assertTrue("2.4 PluginRegistry - removePlugins", true);
- } catch (RuntimeException runExcept) {
- }
-}
-public String[] readOnlySetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[1];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
- plugin.setRequires(pluginRequires);
-
- Library[] pluginRuntime = new Library[1];
- for (int i = 0; i < pluginRuntime.length; i++) {
- pluginRuntime[i] = new Library();
- }
- pluginRuntime[0].setName("runtime.jar");
- plugin.setRuntime(pluginRuntime);
-
- Extension[] pluginExtensions = new Extension[1];
- for (int i = 0; i < pluginExtensions.length; i++) {
- pluginExtensions[i] = new Extension();
- pluginExtensions[i].setParentPluginDescriptor(plugin);
- }
- pluginExtensions[0].setName("First Extension");
- plugin.setDeclaredExtensions(pluginExtensions);
- ConfigurationElement[] subElements = new ConfigurationElement[1];
- for (int i = 0; i < subElements.length; i++) {
- subElements[i] = new ConfigurationElement();
- subElements[i].setParent(pluginExtensions[0]);
- }
- subElements[0].setName("FirstSubelement");
- ConfigurationProperty[] properties = new ConfigurationProperty[1];
- for (int i = 0; i < properties.length; i++) {
- properties[i] = new ConfigurationProperty();
- }
- properties[0].setName("FirstProperty");
- properties[0].setValue("FirstValue");
- subElements[0].setProperties(properties);
- pluginExtensions[0].setSubElements(subElements);
-
- ExtensionPoint[] pluginExtensionPoints = new ExtensionPoint[1];
- for (int i = 0; i < pluginExtensionPoints.length; i++) {
- pluginExtensionPoints[i] = new ExtensionPoint();
- }
- pluginExtensionPoints[0].setName("First Extension Point");
- plugin.setDeclaredExtensionPoints(pluginExtensionPoints);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* readOnlyTest
- * This test ensures that once the registry is marked as read-only, elements
- * in the registry cannot be written to
- */
-public void readOnlyTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = readOnlySetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Mark the registry as readonly. This should filter down to all elements
- // in the registry too.
- registry.markReadOnly();
-
- PluginDescriptorModel[] pluginList = registry.getPlugins();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
-
- // Check to ensure we cannot write to the registry
- readOnlyRegistry(registry);
-
- // Check to ensure we cannot write to this plugin
- readOnlyPlugin((PluginDescriptor) pluginList[0]);
-
- // Check to ensure we cannot write to the runtime elements
- LibraryModel[] libraries = pluginList[0].getRuntime();
- readOnlyLibrary((Library) libraries[0]);
-
- // Check to ensure we cannot write to the extension point elements
- ExtensionPointModel[] extensionPoints = pluginList[0].getDeclaredExtensionPoints();
- readOnlyExtensionPoint((ExtensionPoint) extensionPoints[0]);
-
- // Check to ensure we cannot write to the extension elements
- ExtensionModel[] extensions = pluginList[0].getDeclaredExtensions();
- readOnlyExtension((Extension) extensions[0]);
-
- // Check to ensure we cannot write to the configuration elements
- ConfigurationElementModel[] subElements = extensions[0].getSubElements();
- readOnlyConfigurationElement((ConfigurationElement) subElements[0]);
-
- // Check to ensure we cannot write to the configuration property elements
- ConfigurationPropertyModel[] properties = subElements[0].getProperties();
- readOnlyConfigurationProperty((ConfigurationProperty) properties[0]);
-
- factory = null;
-}
-public String[] registrySetup() {
- PluginDescriptor[] pluginList = new PluginDescriptor[5];
-
- plugin = new PluginDescriptor();
- plugin.setName("aPlugin");
- plugin.setId("org.eclipse.plugin1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[0] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("anotherPlugin");
- plugin.setId("org.eclipse.plugin2");
- plugin.setProviderName("IBM");
- plugin.setVersion("3.0");
- pluginList[1] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("aThirdPlugin");
- plugin.setId("org.eclipse.plugin3");
- plugin.setProviderName("IBM");
- plugin.setVersion("2.0");
- pluginList[2] = plugin;
-
- plugin = new PluginDescriptor();
- plugin.setName("aFourthPlugin");
- plugin.setId("org.eclipse.plugin4");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- pluginList[3] = plugin;
-
- String[] localXMLFiles = new String[pluginList.length];
- for (int i = 0; i < pluginList.length; i++) {
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- localXMLFiles[i] = fs.toString();
- }
-
- return localXMLFiles;
-}
-/* registryTest
- * Tests to ensure we create plugin registries and populate them correctly.
- */
-public void registryTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = registrySetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertEquals("1.3 Right number of plugin descriptors", pluginList.length, localXMLFiles.length);
- assertNotNull("1.4 Sane return value", ROPluginList);
- assertNotNull("1.5 Sane plugin descriptor", ROPluginList[0]);
- assertEquals("1.6 Right number of plugin descriptors", ROPluginList.length, localXMLFiles.length);
-
- factory = null;
-}
-public String[] requiresSetup() {
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
-
- PluginPrerequisite[] pluginRequires = new PluginPrerequisite[3];
- for (int i = 0; i < pluginRequires.length; i++) {
- pluginRequires[i] = new PluginPrerequisite();
- }
- pluginRequires[0].setPlugin("com.ibm.eclipse.core.runtime");
- pluginRequires[0].setVersion("4");
- pluginRequires[0].setExport(true);
- pluginRequires[0].setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- pluginRequires[1].setPlugin("org.apache.xerces");
- pluginRequires[2].setPlugin("com.ibm.eclipse.core.resources");
- pluginRequires[2].setVersion("3");
- plugin.setRequires(pluginRequires);
-
- ByteArrayOutputStream fs;
- fs = new ByteArrayOutputStream();
- PrintWriter w = new PrintWriter(fs);
- RegistryWriter regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
-
- String[] localXMLFiles = new String[1];
- localXMLFiles[0] = fs.toString();
- return localXMLFiles;
-}
-/* requiresTest
- * Tests to ensure we create plugin prerequisite entries and populate them correctly.
- */
-public void requiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[] localXMLFiles = requiresSetup();
- registry = doParsing(factory, localXMLFiles);
-
- // Check both the read-only accessors and the read-write accessors
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- IPluginDescriptor[] ROPluginList = registry.getPluginDescriptors();
-
- // First check to make sure we got something back
- assertNotNull("1.1 Sane return value", pluginList);
- assertNotNull("1.2 Sane plugin descriptor", pluginList[0]);
- assertNotNull("1.3 Sane return value", ROPluginList);
- assertNotNull("1.4 Sane plugin descriptor", ROPluginList[0]);
-
- // Now check that the plugin we got really reflects what's in the xml stream
- assertEquals("2.1 Plugin Name", plugin.getName(), pluginList[0].getName());
- assertEquals("2.2 Plugin Id", plugin.getId(), pluginList[0].getId());
- assertEquals("2.3 Plugin Vendor Name", plugin.getProviderName(), pluginList[0].getProviderName());
- assertEquals("2.4 Plugin Version", plugin.getVersion(), pluginList[0].getVersion());
- assertNull("2.5 Plugin Class", pluginList[0].getPluginClass());
- assertNull("2.6 Runtime List", pluginList[0].getRuntime());
- assertNull("2.7 Extension Points List", pluginList[0].getDeclaredExtensionPoints());
- assertNull("2.8 Extensions List", pluginList[0].getDeclaredExtensions());
- assertEquals("2.9 Registry", pluginList[0].getRegistry(), registry);
- assertNull("2.10 Plugin Location", pluginList[0].getLocation());
-
- // Repeat for read-only accessors
- assertEquals("3.1 Plugin Name", plugin.getName(), ROPluginList[0].getLabel());
- assertEquals("3.2 Plugin Id", plugin.getId(), ROPluginList[0].getUniqueIdentifier());
- assertEquals("3.3 Plugin Vendor Name", plugin.getProviderName(), ROPluginList[0].getProviderName());
- assertEquals("3.4 Plugin Version", plugin.getVersionIdentifier(), ROPluginList[0].getVersionIdentifier());
-// assertNotNull("3.5 Plugin Class", ROPluginList[0].getPluginClassLoader());
- assertEquals("3.6 Runtime List", ROPluginList[0].getRuntimeLibraries().length, 0);
- assertEquals("3.7 Extension Points List", ROPluginList[0].getExtensionPoints().length, 0);
- assertEquals("3.8 Extensions List", ROPluginList[0].getExtensions().length, 0);
- assertNotNull("3.9 Plugin Install URL", ROPluginList[0].getInstallURL());
-
- // Now check the plugin prerequisite elements
- PluginPrerequisiteModel[] reqList = pluginList[0].getRequires();
- IPluginPrerequisite[] ROReqList = ROPluginList[0].getPluginPrerequisites();
- assertNotNull("4.1 Requires list null", reqList);
- assertEquals("4.2 Number of requires elements", reqList.length, 3);
- assertNotNull("4.3 Requires list null", ROReqList);
- assertEquals("4.4 Number of requires elements", ROReqList.length, 3);
-
- PluginPrerequisiteModel[] originalRequires = plugin.getRequires();
-
- // LIBRARY WRITE DOESN'T YET SUPPORT EXACT AND COMPATIBLE MATCHES
-
- // Make sure the values in this requires element are correct
- assertEquals("5.1 Requires plugin", reqList[0].getPlugin(), originalRequires[0].getPlugin());
- assertEquals("5.2 Requires version", reqList[0].getVersion(), originalRequires[0].getVersion());
- assertTrue("5.3 Requires exact match", reqList[0].getMatchByte() == PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- assertTrue("5.4 Requires export", reqList[0].getExport());
- assertEquals("5.5 Requires plugin", ROReqList[0].getUniqueIdentifier(), originalRequires[0].getPlugin());
- assertEquals("5.6 Requires version", ROReqList[0].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[0]).getVersionIdentifier());
- assertTrue("5.7 Requires exact match", ROReqList[0].isMatchedAsExact());
- assertTrue("5.8 Requires compatible match", !ROReqList[0].isMatchedAsCompatible());
- assertTrue("5.9 Requires export", ROReqList[0].isExported());
-
- // And check the 2nd requires element too
- assertEquals("6.1 Requires plugin", reqList[1].getPlugin(), originalRequires[1].getPlugin());
- assertEquals("6.2 Requires plugin", ROReqList[1].getUniqueIdentifier(), originalRequires[1].getPlugin());
-
- // And finally, the 3rd requires element
- assertEquals("7.1 Requires plugin", reqList[2].getPlugin(), originalRequires[2].getPlugin());
- assertEquals("7.2 Requires version", reqList[2].getVersion(), originalRequires[2].getVersion());
- assertTrue("7.3 Requires exact match", reqList[2].getMatchByte() != PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- assertTrue("7.4 Requires export", !reqList[2].getExport());
- assertEquals("7.5 Requires plugin", ROReqList[2].getUniqueIdentifier(), originalRequires[2].getPlugin());
- assertEquals("7.6 Requires version", ROReqList[2].getVersionIdentifier(), ((PluginPrerequisite) originalRequires[2]).getVersionIdentifier());
- assertTrue("7.7 Requires exact match", !ROReqList[2].isMatchedAsExact());
- assertTrue("7.8 Requires compatible match", ROReqList[2].isMatchedAsCompatible());
- assertTrue("7.9 Requires export", !ROReqList[2].isExported());
-
- factory = null;
-}
-public String[][] pluginRequiresSetup() {
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[3][1];
-
- // Create a plugin with no name
- plugin = new PluginDescriptor();
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- plugin.setPluginClass("someclass");
-
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- // Create a plugin with no id
- plugin = new PluginDescriptor();
- plugin.setName("someName");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- plugin.setPluginClass("someclass");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][0] = fs.toString();
-
- // Create a plugin with no version
- plugin = new PluginDescriptor();
- plugin.setName("someName");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setPluginClass("someclass");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2][0] = fs.toString();
-
- return localXMLFiles;
-}
-public void allRequiresHelper(InternalFactory factory, String[][] localXMLFiles, String errorPrefix, boolean fragmentTest) {
- if (localXMLFiles == null)
- return;
- String[] currentParseString;
- for (int i = 0; i < localXMLFiles.length; i++) {
- // We have made no attempt to create a hierarchy of
- // plugins for this test. We have just created a
- // bunch of plugins, each with a missing 'required'
- // field. If we try to create and resolve one registry
- // with all of these plugins, the resolver will be
- // unable to determine a root plugin and will fail.
- // Therefore, create a separate registry for each plugin
- // and resolve it separate from the other plugins.
- currentParseString = localXMLFiles[i];
- registry = doParsing(factory, currentParseString);
- // Don't trim the disabled plugins
- IStatus resolveStatus = registry.resolve(false, true);
- assertTrue(errorPrefix + ".0." + i + " Resolve - " + resolveStatus.getMessage(), !resolveStatus.isOK());
-
- // The plugin should be disabled
- PluginDescriptorModel[] pluginList = registry.getPlugins();
- assertNotNull (errorPrefix + ".1." + i + " No plugins", pluginList);
- assertEquals (errorPrefix + ".2." + i + " Not 1 plugin only", pluginList.length, 1);
- if (fragmentTest) {
- // The plugin won't be disabled but it should not have
- // a fragment.
- assertNull(errorPrefix + ".3." + i + " Fragment exists", pluginList[0].getFragments());
- } else {
- assertTrue(errorPrefix + ".4." + i + " Plugin enabled", !pluginList[0].getEnabled());
- }
- }
-}
-/* allRequiresTest
- * Test to ensure that plugins, etc. missing any of the required
- * components are disabled.
- */
-public void allRequiresTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- String[][] localXMLFiles = pluginRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "1", false);
- localXMLFiles = fragmentRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "2", true);
- localXMLFiles = requiresRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "3", false);
- localXMLFiles = libraryRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "4", false);
- localXMLFiles = extensionRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "5", false);
- localXMLFiles = extensionPointRequiresSetup();
- allRequiresHelper(factory, localXMLFiles, "6", false);
-}
-public String[][] fragmentRequiresSetup() {
- FragmentDescriptor fragment;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[5][2];
-
- // Create a fragment with no name
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][1] = fs.toString();
-
- // Create a fragment with no id
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][1] = fs.toString();
-
- // Create a fragment with no version
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setId("fragmentId");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[2][1] = fs.toString();
-
- // Create a fragment with no plugin
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPluginVersion("1.0");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[3][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[3][1] = fs.toString();
-
- // Create a fragment with no plugin version
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- fragment = new FragmentDescriptor();
- fragment.setName("fragmentName");
- fragment.setId("fragmentId");
- fragment.setVersion("2.2");
- fragment.setPlugin("com.ibm.dav4j");
- fragment.setProviderName("someoneElse");
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[4][0] = fs.toString();
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginFragment(fragment, w, 0);
- w.flush();
- w.close();
- localXMLFiles[4][1] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] requiresRequiresSetup() {
- PluginPrerequisite requires;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[1][1];
- PluginPrerequisite[] requiresList = new PluginPrerequisite[1];
-
- // Create a prerequisite with no plugin
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- requires = new PluginPrerequisite();
- requires.setVersion("2.2");
- requires.setOptional(true);
- requires.setMatchByte(PluginPrerequisiteModel.PREREQ_MATCH_EQUIVALENT);
- requires.setExport(true);
- requiresList[0] = requires;
- plugin.setRequires(requiresList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] extensionRequiresSetup() {
- Extension extension;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[1][1];
- Extension[] extensionList = new Extension[1];
-
- // Create an extension with no point
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- extension = new Extension();
- extension.setName("extensionName");
- extension.setId("extensionId");
- extensionList[0] = extension;
- plugin.setDeclaredExtensions(extensionList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] extensionPointRequiresSetup() {
- ExtensionPoint extensionPoint;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[2][1];
- ExtensionPoint[] extensionPointList = new ExtensionPoint[1];
-
- // Create an extension point with no name
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- extensionPoint = new ExtensionPoint();
- extensionPoint.setId("extensionPointId");
- extensionPoint.setSchema("schema");
- extensionPointList[0] = extensionPoint;
- plugin.setDeclaredExtensionPoints(extensionPointList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- // Create an extension point with no id
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- extensionPoint = new ExtensionPoint();
- extensionPoint.setName("extensionPointName");
- extensionPoint.setSchema("schema");
- extensionPointList = new ExtensionPoint[1];
- extensionPointList[0] = extensionPoint;
- plugin.setDeclaredExtensionPoints(extensionPointList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[][] libraryRequiresSetup() {
- Library library;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[][] localXMLFiles = new String[1][1];
- Library[] libraryList = new Library[1];
-
- // Create a library with no name
- plugin = new PluginDescriptor();
- plugin.setName("A simple test");
- plugin.setId("com.ibm.dav4j");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- library = new Library();
- String[] exportList = new String[1];
- String exportString = new String("*");
- exportList[0] = exportString;
- library.setExports(exportList);
- libraryList[0] = library;
- plugin.setRuntime(libraryList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0][0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite1Setup() {
- // Create a plugin with one prerequisite which
- // does not exist. This should NOT resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[1];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq1");
- plugin.setId("softPrereqId1");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite2Setup() {
- // Create a plugin with one prerequisite which
- // has a prerequisite which does not exist.
- // This should NOT resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[2];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq2");
- plugin.setId("softPrereqId2");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("softPrereqExists");
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("firstPrereq");
- plugin.setId("softPrereqExists");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite3Setup() {
- // Create a plugin with one prerequisite which
- // does not exist but which is optional.
- // This SHOULD resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[1];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq3");
- plugin.setId("softPrereqId3");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisite.setOptional(true);
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- return localXMLFiles;
-}
-public String[] softPrerequisite4Setup() {
- // Create a plugin with one prerequisite which
- // has a prerequisite which does not exist but which is
- // optional. This SHOULD resolve.
- PluginPrerequisiteModel prerequisite;
- ByteArrayOutputStream fs;
- PrintWriter w;
- RegistryWriter regWriter;
- String[] localXMLFiles = new String[2];
- PluginPrerequisiteModel[] prerequisiteList = new PluginPrerequisiteModel[1];
-
- plugin = new PluginDescriptor();
- plugin.setName("softPrereq4");
- plugin.setId("softPrereqId4");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("softPrereqExists");
- prerequisite.setOptional(true);
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[0] = fs.toString();
-
- plugin = new PluginDescriptor();
- plugin.setName("firstPrereq");
- plugin.setId("softPrereqExists");
- plugin.setProviderName("IBM");
- plugin.setVersion("1.0");
- prerequisite = new PluginPrerequisiteModel();
- prerequisite.setPlugin("nonExistant");
- prerequisite.setOptional(true);
- prerequisiteList[0] = prerequisite;
- plugin.setRequires(prerequisiteList);
- fs = new ByteArrayOutputStream();
- w = new PrintWriter(fs);
- regWriter = new RegistryWriter();
- regWriter.writePluginDescriptor(plugin, w, 0);
- w.flush();
- w.close();
- localXMLFiles[1] = fs.toString();
-
- return localXMLFiles;
-}
-public void allPrerequisiteHelper(InternalFactory factory, String[] localXMLFiles, String errorPrefix, boolean shouldResolve) {
- if (localXMLFiles == null)
- return;
- registry = doParsing(factory, localXMLFiles);
- IStatus resolveStatus = registry.resolve(true, true);
- if (shouldResolve) {
- // This registry should resolve fine.
- assertTrue(errorPrefix + ".0 Resolve - " + resolveStatus.getMessage(), resolveStatus.isOK());
- } else {
- // This registry should NOT resolve
- assertTrue(errorPrefix + ".0 Resolve worked", !resolveStatus.isOK());
- }
-
-}
-public void allPrerequisiteTest() {
- MultiStatus problems = new MultiStatus(Platform.PI_RUNTIME, Platform.PARSE_PROBLEM, Policy.bind("registryTestProblems", new String[0]), null);
- factory = new InternalFactory(problems);
-
- // One plugin with non-existant prerequisite - not optional
- String[] localXMLFiles = softPrerequisite1Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "1", false);
- // 2 nested plugins with non-existant prereq on one - not optional
- localXMLFiles = softPrerequisite2Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "2", false);
- // 1 plugin with non-existant prereq - optional
- localXMLFiles = softPrerequisite3Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "3", true);
- // 2 nested plugins with non-existant prereq on one - optional
- localXMLFiles = softPrerequisite4Setup();
- allPrerequisiteHelper(factory, localXMLFiles, "4", true);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PluginTests("registryTest"));
- suite.addTest(new PluginTests("pluginTest"));
- suite.addTest(new PluginTests("libraryTest"));
- suite.addTest(new PluginTests("requiresTest"));
- suite.addTest(new PluginTests("extensionPointTest"));
- suite.addTest(new PluginTests("extensionTest"));
- suite.addTest(new PluginTests("readOnlyTest"));
- suite.addTest(new PluginTests("extExtPtLinkTest"));
- suite.addTest(new PluginTests("PR1GBZ0AWTest1"));
- suite.addTest(new PluginTests("PR1GBZ0AWTest2"));
- suite.addTest(new PluginTests("allRequiresTest"));
- suite.addTest(new PluginTests("pluginDescriptorTest"));
- // suite.addTest(new BasicXMLTest("allPrerequisiteTest"));
- return suite;
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java
deleted file mode 100644
index 322849c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PreferencesRuntimeTests.java
+++ /dev/null
@@ -1,1048 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.internal.runtime.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.model.PluginFragmentModel;
-
-public class PreferencesRuntimeTests extends PrimaryFeaturePreferenceHelperTests {
-
-public PreferencesRuntimeTests() {
- super(null);
-}
-public PreferencesRuntimeTests(String name) {
- super(name);
-}
-
-public static void copyFile (String sourceName, String destName) {
- // A crude mechanism for creating a preference file
- SafeFileInputStream sourceIn = null;
- SafeFileOutputStream destOut = null;
- try {
- sourceIn = new SafeFileInputStream(sourceName);
- destOut = new SafeFileOutputStream(destName);
- int buffer = sourceIn.read();
- while (buffer != -1) {
- destOut.write(buffer);
- buffer = sourceIn.read();
- }
- } catch (IOException ioe) {
- fail("0.0 Trouble creating file " + destName + " from original file " + sourceName + ".");
- } finally {
- try {
- sourceIn.close();
- destOut.close();
- } catch (IOException e) {
- fail("0.1 Trouble closing file " + destName + " or " + sourceName + ".");
- }
- }
-}
-
-public void testPluginPrefs() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- // No preferences for this plugin
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("noPreferencesPlugin");
- Preferences prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 No default preferences", defaultNames.length == 0);
- assertTrue("1.1 No explicit preferences", prefNames.length == 0);
-
- //-----------------------------------------------------------
- // Preferences in the plugin state area
- resPlugin = registry.getPluginDescriptor("stateLocalPreferences");
- // Move the preferences file into position
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.2 core exception from getPlugin");
- }
- String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- String sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- copyFile(sourceName, destString);
- prefs = runtimePlugin.getPluginPreferences();
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("2.0 No default preferences", defaultNames.length == 0);
- assertTrue("2.1 One explicit preference", prefNames.length == 1);
- assertTrue("2.2 Preference name", prefNames[0].equals("StateLocalPreference"));
- assertTrue("2.3 Preference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area"));
-
- //-----------------------------------------------------------
- // Preferences in the local plugin area
- resPlugin = registry.getPluginDescriptor("pluginLocalPreferences");
- prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.3 core exception from getPlugin");
- }
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("3.0 One default preferences", defaultNames.length == 1);
- assertTrue("3.1 No explicit preferences", prefNames.length == 0);
- assertTrue("3.2 Default preference name", defaultNames[0].equals("PluginLocalPreference"));
- assertTrue("3.3 Default preference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory"));
-
- //-----------------------------------------------------------
- // Preferences in the primary feature plugin.
- // There are are preferences related to this particular plugin
- // and other plugins
- resPlugin = registry.getPluginDescriptor("primaryFeaturePluginPreferences");
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
- String destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- copyFile(sourceName, destName);
- prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.4 core exception from getPlugin");
- }
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("4.0 One default preference", defaultNames.length == 1);
- assertTrue("4.1 No explicit preferences", prefNames.length == 0);
- assertTrue("4.2 Default preference name", defaultNames[0].equals("PrimaryFeaturePreference"));
- assertTrue("4.3 Default preference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory"));
-
- //-----------------------------------------------------------
- // Preferences in the plugin state area and in the local
- // plugin area
- resPlugin = registry.getPluginDescriptor("stateAndPluginLocal");
- runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.5 core exception from getPlugin");
- }
- destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- copyFile(sourceName, destString);
- prefs = null;
- prefs = runtimePlugin.getPluginPreferences();
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("5.0 Two default preferences", defaultNames.length == 2);
- assertTrue("5.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- boolean foundStateLocalPreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonStateAndPluginLocalPreference"))
- foundCommonPreference = true;
- }
- assertTrue("5.2 Got right default preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- boolean foundPluginLocalPreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("commonStateAndPluginLocalPreference"))
- foundCommonPreference = true;
- }
- assertTrue("5.3 Got right explicit preference names",
- foundPluginLocalPreference && foundCommonPreference);
- // Check preference values
- assertTrue("5.4 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndPluginLocal"));
- assertTrue("5.5 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of plugin stateAndPluginLocal"));
- assertTrue("5.6 commonStateAndPluginLocalPreference value",
- prefs.getString("commonStateAndPluginLocalPreference").equals("Common preference from the plugin state area of plugin stateAndPluginLocal"));
-
- //-----------------------------------------------------------
- // Preferences in the plugin state area and the primary
- // feature plugin
- resPlugin = registry.getPluginDescriptor("stateAndPrimaryFeature");
- runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.6 core exception from getPlugin");
- }
- destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- copyFile(sourceName, destString);
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- copyFile(sourceName, destName);
- prefs = null;
- prefs = runtimePlugin.getPluginPreferences();
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("6.0 Two default preferences", defaultNames.length == 2);
- assertTrue("6.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- foundStateLocalPreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonStateAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- }
- assertTrue("6.2 Got right default preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- boolean foundPrimaryFeaturePreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- else if (defaultNames[i].equals("commonStateAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- }
- assertTrue("6.3 Got right explicit preference names",
- foundPrimaryFeaturePreference && foundCommonPreference);
- // Check preference values
- assertTrue("6.4 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndPrimaryFeature"));
- assertTrue("6.5 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin stateAndPrimaryFeature"));
- assertTrue("6.6 commonStateAndPluginLocalPreference value",
- prefs.getString("commonStateAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin stateAndPrimaryFeature"));
-
- //-----------------------------------------------------------
- // Preferences in the local plugin area and the primary feature
- // plugin
- resPlugin = registry.getPluginDescriptor("pluginLocalAndPrimaryFeaturePreferences");
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- copyFile(sourceName, destName);
- prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.7 core exception from getPlugin");
- }
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("7.0 Three default preferences", defaultNames.length == 3);
- assertTrue("7.1 No explicit preferences", prefNames.length == 0);
- // Do we have the right names for the default preferences?
- foundPluginLocalPreference = false;
- foundCommonPreference = false;
- foundPrimaryFeaturePreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("commonPluginLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("7.2 Got right default preference names",
- foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
- // Check preference values
- assertTrue("7.3 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of the plugin pluginLocalAndPrimaryFeaturePreferences"));
- assertTrue("7.4 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin pluginLocalAndPrimaryFeaturePreferences"));
- assertTrue("7.5 commonPluginLocalAndPrimaryFeaturePreference value",
- prefs.getString("commonPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the primary feature of plugin pluginLocalAndPrimaryFeaturePreferences"));
-
- //-----------------------------------------------------------
- // Preferences in the plugin state area, the local plugin area
- // and the primary feature plugin
- resPlugin = registry.getPluginDescriptor("stateAndPluginLocalAndPrimaryFeature");
- runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.8 core exception from getPlugin");
- }
- destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- copyFile(sourceName, destString);
- sourceName = ((PluginDescriptor)resPlugin).getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- destName = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destName = destName.substring(destName.indexOf(':') + 1);
- copyFile(sourceName, destName);
- prefs = null;
- prefs = runtimePlugin.getPluginPreferences();
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("8.0 Three default preferences", defaultNames.length == 3);
- assertTrue("8.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- foundStateLocalPreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonStateAndPluginLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- }
- assertTrue("8.2 Got right default preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- foundPluginLocalPreference = false;
- foundCommonPreference = false;
- foundPrimaryFeaturePreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("PluginLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("commonStateAndPluginLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("8.3 Got right default preference names",
- foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
- // Check preference values
- assertTrue("8.3 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature"));
- assertTrue("8.4 PluginLocalPreference value",
- prefs.getString("PluginLocalPreference").equals("From the local plugin directory of plugin stateAndPluginLocalAndPrimaryFeature"));
- assertTrue("8.5 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin stateAndPluginLocalAndPrimaryFeature"));
- assertTrue("8.6 commonStateAndPluginLocalAndPrimaryFeaturePreference value",
- prefs.getString("commonStateAndPluginLocalAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin stateAndPluginLocalAndPrimaryFeature"));
-}
-
-public void testFragmentPrefs() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- //-----------------------------------------------------------
- // Preferences in the local area for a fragment of this
- // plugin
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("fragmentLocalPreferencesPlugin");
- Preferences prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.0 One default preferences", defaultNames.length == 1);
- assertTrue("1.1 No explicit preferences", prefNames.length == 0);
- assertTrue("1.2 Default preference name", defaultNames[0].equals("FragmentLocalPreference"));
- assertTrue("1.3 Default preference value",
- prefs.getString("FragmentLocalPreference").equals("From the local fragment directory"));
-
-
- //-----------------------------------------------------------
- // Preferences in the plugin state area and in the local
- // area for a fragment of this plugin
- resPlugin = registry.getPluginDescriptor("stateAndFragmentLocalPlugin");
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.2 core exception from getPlugin");
- }
- String destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- String sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- copyFile(sourceName, destString);
- prefs = null;
- prefs = runtimePlugin.getPluginPreferences();
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("2.0 Two default preferences", defaultNames.length == 2);
- assertTrue("2.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- boolean foundStateLocalPreference = false;
- boolean foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonStateAndFragmentLocalPreference"))
- foundCommonPreference = true;
- }
- assertTrue("2.2 Got right default preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- boolean foundPluginLocalPreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("FragmentLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("commonStateAndFragmentLocalPreference"))
- foundCommonPreference = true;
- }
- assertTrue("2.3 Got right explicit preference names",
- foundPluginLocalPreference && foundCommonPreference);
- // Check preference values
- assertTrue("2.4 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of the fragment for stateAndFragmentLocal"));
- assertTrue("2.5 FragmentLocalPreference value",
- prefs.getString("FragmentLocalPreference").equals("From the local fragment directory of stateAndFragmentLocal"));
- assertTrue("2.6 commonStateAndFragmentLocalPreference value",
- prefs.getString("commonStateAndFragmentLocalPreference").equals("Common preference from the plugin state area for stateAndFragmentLocal"));
-
- //-----------------------------------------------------------
- // Preferences in the local area for a fragment of this plugin
- // and the primary feature
- resPlugin = registry.getPluginDescriptor("fragmentLocalAndPrimaryFeaturePlugin");
- sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = registry.getPluginDescriptor(primaryFeaturePluginId);
- destString = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destString = destString.substring(destString.indexOf(':') + 1);
- copyFile(sourceName, destString);
- prefs = null;
- try {
- prefs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.3 core exception from getPlugin");
- }
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("3.0 Three default preferences", defaultNames.length == 3);
- assertTrue("3.1 No explicit preferences", prefNames.length == 0);
- // Do we have the right names for the default preferences?
- foundPluginLocalPreference = false;
- foundCommonPreference = false;
- boolean foundPrimaryFeaturePreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("FragmentLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("commonFragmentLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("3.2 Got right default preference names",
- foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
- // Check preference values
- assertTrue("3.3 FragmentLocalPreference value",
- prefs.getString("FragmentLocalPreference").equals("From the local fragment directory of the plugin fragmentLocalAndPrimaryFeaturePlugin"));
- assertTrue("3.4 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin fragmentLocalAndPrimaryFeaturePlugin"));
- assertTrue("3.5 commonFragmentLocalAndPrimaryFeaturePreference value",
- prefs.getString("commonFragmentLocalAndPrimaryFeaturePreference").equals("Common preference from the primary feature of plugin fragmentLocalAndPrimaryFeaturePlugin"));
-
- //-----------------------------------------------------------
- // Preferences in the plugin state area, the local area for a
- // fragment of this plugin and the primary feature
- resPlugin = registry.getPluginDescriptor("stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin");
- runtimePlugin = null;
- try {
- runtimePlugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("0.4 core exception from getPlugin");
- }
- destString = runtimePlugin.getStateLocation().append("pref_store.ini").toOSString();
- // get rid of the protocol
- sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "/originalpref_store.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- copyFile(sourceName, destString);
- sourceName = ((PluginDescriptor)resPlugin).getFragments()[0].getLocation() + "/originalplugin_customization.ini";
- sourceName = sourceName.substring(sourceName.indexOf(':') + 1);
- destString = ((PluginDescriptor)primaryFeatureDescriptor).getLocation() +
- "plugin_customization.ini";
- destString = destString.substring(destString.indexOf(':') + 1);
- copyFile(sourceName, destString);
- prefs = null;
- prefs = runtimePlugin.getPluginPreferences();
- defaultNames = prefs.defaultPropertyNames();
- prefNames = prefs.propertyNames();
- assertTrue("4.0 Three default preferences", defaultNames.length == 3);
- assertTrue("4.1 Two explicit preferences", prefNames.length == 2);
- // Do we have the right names for the explicit preferences?
- foundStateLocalPreference = false;
- foundCommonPreference = false;
- for (int i = 0; i < prefNames.length; i++) {
- if (prefNames[i].equals("StateLocalPreference"))
- foundStateLocalPreference = true;
- else if (prefNames[i].equals("commonStateAndFragmentLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- }
- assertTrue("4.2 Got right default preference names",
- foundStateLocalPreference && foundCommonPreference);
- // Do we have the right names for the default preferences?
- foundPluginLocalPreference = false;
- foundCommonPreference = false;
- foundPrimaryFeaturePreference = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("FragmentLocalPreference"))
- foundPluginLocalPreference = true;
- else if (defaultNames[i].equals("commonStateAndFragmentLocalAndPrimaryFeaturePreference"))
- foundCommonPreference = true;
- else if (defaultNames[i].equals("PrimaryFeaturePreference"))
- foundPrimaryFeaturePreference = true;
- }
- assertTrue("4.3 Got right default preference names",
- foundPluginLocalPreference && foundCommonPreference && foundPrimaryFeaturePreference);
- // Check preference values
- assertTrue("4.3 StateLocalPreference value",
- prefs.getString("StateLocalPreference").equals("From the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
- assertTrue("4.4 FragmentLocalPreference value",
- prefs.getString("FragmentLocalPreference").equals("From the local fragment directory of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
- assertTrue("4.5 PrimaryFeaturePreference value",
- prefs.getString("PrimaryFeaturePreference").equals("From the primary feature plugin directory via the plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
- assertTrue("4.6 commonStateAndFragmentLocalAndPrimaryFeaturePreference value",
- prefs.getString("commonStateAndFragmentLocalAndPrimaryFeaturePreference").equals("Common preference from the plugin state area of plugin stateAndFragmentLocalAndPrimaryFeaturePreferencesPlugin"));
-}
-
-private boolean buildPluginTestFile(String pluginId, String pluginSubDir, String basePrefName,
- String untransValue, String transValue, String prefixId) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
- URL pluginRoot = plugin.find(new Path("./"));
- File transfile = null;
- if (pluginSubDir != null) {
- transfile = new File(pluginRoot.getFile() + pluginSubDir);
- transfile.mkdirs();
- } else
- transfile = new File(pluginRoot.getFile());
- File rootfile = new File(pluginRoot.getFile());
- // Now build up the preferences file
- File prefFile = new File(rootfile, basePrefName + ".ini");
- try {
- FileOutputStream fs = new FileOutputStream(prefFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- if (prefixId != null) {
- w.println(prefixId + "/TranslatedPreference=%translateThis");
- w.println(prefixId + "/UntranslatedPreference = " + untransValue);
- } else {
- w.println("TranslatedPreference=%translateThis");
- w.println("UntranslatedPreference = " + untransValue);
- }
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to preference file " + prefFile.getPath());
- return false;
- }
- // Now build up the translation file
- File prefTransFile = new File(transfile, basePrefName + ".properties");
- try {
- FileOutputStream fs = new FileOutputStream(prefTransFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("translateThis = " + transValue);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to translation file " + prefTransFile.getPath());
- return false;
- }
- return true;
-}
-
-private boolean buildFragmentTestFile(String pluginId,
- String pluginSubDir, String basePrefName,
- String untransValue, String transValue, String prefixId) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull("0.1 Can't find plugin " + pluginId, plugin);
- PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
- PluginFragmentModel testFragment = null;
- for (int i = 0; (i < fragments.length) && (testFragment == null); i++) {
- if (fragments[i].getId().equals("primaryFeatureFragmentTranslations"))
- testFragment = fragments[i];
- }
- // Should only be one fragment
- assertNotNull("0.2 Can't find test fragment", testFragment);
- URL fragmentRoot = null;
- try {
- fragmentRoot = new URL(testFragment.getLocation());
- } catch (MalformedURLException badURL) {
- return false;
- }
- URL rootDirectory = null;
- try {
- rootDirectory = new URL(((PluginDescriptor)plugin).getLocation());
- } catch (MalformedURLException badURL) {
- return false;
- }
- File file = null;
- if (pluginSubDir != null) {
- file = new File(fragmentRoot.getFile() + pluginSubDir);
- file.mkdirs();
- } else
- file = new File(fragmentRoot.getFile());
- // Now build up the preference file
- File prefFile = new File(new File(rootDirectory.getFile()), basePrefName + ".ini");
- try {
- FileOutputStream fs = new FileOutputStream(prefFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- if (prefixId != null) {
- w.println(prefixId + "/TranslatedPreference=%translateThis");
- w.println(prefixId + "/UntranslatedPreference = " + untransValue);
- } else {
- w.println("TranslatedPreference=%translateThis");
- w.println("UntranslatedPreference = " + untransValue);
- }
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to preference file " + prefFile.getPath());
- return false;
- }
- // Now build up the translation file
- File prefTransFile = new File(file, basePrefName + ".properties");
- try {
- FileOutputStream fs = new FileOutputStream(prefTransFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("translateThis = " + transValue);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- System.out.println ("Unable to write to translation file " + prefTransFile.getPath());
- return false;
- }
- return true;
-}
-
-private String buildNLSubdirectory(int chopSegment) {
- // Build up nl related directories and test files
- String nl = BootLoader.getNL();
- nl = nl.replace('_', '/');
- // Chop off the number of segments stated
- int i = chopSegment;
- while (nl.length() > 0 && i > 0) {
- i--;
- int idx = nl.lastIndexOf('/');
- if (idx != -1)
- nl = nl.substring(0, idx);
- else
- nl = "";
- }
- if ((nl.length() == 0) && (i > 0))
- // We couldn't get rid of all the segments we wanted to
- return null;
- return nl;
-}
-
-private Preferences getPreferences (String pluginId, String errorPrefix) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- assertNotNull(errorPrefix + ".0 Can't find plugin " + pluginId);
- Plugin runtimePlugin = null;
- try {
- runtimePlugin = plugin.getPlugin();
- } catch (CoreException ce) {
- fail(errorPrefix + ".1 Can't activate plugin " + pluginId + ce.toString());
- }
- assertNotNull(errorPrefix + ".1 Can't activate plugin " + pluginId);
- Preferences prefs = runtimePlugin.getPluginPreferences();
- return prefs;
-}
-
-private void verifyPreferences (String pluginId, Preferences prefs,
- String errorPrefix, String untransValue, String transValue) {
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] explicitNames = prefs.propertyNames();
- assertEquals(errorPrefix + ".0 Two default preferences", defaultNames.length, 2);
- assertEquals(errorPrefix + ".1 No explicit preferences", explicitNames.length, 0);
- boolean translatedPref = false;
- boolean untranslatedPref = false;
- for (int i = 0; i < defaultNames.length; i++) {
- if (defaultNames[i].equals("TranslatedPreference"))
- translatedPref = true;
- else if (defaultNames[i].equals("UntranslatedPreference"))
- untranslatedPref = true;
- }
- assertTrue(errorPrefix + ".2 Didn't find preference \"TranslatedPreference\"",
- translatedPref);
- assertTrue(errorPrefix + ".3 Didn't find preference \"UntranslatedPreference\"",
- untranslatedPref);
- // Now check the preference values
- String value = prefs.getString("TranslatedPreference");
- assertEquals(errorPrefix + ".4 Value of \"TranslatedPreference\"",
- value, transValue);
- value = prefs.getString("UntranslatedPreference");
- assertEquals(errorPrefix + ".5 Value of \"UntranslatedPreference\"",
- value, untransValue);
-}
-
-private void cleanupTestFiles(String pluginId, String fragmentId, String testDirectory, String prefFileName) {
- IPluginDescriptor plugin = InternalPlatform.getPluginRegistry().getPluginDescriptor(pluginId);
- URL rootDir = null;
- if (fragmentId == null) {
- rootDir = plugin.find(new Path("./"));
- } else {
- PluginFragmentModel[] fragments = ((PluginDescriptor)plugin).getFragments();
- if (fragments.length != 1)
- return;
- try {
- rootDir = new URL(fragments[0].getLocation());
- } catch (MalformedURLException badURL) {
- return;
- }
- }
- if (rootDir == null)
- return;
- String rootString = rootDir.getFile();
- if (testDirectory != null)
- deleteDirectory(new File(rootString + "/" + testDirectory));
- new File(rootString + "/" + prefFileName).delete();
-}
-
-public void testPFTranslationPluginRoot() {
- // Test translations in the primary feature preferences when
- // the translation file is in the root plugin directory.
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
- assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
- String rootDirectory = null;
- try {
- rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
- } catch (MalformedURLException badURL) {
- fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
- }
- try {
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin root directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " plugin root directory.";
- IPath sourcePath = new Path(rootDirectory).append("plugin_customization.ini");
- File prefFile = sourcePath.toFile();
- try {
- FileOutputStream fs = new FileOutputStream(prefFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("primaryFeatureTranslations/TranslatedPreference=%translateThis");
- w.println("primaryFeatureTranslations/UntranslatedPreference = " + untransValue);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- fail ("Unable to write to preference file " + prefFile.getPath());
- }
- sourcePath = new Path(rootDirectory).append("plugin_customization.properties");
- File prefTransFile = new File(sourcePath.toString());
- try {
- FileOutputStream fs = new FileOutputStream(prefTransFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("translateThis = " + transValue);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- fail ("Unable to write to translation file " + prefTransFile.getPath());
- }
- Preferences prefs = getPreferences("primaryFeatureTranslations", "1");
- verifyPreferences ("primaryFeatureTranslations", prefs, "1",
- untransValue, transValue);
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, null, null, "plugin_customization.ini");
- cleanupTestFiles(primaryFeaturePluginId, null, null, "plugin_customization.properties");
- }
-}
-
-public void testPFTranslationsPluginNL1 () {
- // Test translations in the primary feature preferences when
- // the translation file is in the most specific nl directory
- // below the primary feature plugin.
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- try {
- String subDirectory = buildNLSubdirectory(0);
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- if (!buildPluginTestFile(primaryFeaturePluginId,
- "nl/" + subDirectory, "plugin_customization", untransValue,
- transValue, "primaryFeatureTranslations"))
- // We don't expect this one to fail
- fail ("0.2 Could not build nl preference data for testPFTranslationsPluginNL1");
- else {
- Preferences prefs = getPreferences("primaryFeatureTranslations", "2");
- verifyPreferences("primaryFeatureTranslations", prefs, "2", untransValue, transValue);
- }
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, null, "nl", "plugin_customization.ini");
- }
-}
-
-public void testPFTranslationsPluginNL2() {
- // Test translations in the primary feature preferences when
- // the translation file is in the nl/<first_segment> directory
- // below the primary feature plugin. Note that if there is
- // only one segment to the locale string, the test
- // testPFTranslationsPluginNL1 will have already done
- // this. In this case, this test will do nothing.
-
- String nl = BootLoader.getNL();
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- if (localeSegments > 1) {
- try {
- String subDirectory = buildNLSubdirectory(1);
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- if (!buildPluginTestFile(primaryFeaturePluginId,
- "nl/" + subDirectory, "plugin_customization", untransValue,
- transValue, "primaryFeatureTranslations"))
- // We don't expect this one to fail
- fail ("0.3 Could not build nl preference data for testPFTranslationsPluginNL2");
- else {
- Preferences prefs = getPreferences("primaryFeatureTranslations", "3");
- verifyPreferences("primaryFeatureTranslations", prefs, "3", untransValue, transValue);
- }
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, null, "nl", "plugin_customization.ini");
- }
- }
-}
-
-public void testPFTranslationsPluginNL3() {
- // Test translations in the primary feature preferences when
- // the translation file is in the nl/ directory
- // below the primary feature plugin. Note that these
- // translations should not be found.
- String nl = BootLoader.getNL();
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- try {
- String subDirectory = buildNLSubdirectory(localeSegments);
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- if (buildPluginTestFile(primaryFeaturePluginId,
- "nl/" + subDirectory, "plugin_customization", untransValue,
- transValue, "primaryFeatureTranslations"))
- if (subDirectory == null)
- // We don't expect this one to fail
- fail ("0.4 Could not build nl preference data for testPFTranslationsPluginNL3");
- else {
- Preferences prefs = getPreferences("primaryFeatureTranslations", "4");
- verifyPreferences("primaryFeatureTranslations", prefs, "4", untransValue, "%translateThis");
- }
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, null, "nl", "plugin_customization.ini");
- }
-}
-
-public void testPFTranslationFragmentRoot() {
- // Test translations in the primary feature preferences when
- // the translation file is in the root fragment directory.
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
- assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
- String rootDirectory = null;
- String fragmentRootDirectory = null;
- PluginFragmentModel[] fragments = ((PluginDescriptor)primaryFeatureDescriptor).getFragments();
- PluginFragmentModel testFragment = null;
- for (int i = 0; (i < fragments.length) && (testFragment == null); i++) {
- if (fragments[i].getId().equals("primaryFeatureFragmentTranslations"))
- testFragment = fragments[i];
- }
- assertNotNull("5.0 Can't find test fragment for primary feature", testFragment);
- try {
- fragmentRootDirectory = new URL(testFragment.getLocation()).getFile();
- } catch (MalformedURLException badURL) {
- fail("Bad URL created for " + testFragment.getLocation());
- }
- try {
- rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
- } catch (MalformedURLException badURL) {
- fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
- }
- try {
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin root directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " fragment root directory.";
- IPath sourcePath = new Path(rootDirectory).append("plugin_customization.ini");
- File prefFile = sourcePath.toFile();
- try {
- FileOutputStream fs = new FileOutputStream(prefFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("primaryFeatureTranslations/TranslatedPreference=%translateThis");
- w.println("primaryFeatureTranslations/UntranslatedPreference = " + untransValue);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- fail ("Unable to write to preference file " + prefFile.getPath());
- }
- sourcePath = new Path(fragmentRootDirectory).append("plugin_customization.properties");
- File prefTransFile = new File(sourcePath.toString());
- try {
- FileOutputStream fs = new FileOutputStream(prefTransFile);
- PrintWriter w = new PrintWriter(fs);
- try {
- w.println("translateThis = " + transValue);
- w.flush();
- } finally {
- w.close();
- }
- } catch (IOException ioe) {
- fail ("Unable to write to translation file " + prefTransFile.getPath());
- }
- Preferences prefs = getPreferences("primaryFeatureTranslations", "5");
- verifyPreferences ("primaryFeatureTranslations", prefs, "5",
- untransValue, transValue);
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, null, null, "plugin_customization.ini");
- cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", null, "plugin_customization.properties");
- }
-}
-
-public void testPFTranslationsFragmentNL1 () {
- // Test translations in the primary feature preferences when
- // the translation file is in the most specific nl directory
- // below the primary feature fragment.
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- try {
- String subDirectory = buildNLSubdirectory(0);
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " fragment " + subDirectory + " directory.";
- if (!buildFragmentTestFile(primaryFeaturePluginId,
- "nl/" + subDirectory, "plugin_customization", untransValue,
- transValue, "primaryFeatureTranslations"))
- // We don't expect this one to fail
- fail ("0.6 Could not build nl preference data for testPrimaryFeatureTranslationsNL1");
- else {
- Preferences prefs = getPreferences("primaryFeatureTranslations", "6");
- verifyPreferences("primaryFeatureTranslations", prefs, "6", untransValue, transValue);
- }
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", "nl", "plugin_customization.ini");
- }
-}
-
-public void testPFTranslationsFragmentNL2() {
- // Test translations in the primary feature preferences when
- // the translation file is in the nl/<first_segment> directory
- // below the primary feature fragment. Note that if there is
- // only one segment to the locale string, the test
- // testPFTranslationsFragmentNL1 will have already done
- // this. In this case, this test will do nothing.
-
- String nl = BootLoader.getNL();
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- if (localeSegments > 1) {
- try {
- String subDirectory = buildNLSubdirectory(1);
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " fragment " + subDirectory + " directory.";
- if (!buildFragmentTestFile(primaryFeaturePluginId,
- "nl/" + subDirectory, "plugin_customization", untransValue,
- transValue, "primaryFeatureTranslations"))
- // We don't expect this one to fail
- fail ("0.7 Could not build nl preference data for testPFTranslationsFragmentNL2");
- else {
- Preferences prefs = getPreferences("primaryFeatureTranslations", "7");
- verifyPreferences("primaryFeatureTranslations", prefs, "7", untransValue, transValue);
- }
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", "nl", "plugin_customization.ini");
- }
- }
-}
-
-public void testPFTranslationsFragmentNL3() {
- // Test translations in the primary feature preferences when
- // the translation file is in the nl/ directory
- // below the primary feature fragment. Note that these
- // translations should not be found.
- String nl = BootLoader.getNL();
- // there is at least one segment
- int localeSegments = 1;
- int i = nl.indexOf('_');
- while (i != -1) {
- localeSegments++;
- nl = nl.substring(i+1);
- i = nl.indexOf('_');
- }
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- try {
- String subDirectory = buildNLSubdirectory(localeSegments);
- String untransValue = "Test string from " + primaryFeaturePluginId + " plugin " + subDirectory + " directory.";
- String transValue = "Translated string from " + primaryFeaturePluginId + " fragment " + subDirectory + " directory.";
- if (buildFragmentTestFile(primaryFeaturePluginId,
- "nl/" + subDirectory, "plugin_customization", untransValue,
- transValue, "primaryFeatureTranslations"))
- if (subDirectory == null)
- // We don't expect this one to fail
- fail ("0.8 Could not build nl preference data for testPFTranslationsFragmentNL3");
- else {
- Preferences prefs = getPreferences("primaryFeatureTranslations", "8");
- verifyPreferences("primaryFeatureTranslations", prefs, "8", untransValue, "%translateThis");
- }
- } finally {
- cleanupTestFiles(primaryFeaturePluginId, "primaryFeatureFragmentTranslations", "nl", "plugin_customization.ini");
- }
-}
-
-public void xtestPluginLocalPreferenceTranslations() {
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java
deleted file mode 100644
index 712a01a..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/PrimaryFeaturePreferenceHelperTests.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import java.io.File;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.boot.BootLoader;
-import org.eclipse.core.internal.plugins.PluginDescriptor;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class PrimaryFeaturePreferenceHelperTests extends WorkspaceSessionTest {
-
-public PrimaryFeaturePreferenceHelperTests() {
- super(null);
-}
-public PrimaryFeaturePreferenceHelperTests(String name) {
- super(name);
-}
-
-public static void deleteDirectory (File directory) {
- String[] files = directory.list();
- if (files == null) {
- directory.delete();
- return;
- }
- for (int i = 0; i < files.length; i++) {
- File newFile = new File(directory, files[i]);
- if (newFile.isFile())
- newFile.delete();
- else if (newFile.isDirectory())
- deleteDirectory(newFile);
- }
- directory.delete();
-}
-
-protected void setUp () {
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
- assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
- String rootDirectory = null;
- try {
- rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
- } catch (MalformedURLException badURL) {
- fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
- }
- IPath sourcePath = new Path(rootDirectory).append("nl");
- File sourceFile = sourcePath.toFile();
- if (sourceFile.exists()) {
- if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("xxsavenl").toString())))
- fail("Unable to move nl directory for primary feature " + primaryFeaturePluginId);
- }
- sourcePath = new Path(rootDirectory).append("plugin_customization.ini");
- sourceFile = new File(sourcePath.toString());
- if (sourceFile.exists()) {
- if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("xxsaveplugin_customization.ini").toString())))
- fail("Unable to move existing plugin_customization.ini file.");
- }
- sourcePath = new Path(rootDirectory).append("plugin_customization.properties");
- sourceFile = new File(sourcePath.toString());
- if (sourceFile.exists()) {
- if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("xxsaveplugin_customization.properties").toString())))
- fail("Unable to move existing plugin_customization.properties file.");
- }
-}
-
-protected void tearDown () {
- String primaryFeaturePluginId = BootLoader.getCurrentPlatformConfiguration().getPrimaryFeatureIdentifier();
- IPluginDescriptor primaryFeatureDescriptor = Platform.getPluginRegistry().getPluginDescriptor(primaryFeaturePluginId);
- assertNotNull("Can't find primary feature plugin " + primaryFeatureDescriptor);
- String rootDirectory = null;
- try {
- rootDirectory = new URL(((PluginDescriptor)primaryFeatureDescriptor).getLocation()).getFile();
- } catch (MalformedURLException badURL) {
- fail("Bad URL created for " + ((PluginDescriptor)primaryFeatureDescriptor).getLocation());
- }
- IPath sourcePath = new Path(rootDirectory).append("xxsavenl");
- File sourceFile = new File(sourcePath.toString());
- if (sourceFile.exists()) {
- IPath destPath = new Path(rootDirectory).append("nl");
- File destFile = new File(destPath.toString());
- if (destFile.exists()) {
- deleteDirectory(destFile);
- }
- if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("nl").toString())))
- fail("Unable to restore nl directory for primary feature " + primaryFeaturePluginId);
- }
- sourcePath = new Path(rootDirectory).append("xxsaveplugin_customization.ini");
- sourceFile = new File(sourcePath.toString());
- if (sourceFile.exists()) {
- IPath destPath = new Path(rootDirectory).append("plugin_customization.ini");
- File destFile = new File(destPath.toString());
- if (destFile.exists()) {
- if (!destFile.delete())
- fail("Unable to remove test plugin_customization.ini file for " + primaryFeaturePluginId);
- }
- if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("plugin_customization.ini").toString())))
- fail("Unable to restore plugin_customization.ini file.");
- }
- sourcePath = new Path(rootDirectory).append("xxsaveplugin_customization.properties");
- sourceFile = new File(sourcePath.toString());
- if (sourceFile.exists()) {
- IPath destPath = new Path(rootDirectory).append("plugin_customization.properties");
- File destFile = new File(destPath.toString());
- if (destFile.exists()) {
- if (!destFile.delete())
- fail("Unable to remove test plugin_customization.properties file for " + primaryFeaturePluginId);
- }
- if (!sourceFile.renameTo(new File(new Path(rootDirectory).append("plugin_customization.properties").toString())))
- fail("Unable to restore plugin_customization.properties file.");
- }
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java
deleted file mode 100644
index 40bb085..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/plugintests/SavePreferencesTests.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.plugintests;
-
-import org.eclipse.core.internal.runtime.InternalPlatform;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.IPluginRegistry;
-import org.eclipse.core.runtime.Plugin;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.tests.harness.WorkspaceSessionTest;
-
-public class SavePreferencesTests extends WorkspaceSessionTest {
-
-public SavePreferencesTests() {
- super(null);
-}
-public SavePreferencesTests(String name) {
- super(name);
-}
-
-public void testChangeExistingPreference() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("changeExistingPreference");
- Preferences prefs = null;
- Plugin plugin = null;
- try {
- plugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("1.0 core exception activating \"changeExistingPreference\"");
- }
- prefs = plugin.getPluginPreferences();
- // We should have only one preference
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("1.1 One default preferences", defaultNames.length == 1);
- assertTrue("1.2 No explicit preferences", prefNames.length == 0);
- assertTrue("1.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
- assertTrue("1.4 Default preference value",
- prefs.getString("ExistingPreference").equals("From the local plugin directory"));
-
- // Now change the value of this preference
- prefs.setValue("ExistingPreference", "From the test, testChangeExistingPreference");
- plugin.savePluginPreferences();
-}
-
-public void testChangeExistingPreference2() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("changeExistingPreference");
- Preferences prefs = null;
- Plugin plugin = null;
- try {
- plugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("2.0 core exception activating \"changeExistingPreference\"");
- }
- prefs = plugin.getPluginPreferences();
- // We should have only one preference with a default value
- // and an explicitly set value (because we set it in
- // testChangeExistingPreference.
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("2.1 One default preferences", defaultNames.length == 1);
- assertTrue("2.2 One explicit preference", prefNames.length == 1);
- assertTrue("2.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
- assertTrue("2.4 Explicit preference name", prefNames[0].equals("ExistingPreference"));
- assertTrue("2.5 Default preference value",
- prefs.getDefaultString("ExistingPreference").equals("From the local plugin directory"));
- assertTrue("2.6 Explicit preference value",
- prefs.getString("ExistingPreference").equals("From the test, testChangeExistingPreference"));
-
- // Now change the value of this preference back to the default
- prefs.setValue("ExistingPreference", "From the local plugin directory");
- plugin.savePluginPreferences();
-}
-
-public void testChangeExistingPreference3() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("changeExistingPreference");
- Preferences prefs = null;
- Plugin plugin = null;
- try {
- plugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("3.0 core exception activating \"changeExistingPreference\"");
- }
- prefs = plugin.getPluginPreferences();
- // We should be back to having just the default preference
- // since we set the explicit value back to the default value in
- // testChangeExistingPreference2
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("3.1 One default preferences", defaultNames.length == 1);
- assertTrue("3.2 No explicit preferences", prefNames.length == 0);
- assertTrue("3.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
- assertTrue("3.4 Default preference value",
- prefs.getDefaultString("ExistingPreference").equals("From the local plugin directory"));
-}
-
-public void testAddNewPreference() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("addNewPreference");
- Preferences prefs = null;
- Plugin plugin = null;
- try {
- plugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("4.0 core exception activating \"addNewPreference\"");
- }
- prefs = plugin.getPluginPreferences();
- // We should have only one preference
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("4.1 One default preferences", defaultNames.length == 1);
- assertTrue("4.2 No explicit preferences", prefNames.length == 0);
- assertTrue("4.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
- assertTrue("4.4 Default preference value",
- prefs.getString("ExistingPreference").equals("From the local plugin directory of addNewPreference"));
-
- // Now add a new preference
- prefs.setValue("newPreference", "From the test, testAddNewPreference");
- plugin.savePluginPreferences();
-}
-
-public void testAddNewPreference2() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
-
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("addNewPreference");
- Preferences prefs = null;
- Plugin plugin = null;
- try {
- plugin = resPlugin.getPlugin();
- } catch (CoreException ce) {
- fail("5.0 core exception activating \"addNewPreference\"");
- }
- prefs = plugin.getPluginPreferences();
- // We should have 2 preferences (one set by default and the
- // other set explicitly in testAddNewPreference
- String[] defaultNames = prefs.defaultPropertyNames();
- String[] prefNames = prefs.propertyNames();
- assertTrue("5.1 One default preferences", defaultNames.length == 1);
- assertTrue("5.2 One explicit preferences", prefNames.length == 1);
- assertTrue("5.3 Default preference name", defaultNames[0].equals("ExistingPreference"));
- assertTrue("5.4 Explicit preference name", prefNames[0].equals("newPreference"));
- assertTrue("5.5 Default preference value",
- prefs.getDefaultString("ExistingPreference").equals("From the local plugin directory of addNewPreference"));
- assertTrue("5.6 Explicit preference value",
- prefs.getString("newPreference").equals("From the test, testAddNewPreference"));
-}
-
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java
deleted file mode 100644
index 2fbe083..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AllTests.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2002 International Business Machines Corp. and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM Corporation - initial test suite
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.*;
-import org.eclipse.core.tests.runtime.model.ConfigurationElementModelTest;
-
-
-public class AllTests extends TestCase {
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests() {
- super(null);
-}
-/**
- * AllTests constructor comment.
- * @param name java.lang.String
- */
-public AllTests(String name) {
- super(name);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(PathTest.suite());
- suite.addTest(PlatformTest.suite());
- suite.addTest(PreferencesTest.suite());
- suite.addTest(PreferenceExportTest.suite());
- suite.addTest(org.eclipse.core.tests.internal.runtime.AllTests.suite());
- suite.addTest(ConfigurationElementModelTest.suite());
- suite.addTest(org.eclipse.core.tests.internal.plugins.AllTests.suite());
- suite.addTest(org.eclipse.core.tests.internal.registrycache.AllTests.suite());
- return suite;
-}
-}
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
deleted file mode 100644
index b2e8036..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/AutomatedTests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.*;
-/**
- * Runs the sniff tests for the build. All tests listed here should
- * be automated.
- */
-public class AutomatedTests extends TestCase {
-
-public AutomatedTests() {
- super(null);
-}
-
-public AutomatedTests(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(org.eclipse.core.tests.runtime.AllTests.suite());
- return suite;
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java
deleted file mode 100644
index 3c7cea1..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/BenchPath.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import java.util.HashMap;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.IPath;
-import org.eclipse.core.runtime.Path;
-import org.eclipse.core.tests.harness.CorePerformanceTest;
-
-public class BenchPath extends CorePerformanceTest {
-public BenchPath() {
-}
-public BenchPath(String testName) {
- super(testName);
-}
-public static Test suite() {
- TestSuite suite= new TestSuite();
-
-// suite.addTest(new BenchPath("benchHash"));
-// suite.addTest(new BenchPath("benchPathCreation"));
- suite.addTest(new BenchPath("benchToOSString"));
- suite.addTest(new BenchPath("benchToString"));
-
- return suite;
-}
-/**
- * Tests performance of equals and hashCode by using paths
- * as keys in a hash map.
- */
-public void benchHash() {
- final int REPEAT = 2000000;
- IPath[] paths = generateVariousPaths();
- HashMap map = new HashMap(32);
- for (int i = 0; i < paths.length; i++) {
- map.put(paths[i], "");
- }
- int numPaths = paths.length;
- startBench();
- for (int i = 0; i < REPEAT; i++) {
- for (int p = 0; p < numPaths; p++) {
- map.get(paths[p]);
- }
- }
- stopBench("benchHash", REPEAT * numPaths);
-}
-/**
- * Tests the performance of path creation
- */
-public void benchPathCreation() {
-
- final int repeat = 100000;
- final int count = repeat * 20;
-
- startBench();
-
- for (int rep = repeat; --rep >= 0;) {
- //folders (5)
- new Path("/");
- new Path("/Foo");
- new Path("/Foo/bar");
- new Path("/Foo/bar/baz");
- new Path("/Foo/bar/baz/blap");
-
- //files (15)
- new Path("/Foo/abc.txt");
- new Path("/Foo/bar/abc.txt");
- new Path("/Foo/bar/baz/abc.txt");
- new Path("/Foo/bar/baz/blap/abc.txt");
- new Path("/Foo/bar/abc.txt");
- new Path("/Foo/bar/baz/abc.txt");
- new Path("/Foo/bar/baz/blap/abc.txt");
- new Path("/Foo/bar/baz/abc.txt");
- new Path("/Foo/bar/baz/blap/abc.txt");
- new Path("/Foo/bar/baz/abc.txt");
- new Path("/Foo/bar/baz/blap/abc.txt");
- new Path("/Foo/bar/baz/abc.txt");
- new Path("/Foo/bar/baz/blap/abc.txt");
- new Path("/Foo/bar/baz/blap/blam/abc.txt");
- new Path("/Foo/bar/baz/blap/blam/blip/boop/abc.txt");
-
- }
-
- stopBench("benchPathCreation", count);
-}
-/**
- * Tests the performance of Path.toOSString
- */
-public void benchToOSString() {
- final int repeat = 500000;
-
- IPath[] paths = generateVariousPaths();
- final int count = repeat * paths.length;
-
- startBench();
- for (int rep = repeat; --rep >= 0;) {
- for (int p = paths.length; --p >= 0;) {
- paths[p].toOSString();
- }
- }
- stopBench("benchToOSString", count);
-}
-/**
- * Tests the performance of Path.toOSString
- */
-public void benchToString() {
- final int repeat = 500000;
-
- IPath[] paths = generateVariousPaths();
- final int count = repeat * paths.length;
-
- startBench();
- for (int rep = repeat; --rep >= 0;) {
- for (int p = paths.length; --p >= 0;) {
- paths[p].toString();
- }
- }
- stopBench("benchToString", count);
-}
-
-/**
- * Returns an array containing various paths.
- */
-private IPath[] generateVariousPaths() {
- IPath[] paths = new IPath[20];
- int i = 0;
- paths[i++] = new Path("/");
- paths[i++] = new Path("/Foo");
- paths[i++] = new Path("/Foo/bar");
- paths[i++] = new Path("/Foo/bar/baz");
- paths[i++] = new Path("/Foo/bar/baz/blap");
-
- //files (15)
- paths[i++] = new Path("/Foo/abc.txt");
- paths[i++] = new Path("/Foo/bar/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");
- paths[i++] = new Path("/Foo/bar/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/blam/abc.txt");
- paths[i++] = new Path("/Foo/bar/baz/blap/blam/blip/boop/abc.txt");
-
- return paths;
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java
deleted file mode 100644
index fc088b5..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/CoreExceptionTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the Path class.
- */
-public class CoreExceptionTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public CoreExceptionTest() {
- super(null);
-}
-public CoreExceptionTest(String name) {
- super(name);
-}
-public static Test suite() {
- return new TestSuite(CoreExceptionTest.class);
-}
-public void testCoreException() {
- final String MESSAGE_STRING = "An exception has occurred";
- IStatus status = new Status(
- IStatus.ERROR,
- "org.eclipse.core.tests.runtime",
- 31415,
- MESSAGE_STRING,
- new NumberFormatException());
-
- CoreException e = new CoreException(status);
-
- assertEquals("1.0",status,e.getStatus());
- assertEquals("1.1",MESSAGE_STRING,e.getMessage());
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java
deleted file mode 100644
index ea85cde..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/OperationCanceledExceptionTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the Path class.
- */
-public class OperationCanceledExceptionTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public OperationCanceledExceptionTest() {
- super(null);
-}
-public OperationCanceledExceptionTest(String name) {
- super(name);
-}
-public static Test suite() {
- return new TestSuite(OperationCanceledExceptionTest.class);
-}
-public void testCoreException() {
- final String MESSAGE_STRING = "An exception has occurred";
- OperationCanceledException e = new OperationCanceledException(MESSAGE_STRING);
-
- assertEquals("1.0",MESSAGE_STRING,e.getMessage());
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java
deleted file mode 100644
index a047574..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PathTest.java
+++ /dev/null
@@ -1,656 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-import java.util.ArrayList;
-
-/**
- * Test cases for the Path class.
- */
-public class PathTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public PathTest() {
- super(null);
-}
-public PathTest(String name) {
- super(name);
-}
-public static Test suite() {
-
- return new TestSuite(PathTest.class);
-
- //TestSuite suite= new TestSuite();
- //suite.addTest(new PathTest("testConstructors"));
- //return suite;
-}
-public void testAddTrailingSeparator() {
-
- IPath with = new Path("/first/second/third/");
- IPath without = new Path("/first/second/third");
-
- assertSame("1.0", with, with.addTrailingSeparator());
- assertEquals("1.1", with, without.addTrailingSeparator());
- assertTrue("1.2", without.equals(without.addTrailingSeparator()));
-
- assertSame("2.0", Path.ROOT, Path.ROOT.addTrailingSeparator());
- assertEquals("2.1", Path.ROOT, Path.EMPTY.addTrailingSeparator());
-
- with = new Path("//first/second/third/");
- without = new Path("//first/second/third");
-
- assertSame("3.0", with, with.addTrailingSeparator());
- assertEquals("3.1", with, without.addTrailingSeparator());
- assertTrue("3.2", without.equals(without.addTrailingSeparator()));
-
- assertSame("4.0", Path.ROOT, Path.ROOT.addTrailingSeparator());
- assertEquals("4.1", Path.ROOT, Path.EMPTY.addTrailingSeparator());
-
- with = new Path("c:/first/second/third/");
- without = new Path("c:/first/second/third");
-
- assertSame("5.0", with, with.addTrailingSeparator());
- assertEquals("5.1", with, without.addTrailingSeparator());
- assertTrue("5.2", without.equals(without.addTrailingSeparator()));
-
- assertSame("6.0", Path.ROOT, Path.ROOT.addTrailingSeparator());
- assertEquals("6.1", Path.ROOT, Path.EMPTY.addTrailingSeparator());
-}
-public void testAppend() {
-
- IPath fore = new Path("/first/second/third/");
- String aftString = "/fourth/fifth";
- IPath aft = new Path(aftString);
- IPath combo = new Path("/first/second/third/fourth/fifth");
-
- assertEquals("1.0", combo, fore.append(aft));
- assertEquals("1.1", combo, fore.removeTrailingSeparator().append(aft));
- assertEquals("1.2", combo, Path.ROOT.append(fore).append(aft));
- assertTrue("1.3", !fore.append(aft).hasTrailingSeparator());
- assertTrue("1.4", !Path.ROOT.append(fore).append(aft).hasTrailingSeparator());
- assertTrue("1.5", !fore.removeTrailingSeparator().append(aft).hasTrailingSeparator());
-
- assertEquals("2.0", combo, fore.append(aftString));
- assertEquals("2.1", combo, fore.removeTrailingSeparator().append(aftString));
- assertEquals("2.2", combo, Path.ROOT.append(fore).append(aftString));
- assertTrue("2.3", !fore.append(aftString).hasTrailingSeparator());
- assertTrue("2.4", !Path.ROOT.append(fore).append(aftString).hasTrailingSeparator());
- assertTrue("2.5", !fore.removeTrailingSeparator().append(aftString).hasTrailingSeparator());
-
- //ensure append preserves correct trailing separator
- assertTrue("3.0", !fore.append("aft").hasTrailingSeparator());
- assertTrue("3.1", fore.append("aft/").hasTrailingSeparator());
- assertTrue("3.2", !fore.append("/aft").hasTrailingSeparator());
- assertTrue("3.3", fore.append("/aft/").hasTrailingSeparator());
- assertTrue("3.4", !fore.append("\\aft").hasTrailingSeparator());
- assertTrue("3.5", fore.append("aft\\").hasTrailingSeparator());
- assertTrue("3.6", !fore.append("fourth/fifth").hasTrailingSeparator());
- assertTrue("3.7", fore.append("fourth/fifth/").hasTrailingSeparator());
- assertTrue("3.8", !fore.append(new Path("aft")).hasTrailingSeparator());
- assertTrue("3.9", fore.append(new Path("aft/")).hasTrailingSeparator());
- assertTrue("3.10", !fore.append(new Path("fourth/fifth")).hasTrailingSeparator());
- assertTrue("3.11", fore.append(new Path("fourth/fifth/")).hasTrailingSeparator());
-
- //make sure append converts slashes appropriately
- aftString = "fourth\\fifth";
- assertEquals("4.0", combo, fore.append(aftString));
- assertEquals("4.1", combo, fore.removeTrailingSeparator().append(aftString));
- assertEquals("4.2", combo, Path.ROOT.append(fore).append(aftString));
-
- assertEquals("5.0", new Path("/foo"), Path.ROOT.append("../foo"));
- assertEquals("5.1", new Path("/foo"), Path.ROOT.append("./foo"));
- assertEquals("5.2", new Path("c:/foo/xyz"), new Path("c:/foo/bar").append("../xyz"));
- assertEquals("5.3", new Path("c:/foo/bar/xyz"), new Path("c:/foo/bar").append("./xyz"));
-
- //append preserves device and leading separator of receiver
- assertEquals("6.1", new Path("c:foo/bar"), new Path("c:").append("/foo/bar"));
- assertEquals("6.2", new Path("c:foo/bar"), new Path("c:").append("foo/bar"));
- assertEquals("6.3", new Path("c:/foo/bar"), new Path("c:/").append("/foo/bar"));
- assertEquals("6.4", new Path("c:/foo/bar"), new Path("c:/").append("foo/bar"));
-
- assertEquals("6.5", new Path("c:foo/bar"), new Path("c:").append("z:/foo/bar"));
- assertEquals("6.6", new Path("c:foo/bar"), new Path("c:").append("z:foo/bar"));
- assertEquals("6.7", new Path("c:/foo/bar"), new Path("c:/").append("z:/foo/bar"));
- assertEquals("6.8", new Path("c:/foo/bar"), new Path("c:/").append("z:foo/bar"));
-
- assertEquals("6.9", new Path("c:foo/bar"), new Path("c:").append(new Path("/foo/bar")));
- assertEquals("6.10", new Path("c:foo/bar"), new Path("c:").append(new Path("foo/bar")));
- assertEquals("6.11", new Path("c:/foo/bar"), new Path("c:/").append(new Path("/foo/bar")));
- assertEquals("6.12", new Path("c:/foo/bar"), new Path("c:/").append(new Path("foo/bar")));
-
- assertEquals("6.13", new Path("c:foo/bar"), new Path("c:").append(new Path("z:/foo/bar")));
- assertEquals("6.14", new Path("c:foo/bar"), new Path("c:").append(new Path("z:foo/bar")));
- assertEquals("6.15", new Path("c:/foo/bar"), new Path("c:/").append(new Path("z:/foo/bar")));
- assertEquals("6.16", new Path("c:/foo/bar"), new Path("c:/").append(new Path("z:foo/bar")));
-
-
- //append preserves isUNC of receiver
- assertEquals("7.0", new Path("/foo/bar"), new Path("/foo").append("//bar"));
- assertEquals("7.1", new Path("/foo/bar/test"), new Path("/foo").append("bar//test"));
- assertEquals("7.2", new Path("//foo/bar"), new Path("//foo").append("bar"));
-}
-public void testSegmentCount() {
-
- assertEquals("1.0", 0, Path.ROOT.segmentCount());
- assertEquals("1.1", 0, Path.EMPTY.segmentCount());
-
- assertEquals("2.0", 1, new Path("/first").segmentCount());
- assertEquals("2.1", 1, new Path("/first/").segmentCount());
- assertEquals("2.2", 3, new Path("/first/second/third/").segmentCount());
- assertEquals("2.3", 3, new Path("/first/second/third").segmentCount());
- assertEquals("2.4", 5, new Path("/first/second/third/fourth/fifth").segmentCount());
-
- assertEquals("3.0", 0, new Path("//").segmentCount());
- assertEquals("3.1", 1, new Path("//first").segmentCount());
- assertEquals("3.2", 1, new Path("//first/").segmentCount());
- assertEquals("3.3", 2, new Path("//first/second").segmentCount());
- assertEquals("3.4", 2, new Path("//first/second/").segmentCount());
-}
-public void testCanonicalize() {
- // Test collapsing multiple separators
- // double slashes at the beginning of a path
- // are left and assumed to be a UNC path
- assertEquals("//", new Path("///////").toString());
- assertEquals("/a/b/c", new Path("/a/b//c").toString());
- assertEquals("//a/b/c", new Path("//a/b//c").toString());
- assertEquals("a/b/c/", new Path("a/b//c//").toString());
-
- // Test collapsing single dots
- assertEquals("2.0", "/", new Path("/./././.").toString());
- assertEquals("2.1", "/a/b/c", new Path("/a/./././b/c").toString());
- assertEquals("2.2", "/a/b/c", new Path("/a/./b/c/.").toString());
- assertEquals("2.3", "a/b/c", new Path("a/./b/./c").toString());
-
- // Test collapsing double dots
- assertEquals("3.0", "/a/b", new Path("/a/b/c/..").toString());
- assertEquals("3.1", "/", new Path("/a/./b/../..").toString());
-}
-public void testClone() {
-
- IPath anyPath = new Path("/a/b/c");
- assertEquals("1.0", anyPath, anyPath.clone());
- anyPath = new Path("//a/b/c");
- assertEquals("1.1", anyPath, anyPath.clone());
- anyPath = new Path("c:/a/b/c");
- assertEquals("1.2", anyPath, anyPath.clone());
-
- assertEquals("1.3", Path.ROOT, Path.ROOT.clone());
-}
-public void testConstructors() {
-
- assertEquals("1.0", "", new Path("").toString());
- assertEquals("1.1", "/", new Path("/").toString());
- assertEquals("1.2", "a", new Path("a").toString());
- assertEquals("1.3", "/a", new Path("/a").toString());
- assertEquals("1.4", "//", new Path("//").toString());
- assertEquals("1.5", "/a/", new Path("/a/").toString());
- assertEquals("1.6", "/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z", new Path("/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z").toString());
- assertEquals("1.7", "...", new Path("...").toString());
- assertEquals("1.8", "/a/b/.../c", new Path("/a/b/.../c").toString());
-
- IPath anyPath = new Path("/first/second/third");
-
- assertEquals("2.0", Path.EMPTY, new Path(""));
- assertEquals("2.1", Path.ROOT, new Path("/"));
- assertEquals("2.2", anyPath, anyPath);
-}
-public void testFirstSegment() {
-
- assertNull("1.0", Path.ROOT.segment(0));
- assertNull("1.1", Path.EMPTY.segment(0));
-
- assertEquals("2.0", "a", new Path("/a/b/c").segment(0));
- assertEquals("2.1", "a", new Path("a").segment(0));
- assertEquals("2.2", "a", new Path("/a").segment(0));
- assertEquals("2.3", "a", new Path("a/b").segment(0));
- assertEquals("2.4", "a", new Path("//a/b").segment(0));
- assertEquals("2.5", "a", new Path("c:a/b").segment(0));
- assertEquals("2.6", "a", new Path("c:/a/b").segment(0));
-
-}
-public void testGetFileExtension() {
-
- IPath anyPath = new Path("index.html");
- assertEquals("1.0", anyPath.getFileExtension(), "html");
-
- assertNull("2.0", Path.ROOT.getFileExtension());
- assertNull("2.1", Path.EMPTY.getFileExtension());
- assertNull("2.2", new Path("index").getFileExtension());
- assertNull("2.3", new Path("/a/b/c.txt/").getFileExtension());
-
- assertEquals("3.0", "txt", new Path("/a/b/c.txt").getFileExtension());
- assertEquals("3.1", "txt", new Path("/a/b/c.foo.txt").getFileExtension());
- assertEquals("3.2", "txt", new Path("//a/b/c.foo.txt").getFileExtension());
- assertEquals("3.3", "txt", new Path("c:/a/b/c.foo.txt").getFileExtension());
- assertEquals("3.4", "txt", new Path("c:a/b/c.foo.txt").getFileExtension());
-
-}
-public void testHasTrailingSeparator() {
-
- // positive
- assertTrue("1.0", new Path("/first/second/third/").hasTrailingSeparator());
- assertTrue("1.1", new Path("//first/second/third/").hasTrailingSeparator());
- assertTrue("1.2", new Path("c:/first/second/third/").hasTrailingSeparator());
- assertTrue("1.3", new Path("c:first/second/third/").hasTrailingSeparator());
-
- // negative
- assertTrue("2.0", !new Path("first/second/third").hasTrailingSeparator());
- assertTrue("2.1", !Path.ROOT.hasTrailingSeparator());
- assertTrue("2.2", !Path.EMPTY.hasTrailingSeparator());
- assertTrue("2.3", !new Path("//first/second/third").hasTrailingSeparator());
- assertTrue("2.4", !new Path("c:/first/second/third").hasTrailingSeparator());
- assertTrue("2.5", !new Path("c:first/second/third").hasTrailingSeparator());
-
- //paths of length 0 never have a trailing separator
- assertTrue("3.0", !new Path("/first/").removeLastSegments(1).hasTrailingSeparator());
- assertTrue("3.1", !new Path("/first/").removeFirstSegments(1).hasTrailingSeparator());
- assertTrue("3.2", !new Path("/").hasTrailingSeparator());
- assertTrue("3.3", !new Path("/first/").append("..").hasTrailingSeparator());
- assertTrue("3.4", !new Path("/first/").append(new Path("..")).hasTrailingSeparator());
- assertTrue("3.5", !new Path("/first/../").hasTrailingSeparator());
- assertTrue("3.6", !Path.ROOT.addTrailingSeparator().hasTrailingSeparator());
- assertTrue("3.7", !Path.EMPTY.addTrailingSeparator().hasTrailingSeparator());
-
-}
-public void testIsAbsolute() {
-
- // positive
- assertTrue("1.0", new Path("/first/second/third").isAbsolute());
- assertTrue("1.1", Path.ROOT.isAbsolute());
- assertTrue("1.2", new Path("//first/second/third").isAbsolute());
- assertTrue("1.3", new Path("c:/first/second/third").isAbsolute());
-
- // negative
- assertTrue("2.0", !new Path("first/second/third").isAbsolute());
- assertTrue("2.1", !Path.EMPTY.isAbsolute());
- assertTrue("2.2", !new Path("c:first/second/third").isAbsolute());
-}
-public void testIsEmpty() {
-
- // positive
- assertTrue("1.0", Path.EMPTY.isEmpty());
-
- // negative
- assertTrue("1.1", !new Path("first/second/third").isEmpty());
- assertTrue("1.2", !Path.ROOT.isEmpty());
-}
-public void testIsPrefixOf() {
-
- IPath prefix = new Path("/first/second");
- IPath path = new Path("/first/second/third/fourth");
-
- assertTrue("1.0", prefix.isPrefixOf(path));
- // test the case where the arg is longer than the receiver.
- assertTrue("1.1", !path.isPrefixOf(prefix));
- assertTrue("1.2", !new Path("fifth/sixth").isPrefixOf(path));
-
- assertTrue("2.0", prefix.addTrailingSeparator().isPrefixOf(path));
-
- assertTrue("3.0", Path.ROOT.isPrefixOf(path));
- assertTrue("3.1", Path.EMPTY.isPrefixOf(path));
- assertTrue("3.2", !path.isPrefixOf(Path.ROOT));
- assertTrue("3.3", !path.isPrefixOf(Path.EMPTY));
-}
-public void testIsRoot() {
-
- // negative
- assertTrue("1.0", !new Path("/first/second").isRoot());
- assertTrue("1.1", !Path.EMPTY.isRoot());
- assertTrue("1.2", !new Path("//").isRoot());
-
- // positive
- assertTrue("2.0", Path.ROOT.isRoot());
- assertTrue("2.1", new Path("/").isRoot());
-}
-public void testIsUNC() {
-
- // negative
- assertTrue("1.0", !Path.ROOT.isUNC());
- assertTrue("1.1", !Path.EMPTY.isUNC());
-
- assertTrue("2.0", !new Path("a").isUNC());
- assertTrue("2.1", !new Path("a/b").isUNC());
- assertTrue("2.2", !new Path("/a").isUNC());
- assertTrue("2.3", !new Path("/a/b").isUNC());
-
- assertTrue("3.0", !new Path("c:/a/b").isUNC());
- assertTrue("3.1", !new Path("c:a/b").isUNC());
- assertTrue("3.2", !new Path("/F/../").isUNC());
-
- assertTrue("4.0", !new Path("c://a/").isUNC());
- assertTrue("4.1", !new Path("c:\\/a/b").isUNC());
- assertTrue("4.2", !new Path("c:\\\\").isUNC());
-
- // positive
- assertTrue("5.0", new Path("//").isUNC());
- assertTrue("5.1", new Path("//a").isUNC());
- assertTrue("5.2", new Path("//a/b").isUNC());
- assertTrue("5.3", new Path("\\\\ThisMachine\\HOME\\foo.jar").isUNC());
-
- assertTrue("6.0", new Path("c://a/").setDevice(null).isUNC());
- assertTrue("6.1", new Path("c:\\/a/b").setDevice(null).isUNC());
- assertTrue("6.2", new Path("c:\\\\").setDevice(null).isUNC());
-
-}
-public void testLastSegment() {
-
- assertEquals("1.0", "second", new Path("/first/second").lastSegment());
-
- assertEquals("2.0", "first", new Path("first").lastSegment());
- assertEquals("2.1", "first", new Path("/first/").lastSegment());
- assertEquals("2.2", "second", new Path("first/second").lastSegment());
- assertEquals("2.3", "second", new Path("first/second/").lastSegment());
-
- assertNull("3.0", Path.EMPTY.lastSegment());
- assertNull("3.1", Path.ROOT.lastSegment());
- assertNull("3.2", new Path("//").lastSegment());
-
- assertEquals("4.0", "second", new Path("//first/second/").lastSegment());
- assertEquals("4.1", "second", new Path("//first/second").lastSegment());
- assertEquals("4.2", "second", new Path("c:/first/second/").lastSegment());
- assertEquals("4.3", "second", new Path("c:first/second/").lastSegment());
-
- assertEquals("5.0", "first", new Path("//first").lastSegment());
- assertEquals("5.1", "first", new Path("//first/").lastSegment());
-}
-public void testMakeAbsolute() {
- IPath anyPath = new Path("first/second/third").makeAbsolute();
- assertTrue("1.0", anyPath.isAbsolute());
- assertEquals("1.1", new Path("/first/second/third"), anyPath);
-
- anyPath = new Path("").makeAbsolute();
- assertTrue("2.0", anyPath.isAbsolute());
- assertEquals("2.1", Path.ROOT, anyPath);
-}
-public void testMakeRelative() {
- IPath anyPath = new Path("/first/second/third").makeRelative();
- assertTrue("1.0", !anyPath.isAbsolute());
- assertEquals("1.1", new Path("first/second/third"), anyPath);
-
- anyPath = Path.ROOT.makeRelative();
- assertTrue("2.0", !anyPath.isAbsolute());
- assertEquals("2.1", new Path(""), anyPath);
-}
-public void testMakeUNC() {
-
- ArrayList inputs = new ArrayList();
- ArrayList expected = new ArrayList();
- ArrayList expectedNon = new ArrayList();
-
- inputs.add(Path.ROOT);
- expected.add("//");
- expectedNon.add("/");
-
- inputs.add(Path.EMPTY);
- expected.add("//");
- expectedNon.add("");
-
- inputs.add(new Path("a"));
- expected.add("//a");
- expectedNon.add("a");
-
- inputs.add(new Path("a/b"));
- expected.add("//a/b");
- expectedNon.add("a/b");
-
- inputs.add(new Path("/a/b/"));
- expected.add("//a/b/");
- expectedNon.add("/a/b/");
-
- inputs.add(new Path("//"));
- expected.add("//");
- expectedNon.add("/");
-
- inputs.add(new Path("//a"));
- expected.add("//a");
- expectedNon.add("/a");
-
- inputs.add(new Path("//a/b"));
- expected.add("//a/b");
- expectedNon.add("/a/b");
-
- inputs.add(new Path("//a/b/"));
- expected.add("//a/b/");
- expectedNon.add("/a/b/");
-
- inputs.add(new Path("c:", "/"));
- expected.add("//");
- expectedNon.add("c:/");
-
- inputs.add(new Path("c:", ""));
- expected.add("//");
- expectedNon.add("c:");
-
- inputs.add(new Path("c:", "a"));
- expected.add("//a");
- expectedNon.add("c:a");
-
- inputs.add(new Path("c:", "a/b"));
- expected.add("//a/b");
- expectedNon.add("c:a/b");
-
- inputs.add(new Path("c:", "/a"));
- expected.add("//a");
- expectedNon.add("c:/a");
-
- inputs.add(new Path("c:", "/a/b"));
- expected.add("//a/b");
- expectedNon.add("c:/a/b");
-
- assertEquals("0.0", inputs.size(), expected.size());
- assertEquals("0.1", inputs.size(), expectedNon.size());
-
- for (int i = 0; i < inputs.size(); i++) {
- IPath path = (IPath) inputs.get(i);
- IPath result = path.makeUNC(true);
- assertTrue("1.0." + path + " (" + result + ")", result.isUNC());
- assertEquals("1.1." + path, (String) expected.get(i), result.toString());
- result = path.makeUNC(false);
- assertTrue("1.3." + path, !result.isUNC());
- assertEquals("1.4." + path, (String) expectedNon.get(i), result.toString());
- }
-}
-/**
- * This test is for bizarre cases that previously caused errors.
- */
-public void testRegression() {
- try {
- new Path("C:\\/eclipse");
- } catch (Exception e) {
- fail("1.0", e);
- }
- try {
- IPath path = new Path("d:\\\\ive");
- assertTrue("2.0", !path.isUNC());
- assertEquals("2.1", 1, path.segmentCount());
- assertEquals("2.2", "ive", path.segment(0));
- } catch (Exception e) {
- fail("2.99", e);
- }
-
-}
-public void testRemoveFirstSegments() {
- assertEquals("1.0", new Path("second"), new Path("/first/second").removeFirstSegments(1));
- assertEquals("1.1", new Path("second/third/"), new Path("/first/second/third/").removeFirstSegments(1));
- assertEquals("1.2", Path.EMPTY, new Path("first").removeFirstSegments(1));
- assertEquals("1.3", Path.EMPTY, new Path("/first/").removeFirstSegments(1));
- assertEquals("1.4", new Path("second"), new Path("first/second").removeFirstSegments(1));
- assertEquals("1.5", Path.EMPTY, new Path("").removeFirstSegments(1));
- assertEquals("1.6", Path.EMPTY, Path.ROOT.removeFirstSegments(1));
- assertEquals("1.7", Path.EMPTY, new Path("/first/second/").removeFirstSegments(2));
- assertEquals("1.8", Path.EMPTY, new Path("/first/second/").removeFirstSegments(3));
- assertEquals("1.9", new Path("third/fourth"), new Path("/first/second/third/fourth").removeFirstSegments(2));
-
- assertEquals("2.0", new Path("c:second"), new Path("c:/first/second").removeFirstSegments(1));
- assertEquals("2.1", new Path("c:second/third/"), new Path("c:/first/second/third/").removeFirstSegments(1));
- assertEquals("2.2", new Path("c:"), new Path("c:first").removeFirstSegments(1));
- assertEquals("2.3", new Path("c:"), new Path("c:/first/").removeFirstSegments(1));
- assertEquals("2.4", new Path("c:second"), new Path("c:first/second").removeFirstSegments(1));
- assertEquals("2.5", new Path("c:"), new Path("c:").removeFirstSegments(1));
- assertEquals("2.6", new Path("c:"), new Path("c:/").removeFirstSegments(1));
- assertEquals("2.7", new Path("c:"), new Path("c:/first/second/").removeFirstSegments(2));
- assertEquals("2.8", new Path("c:"), new Path("c:/first/second/").removeFirstSegments(3));
- assertEquals("2.9", new Path("c:third/fourth"), new Path("c:/first/second/third/fourth").removeFirstSegments(2));
-
- assertEquals("3.0", new Path("second"), new Path("//first/second").removeFirstSegments(1));
- assertEquals("3.1", new Path("second/third/"), new Path("//first/second/third/").removeFirstSegments(1));
- assertEquals("3.2", Path.EMPTY, new Path("//first/").removeFirstSegments(1));
- assertEquals("3.3", Path.EMPTY, new Path("//").removeFirstSegments(1));
- assertEquals("3.4", Path.EMPTY, new Path("//first/second/").removeFirstSegments(2));
- assertEquals("3.5", Path.EMPTY, new Path("//first/second/").removeFirstSegments(3));
- assertEquals("3.6", new Path("third/fourth"), new Path("//first/second/third/fourth").removeFirstSegments(2));
-}
-public void testRemoveLastSegments() {
-
- assertEquals("1.0", new Path("/first"), new Path("/first/second").removeLastSegments(1));
- assertEquals("1.1", new Path("//first"), new Path("//first/second").removeLastSegments(1));
- assertEquals("1.2", new Path("c:/first"), new Path("c:/first/second").removeLastSegments(1));
- assertEquals("1.3", new Path("c:first"), new Path("c:first/second").removeLastSegments(1));
-
- assertEquals("2.0", new Path("/first/second/"), new Path("/first/second/third/").removeLastSegments(1));
- assertEquals("2.1", new Path("//first/second/"), new Path("//first/second/third/").removeLastSegments(1));
- assertEquals("2.2", new Path("c:/first/second/"), new Path("c:/first/second/third/").removeLastSegments(1));
- assertEquals("2.3", new Path("c:first/second/"), new Path("c:first/second/third/").removeLastSegments(1));
-
- assertEquals("3.0", Path.EMPTY, new Path("first").removeLastSegments(1));
- assertEquals("3.1", Path.ROOT, new Path("/first/").removeLastSegments(1));
- assertEquals("3.2", new Path("first"), new Path("first/second").removeLastSegments(1));
-
- assertEquals("4.0", Path.EMPTY, new Path("").removeLastSegments(1));
- assertEquals("4.1", Path.ROOT, Path.ROOT.removeLastSegments(1));
- assertEquals("4.2", new Path("//"), new Path("//").removeLastSegments(1));
-}
-public void testRemoveTrailingSeparator() {
-
- IPath with = new Path("/first/second/third/");
- IPath without = new Path("/first/second/third");
-
- assertSame("1.0", without, without.removeTrailingSeparator());
- assertEquals("1.1", without, with.removeTrailingSeparator());
- // trailing separators have no bearing on path equality so check via
- // other means....
- assertTrue("1.2", !with.removeTrailingSeparator().hasTrailingSeparator());
- assertTrue("1.3", !without.hasTrailingSeparator());
- assertEquals("1.4", without.toString(), with.removeTrailingSeparator().toString());
-
- assertSame("2.0", Path.ROOT, Path.ROOT.removeTrailingSeparator());
- assertEquals("2.1", Path.EMPTY, new Path("").removeTrailingSeparator());
-
- assertEquals("3.0", new Path("//"), new Path("//").removeTrailingSeparator());
- assertEquals("3.1", new Path("//a"), new Path("//a").removeTrailingSeparator());
- assertEquals("3.2", new Path("//a"), new Path("//a/").removeTrailingSeparator());
- assertEquals("3.3", new Path("//a/b"), new Path("//a/b").removeTrailingSeparator());
- assertEquals("3.4", new Path("//a/b"), new Path("//a/b/").removeTrailingSeparator());
-
- assertEquals("4.0", new Path("c:"), new Path("c:").removeTrailingSeparator());
- assertEquals("4.1", new Path("c:/"), new Path("c:/").removeTrailingSeparator());
- assertEquals("4.2", new Path("c:/a"), new Path("c:/a/").removeTrailingSeparator());
- assertEquals("4.3", new Path("c:/a/b"), new Path("c:/a/b").removeTrailingSeparator());
- assertEquals("4.4", new Path("c:/a/b"), new Path("c:/a/b/").removeTrailingSeparator());
-
- assertEquals("5.0", new Path("c:a"), new Path("c:a/").removeTrailingSeparator());
- assertEquals("5.1", new Path("c:a/b"), new Path("c:a/b").removeTrailingSeparator());
- assertEquals("5.2", new Path("c:a/b"), new Path("c:a/b/").removeTrailingSeparator());
-}
-public void testSegments() {
-
- IPath anyPath = null;
- String[] segs = null;
-
- // Case One: typical case
- anyPath = new Path("/first/second/third/fourth");
- segs = anyPath.segments();
-
- assertEquals("1.0", 4, segs.length);
- assertEquals("1.1", "first", segs[0]);
- assertEquals("1.2", "second", segs[1]);
- assertEquals("1.3", "third", segs[2]);
- assertEquals("1.4", "fourth", segs[3]);
-
- // Case Two: trailing separator
- anyPath = new Path("/first/second/");
- segs = anyPath.segments();
-
- assertEquals("2.0", 2, segs.length);
- assertEquals("2.1", "first", segs[0]);
- assertEquals("2.2", "second", segs[1]);
-
- // Case Three: no leading or trailing separators
- anyPath = new Path("first/second");
- segs = anyPath.segments();
-
- assertEquals("3.0", 2, segs.length);
- assertEquals("3.1", "first", segs[0]);
- assertEquals("3.2", "second", segs[1]);
-
- // Case Four: single segment
- anyPath = new Path("first");
- segs = anyPath.segments();
-
- assertEquals("4.0", 1, segs.length);
- assertEquals("4.1", "first", segs[0]);
-
- // Case Five(a): no segments
- anyPath = Path.EMPTY;
- segs = anyPath.segments();
-
- assertEquals("5.0", 0, segs.length);
-
- // Case Five(b): no segments
- anyPath = Path.ROOT;
- segs = anyPath.segments();
-
- assertEquals("6.0", 0, segs.length);
-
- // Case Six: UNC path
- anyPath = new Path("//server/volume/a/b/c");
- segs = anyPath.segments();
- assertEquals("7.0", 5, segs.length);
- assertEquals("7.1", "server", segs[0]);
- assertEquals("7.2", "volume", segs[1]);
- assertEquals("7.3", "a", segs[2]);
- assertEquals("7.4", "b", segs[3]);
- assertEquals("7.5", "c", segs[4]);
-}
-public void testToString() {
-
- IPath anyPath = new Path("/first/second/third");
- assertEquals("1.0", "/first/second/third", anyPath.toString());
-
- assertEquals("1.1", "/", Path.ROOT.toString());
- assertEquals("1.2", "", Path.EMPTY.toString());
-}
-public void testUptoSegment() {
-
- //Case 1, absolute path with no trailing separator
- IPath anyPath = new Path("/first/second/third");
-
- assertEquals("1.0", Path.EMPTY, anyPath.uptoSegment(0));
- assertEquals("1.1", new Path("/first"), anyPath.uptoSegment(1));
- assertEquals("1.2", new Path("/first/second"), anyPath.uptoSegment(2));
- assertEquals("1.3", new Path("/first/second/third"), anyPath.uptoSegment(3));
- assertEquals("1.4", new Path("/first/second/third"), anyPath.uptoSegment(4));
-
- //Case 2, absolute path with trailing separator
- anyPath = new Path("/first/second/third/");
-
- assertEquals("2.0", Path.EMPTY, anyPath.uptoSegment(0));
- assertEquals("2.1", new Path("/first/"), anyPath.uptoSegment(1));
- assertEquals("2.2", new Path("/first/second/"), anyPath.uptoSegment(2));
- assertEquals("2.3", new Path("/first/second/third/"), anyPath.uptoSegment(3));
- assertEquals("2.4", new Path("/first/second/third/"), anyPath.uptoSegment(4));
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java
deleted file mode 100644
index e119a6c..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PlatformTest.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.*;
-
-/**
- * Test cases for the Platform API
- */
-public class PlatformTest extends RuntimeTest {
- private static final String TESTFILE = Platform.getLocation().append("test.user").toOSString();
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public PlatformTest() {
- super(null);
-}
-public PlatformTest(String name) {
- super(name);
-}
-public static Test suite() {
- TestSuite suite = new TestSuite();
- suite.addTest(new PlatformTest("testKeyRing1"));
- suite.addTest(new PlatformTest("testKeyRing2"));
- suite.addTest(new PlatformTest("testGetCommandLine"));
- suite.addTest(new PlatformTest("testGetLocation"));
-// suite.addTest(new PlatformTest("testRetrievePlugins"));
- suite.addTest(new PlatformTest("testRunnable"));
- return suite;
-}
-public void testKeyRing1() {
- URL serverUrl = null;
- try {
- serverUrl = new URL("http://www.hostname.com/");
- } catch (MalformedURLException e) {
- assertTrue("e1", false);
- }
-
- String realm = "realm1@hostname.com";
- String authScheme = "Basic";
- Map info = new Hashtable(2);
- info.put("username", "nogard");
- info.put("password", "secret");
-
- try {
- Platform.addAuthorizationInfo(serverUrl, realm, authScheme, info);
- } catch (CoreException e) {
- assertTrue("e2", false);
- }
-
- info = Platform.getAuthorizationInfo(serverUrl, realm, authScheme);
-
- assertEquals("00", "nogard", info.get("username"));
- assertEquals("01", "secret", info.get("password"));
-
- try {
- Platform.flushAuthorizationInfo(serverUrl, realm, authScheme);
- } catch (CoreException e) {
- assertTrue("e3", false);
- }
-
- info = Platform.getAuthorizationInfo(serverUrl, realm, authScheme);
-
- assertTrue("02", info == null);
-}
-public void testKeyRing2() {
- URL url1 = null;
- URL url2 = null;
- try {
- url1 = new URL("http://www.oti.com/file1");
- url2 = new URL("http://www.oti.com/folder1/");
- } catch (MalformedURLException e) {
- assertTrue("00", false);
- }
-
- String realm1 = "realm1";
- String realm2 = "realm2";
-
- try {
- Platform.addProtectionSpace(url1, realm1);
- } catch (CoreException e) {
- assertTrue("e0", false);
- }
-
- assertEquals("00", realm1, Platform.getProtectionSpace(url1));
- assertEquals("01", realm1, Platform.getProtectionSpace(url2));
-
- try {
- Platform.addProtectionSpace(url2, realm1);
- } catch (CoreException e) {
- assertTrue("e1", false);
- }
-
- assertEquals("02", realm1, Platform.getProtectionSpace(url1));
- assertEquals("03", realm1, Platform.getProtectionSpace(url2));
-
- try {
- Platform.addProtectionSpace(url2, realm2);
- } catch (CoreException e) {
- assertTrue("e2", false);
- }
-
- assertTrue("04", Platform.getProtectionSpace(url1) == null);
- assertEquals("05", realm2, Platform.getProtectionSpace(url2));
-
- try {
- Platform.addProtectionSpace(url1, realm1);
- } catch (CoreException e) {
- assertTrue("e3", false);
- }
-
- assertEquals("05", realm1, Platform.getProtectionSpace(url1));
- assertEquals("06", realm1, Platform.getProtectionSpace(url2));
-}
-
-public void testGetCommandLine() {
- assertNotNull("1.0",Platform.getCommandLineArgs());
-}
-public void testGetLocation() {
- assertNotNull("1.0",Platform.getLocation());
-}
-public void testRetrievePlugins() {
- assertNull("1.0",Platform.getPlugin(""));
- assertNull("1.1",Platform.getPlugin("qwert666yuiop"));
-
- IPluginRegistry registry = Platform.getPluginRegistry();
- IPluginDescriptor descriptors[] = registry.getPluginDescriptors();
-
- for (int i = 0; i < descriptors.length; i++) {
- assertNotNull("2." + i, Platform.getPlugin(descriptors[i].getUniqueIdentifier()).getDescriptor().getInstallURL());
- IPath location;
- try {
- location = Platform.getPluginStateLocation(descriptors[i].getPlugin());
- assertTrue("3." + i,true);
- } catch (CoreException e) {
- assertTrue("3." + i,false);
- continue; // no point continuing this descriptor
- }
-
- assertNotNull("4." + i, location);
- }
-}
-
-public void testRunnable() {
- final Vector exceptions = new Vector();
-
- ISafeRunnable runnable = new ISafeRunnable() {
- public void handleException(Throwable exception) {
- exceptions.addElement(exception);
- }
- public void run() throws Exception {
- throw new Exception("PlatformTest.testRunnable: this exception is thrown on purpose as part of the test.");
- }
- };
-
- Platform.run(runnable);
-
- assertEquals("1.0",exceptions.size(),1);
-}
-
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java
deleted file mode 100644
index 0be0807..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PluginVersionIdentifierTest.java
+++ /dev/null
Binary files differ
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java
deleted file mode 100644
index 3b83c29..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferenceExportTest.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.*;
-
-/**
- * Tests the Preferences import/export feature.
- */
-public class PreferenceExportTest extends RuntimeTest {
-public static Test suite() {
- TestSuite suite= new TestSuite(PreferenceExportTest.class);
- return suite;
-}
-/**
- * Constructor for PreferenceExportTest.
- * @param name
- */
-public PreferenceExportTest(String name) {
- super(name);
-}
-public PreferenceExportTest() {
- super("");
-}
-/**
- * Tests that identity tests on preference keys after
- * export/import will still work. This is to safeguard
- * against programming errors in property change listeners.
- * See bug 20193.
- */
-public void testKeyIdentityAfterExport() {
- final String key = "SomeTestKey";
- String initialValue = "SomeTestValue";
- IPath exportPath = new Path(System.getProperty("user.dir")).append(Long.toString(System.currentTimeMillis()));
- exportPath.toFile().delete();
- //add a property change listener that asserts key identity
- Plugin runtime = Platform.getPlugin(Platform.PI_RUNTIME);
- Preferences prefs = runtime.getPluginPreferences();
- Preferences.IPropertyChangeListener listener = new Preferences.IPropertyChangeListener() {
- public void propertyChange(Preferences.PropertyChangeEvent event) {
- assertTrue("1.0", event.getProperty() == key);
- }
- };
- prefs.addPropertyChangeListener(listener);
- try {
- //add a preference on the runtime plugin
- prefs.setValue(key, initialValue);
- runtime.savePluginPreferences();
-
- //export preferences
- try {
- Preferences.exportPreferences(exportPath);
- } catch (CoreException e) {
- fail("1.1", e);
- }
-
- //change the property value
- prefs.setValue(key, "SomeOtherValue");
-
- //reimport the property
- try {
- Preferences.importPreferences(exportPath);
- } catch (CoreException e) {
- fail("1.2", e);
- }
-
- //set the property to default
- prefs.setToDefault(key);
-
- //reimport the property
- try {
- Preferences.importPreferences(exportPath);
- } catch (CoreException e) {
- fail("1.3", e);
- }
- } finally {
- exportPath.toFile().delete();
- if (prefs != null)
- prefs.removePropertyChangeListener(listener);
- }
-}
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java
deleted file mode 100644
index fb599dc..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/PreferencesTest.java
+++ /dev/null
@@ -1,737 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import java.io.*;
-import java.util.*;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-import org.eclipse.core.runtime.Preferences;
-
-/**
- * Test suite for API class org.eclipse.core.runtime.Preferences
- */
-public class PreferencesTest extends RuntimeTest {
-
- public PreferencesTest(String name) {
- super(name);
- }
-
- public static Test suite() {
- // all test methods are named "test..."
- TestSuite suite= new TestSuite(PreferencesTest.class);
- return suite;
- }
-
- /*
- * @see TestCase#setUp()
- */
- protected void setUp() {
- }
-
- /*
- * @see TestCase#tearDown()
- */
- protected void tearDown() {
- }
-
- public void testConstants() {
- // make sure that the preference store constants are defined properly
- assertTrue(Preferences.BOOLEAN_DEFAULT_DEFAULT == false);
- assertTrue(Preferences.INT_DEFAULT_DEFAULT == 0);
- assertTrue(Preferences.LONG_DEFAULT_DEFAULT == 0L);
- assertTrue(Preferences.FLOAT_DEFAULT_DEFAULT == 0.0f);
- assertTrue(Preferences.DOUBLE_DEFAULT_DEFAULT == 0.0);
- assertTrue(Preferences.STRING_DEFAULT_DEFAULT.equals(""));
- }
-
- public void testBasics() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
- final String v1 = "1";
- final String v2 = "2";
- final String v3 = "3";
-
- // check that a random property in a newly created store
- // appearchs to have default-default values of whatever type asked for
- assertTrue("1.0", ps.isDefault(k1) == true);
- assertTrue("1.1", ps.getBoolean(k1) == Preferences.BOOLEAN_DEFAULT_DEFAULT);
- assertTrue("1.2", ps.getInt(k1) == Preferences.INT_DEFAULT_DEFAULT);
- assertTrue("1.3", ps.getLong(k1) == Preferences.LONG_DEFAULT_DEFAULT);
- assertTrue("1.4", ps.getFloat(k1) == Preferences.FLOAT_DEFAULT_DEFAULT);
- assertTrue("1.5", ps.getDouble(k1) == Preferences.DOUBLE_DEFAULT_DEFAULT);
- assertTrue("1.6", ps.getString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-
- assertTrue("1.7", ps.getDefaultBoolean(k1) == Preferences.BOOLEAN_DEFAULT_DEFAULT);
- assertTrue("1.8", ps.getDefaultInt(k1) == Preferences.INT_DEFAULT_DEFAULT);
- assertTrue("1.9", ps.getDefaultLong(k1) == Preferences.LONG_DEFAULT_DEFAULT);
- assertTrue("1.10", ps.getDefaultFloat(k1) == Preferences.FLOAT_DEFAULT_DEFAULT);
- assertTrue("1.11", ps.getDefaultDouble(k1) == Preferences.DOUBLE_DEFAULT_DEFAULT);
- assertTrue("1.12", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
-
-
- // test set/getString
- // give it a value
- ps.setValue(k1, v1);
- assertTrue("2.0", ps.isDefault(k1) == false);
- assertTrue("2.1", ps.getString(k1).equals(v1));
- assertTrue("2.2", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
- // change the value
- ps.setValue(k1, v2);
- assertTrue("2.3", ps.isDefault(k1) == false);
- assertTrue("2.4", ps.getString(k1).equals(v2));
- assertTrue("2.5", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
- // change to same value as default
- ps.setValue(k1, ps.getDefaultString(k1));
- assertTrue("2.6", ps.isDefault(k1) == true);
- assertTrue("2.7", ps.getString(k1).equals(ps.getDefaultString(k1)));
- assertTrue("2.8", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
- // reset to default
- ps.setValue(k1, v2);
- ps.setToDefault(k1);
- assertTrue("2.9", ps.isDefault(k1) == true);
- assertTrue("2.10", ps.getString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
- assertTrue("2.11", ps.getDefaultString(k1).equals(Preferences.STRING_DEFAULT_DEFAULT));
- // change default
- ps.setDefault(k1, v1);
- assertTrue("2.12", ps.isDefault(k1) == true);
- assertTrue("2.13", ps.getString(k1).equals(v1));
- assertTrue("2.14", ps.getDefaultString(k1).equals(v1));
- // set the value
- ps.setValue(k1, v2);
- assertTrue("2.15", ps.isDefault(k1) == false);
- assertTrue("2.16", ps.getString(k1).equals(v2));
- assertTrue("2.17", ps.getDefaultString(k1).equals(v1));
- // change to same value as default
- ps.setValue(k1, ps.getDefaultString(k1));
- assertTrue("2.18", ps.isDefault(k1) == true);
- assertTrue("2.19", ps.getString(k1).equals(ps.getDefaultString(k1)));
- assertTrue("2.20", ps.getDefaultString(k1).equals(v1));
- // reset to default
- ps.setValue(k1, v2);
- ps.setToDefault(k1);
- assertTrue("2.21", ps.isDefault(k1) == true);
- assertTrue("2.22", ps.getString(k1).equals(v1));
- assertTrue("2.23", ps.getDefaultString(k1).equals(v1));
- // change default
- ps.setDefault(k1, v3);
- assertTrue("2.24", ps.isDefault(k1) == true);
- assertTrue("2.25", ps.getString(k1).equals(v3));
- assertTrue("2.26", ps.getDefaultString(k1).equals(v3));
-
- }
-
- public void testBoolean() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
-
- assertEquals("1.0", false, Preferences.BOOLEAN_DEFAULT_DEFAULT);
- assertEquals("1.1", Preferences.BOOLEAN_DEFAULT_DEFAULT, ps.getBoolean(k1));
-
- ps.setValue(k1, true);
- assertEquals("1.2", true, ps.getBoolean(k1));
- ps.setValue(k1, false);
- assertEquals("1.3", false, ps.getBoolean(k1));
-
- ps.setDefault(k1, true);
- assertEquals("1.4", true, ps.getDefaultBoolean(k1));
- ps.setDefault(k1, false);
- assertEquals("1.5", false, ps.getDefaultBoolean(k1));
-
- }
-
- public void testInteger() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
- final int[] values = { 0, 1002, -201788, Integer.MAX_VALUE, Integer.MIN_VALUE};
-
- assertEquals("1.0", 0, Preferences.INT_DEFAULT_DEFAULT);
- assertEquals("1.1", Preferences.INT_DEFAULT_DEFAULT, ps.getInt(k1));
-
- for (int i = 0; i < values.length; i++) {
- int v1 = values[i];
- int v2 = v1 + 1;
- ps.setValue(k1, v1);
- assertEquals("1.2", v1, ps.getInt(k1));
- ps.setDefault(k1, v2);
- assertEquals("1.3", v2, ps.getDefaultInt(k1));
- }
- }
-
- public void testLong() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
- final long[] values = { 0L, 1002L, -201788L, Long.MAX_VALUE, Long.MIN_VALUE};
-
- assertEquals("1.0", 0L, Preferences.LONG_DEFAULT_DEFAULT);
- assertEquals("1.1", Preferences.LONG_DEFAULT_DEFAULT, ps.getLong(k1));
-
- for (int i = 0; i < values.length; i++) {
- long v1 = values[i];
- long v2 = v1 + 1;
- ps.setValue(k1, v1);
- assertEquals("1.2", v1, ps.getLong(k1));
- ps.setDefault(k1, v2);
- assertEquals("1.3", v2, ps.getDefaultLong(k1));
- }
- }
-
- public void testFloat() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
- final float[] values = { 0.0f, 1002.5f, -201788.55f, Float.MAX_VALUE, Float.MIN_VALUE};
- final float tol = 1.0e-20f;
-
- assertEquals("1.0", 0.0f, Preferences.FLOAT_DEFAULT_DEFAULT, tol);
- assertEquals("1.1", Preferences.FLOAT_DEFAULT_DEFAULT, ps.getFloat(k1), tol);
-
- for (int i = 0; i < values.length; i++) {
- float v1 = values[i];
- float v2 = v1 + 1.0f;
- ps.setValue(k1, v1);
- assertEquals("1.2", v1, ps.getFloat(k1), tol);
- ps.setDefault(k1, v2);
- assertEquals("1.3", v2, ps.getDefaultFloat(k1), tol);
- }
-
- try {
- ps.setValue(k1, Float.NaN);
- assertTrue("1.4", false);
- } catch (IllegalArgumentException e) {
- // NaNs should be rejected
- }
-
- }
-
- public void testDouble() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
- final double[] values = { 0.0, 1002.5, -201788.55, Double.MAX_VALUE, Double.MIN_VALUE};
- final double tol = 1.0e-20;
-
- assertEquals("1.0", 0.0, Preferences.DOUBLE_DEFAULT_DEFAULT, tol);
- assertEquals("1.1", Preferences.DOUBLE_DEFAULT_DEFAULT, ps.getDouble(k1), tol);
-
- for (int i = 0; i < values.length; i++) {
- double v1 = values[i];
- double v2 = v1 + 1.0;
- ps.setValue(k1, v1);
- assertEquals("1.2", v1, ps.getDouble(k1), tol);
- ps.setDefault(k1, v2);
- assertEquals("1.3", v2, ps.getDefaultDouble(k1), tol);
- }
-
- try {
- ps.setValue(k1, Float.NaN);
- assertTrue("1.4", false);
- } catch (IllegalArgumentException e) {
- // NaNs should be rejected
- }
-
- }
-
- public void testString() {
-
- Preferences ps = new Preferences();
- final String k1 = "key1";
- final String[] values = {"", "hello", " x ", "\n"};
-
- assertEquals("1.0", "", Preferences.STRING_DEFAULT_DEFAULT);
- assertEquals("1.1", ps.getString(k1), Preferences.STRING_DEFAULT_DEFAULT);
-
- for (int i = 0; i < values.length; i++) {
- String v1 = values[i];
- String v2 = v1 + "x";
- ps.setValue(k1, v1);
- assertEquals("1.2", v1, ps.getString(k1));
- ps.setDefault(k1, v2);
- assertEquals("1.3", v2, ps.getDefaultString(k1));
- }
- }
-
- public void testPropertyNames() {
-
- Preferences ps = new Preferences();
-
- // there are no properties initially
- assertEquals("1.0", 0, ps.propertyNames().length);
-
- String[] keys = {"a", "b", "c", "d"};
-
- // setting defaults does not add name to set
- for (int i = 0; i < keys.length; i++) {
- ps.setDefault(keys[i], "default");
- }
- assertEquals("1.1", 0, ps.propertyNames().length);
-
- // setting real values does add name to set
- for (int i = 0; i < keys.length; i++) {
- ps.setValue(keys[i], "actual");
- }
- assertEquals("1.2", keys.length, ps.propertyNames().length);
-
- Set s1 = new HashSet(Arrays.asList(keys));
- Set s2 = new HashSet(Arrays.asList(ps.propertyNames()));
- assertEquals("1.3", s1, s2);
-
- // setting to default does remove name from set
- for (int i = 0; i < keys.length; i++) {
- ps.setToDefault(keys[i]);
- Set s = new HashSet(Arrays.asList(ps.propertyNames()));
- assertTrue("1.4", !s.contains(keys[i]));
- }
- assertEquals("1.5", 0, ps.propertyNames().length);
- }
-
- public void testContains() {
-
- Preferences ps = new Preferences();
-
- // there are no properties initially
- assertEquals("1.0", false, ps.contains("a"));
-
- // setting defaults adds name
- ps.setDefault("a", "default");
- assertEquals("1.1", true, ps.contains("a"));
-
- // setting value adds name
- assertEquals("1.2", false, ps.contains("b"));
- ps.setValue("b", "any");
- assertEquals("1.3", true, ps.contains("b"));
-
- // setting value does not remove entry already there
- ps.setValue("a", "any");
- assertEquals("1.4", true, ps.contains("a"));
- assertEquals("1.5", true, ps.contains("b"));
-
- // setting to default removes name from set unless there is a default too
- ps.setToDefault("b");
- assertEquals("1.6", false, ps.contains("b"));
- ps.setToDefault("a");
- assertEquals("1.7", true, ps.contains("a"));
- }
-
- public void testDefaultPropertyNames() {
-
- Preferences ps = new Preferences();
-
- // there are no default properties initially
- assertEquals("1.0", 0, ps.defaultPropertyNames().length);
-
- String[] keys = {"a", "b", "c", "d"};
-
- // setting actual values does not add name to set
- for (int i = 0; i < keys.length; i++) {
- ps.setValue(keys[i], "actual");
- }
- assertEquals("1.1", 0, ps.defaultPropertyNames().length);
-
- // setting defaults does add name to set
- for (int i = 0; i < keys.length; i++) {
- ps.setDefault(keys[i], "default");
- }
- assertEquals("1.2", keys.length, ps.defaultPropertyNames().length);
-
- Set s1 = new HashSet(Arrays.asList(keys));
- Set s2 = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertEquals("1.3", s1, s2);
-
- // setting to default does not remove name from set
- for (int i = 0; i < keys.length; i++) {
- ps.setToDefault(keys[i]);
- Set s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.4", s.contains(keys[i]));
- }
- assertEquals("1.5", keys.length, ps.defaultPropertyNames().length);
-
- // setting to default-default does not remove name from set either
- for (int i = 0; i < keys.length; i++) {
- ps.setDefault(keys[i], Preferences.STRING_DEFAULT_DEFAULT);
- Set s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.6.1", s.contains(keys[i]));
-
- ps.setDefault(keys[i], Preferences.BOOLEAN_DEFAULT_DEFAULT);
- s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.6.2", s.contains(keys[i]));
-
- ps.setDefault(keys[i], Preferences.INT_DEFAULT_DEFAULT);
- s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.6.3", s.contains(keys[i]));
-
- ps.setDefault(keys[i], Preferences.LONG_DEFAULT_DEFAULT);
- s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.6.4", s.contains(keys[i]));
-
- ps.setDefault(keys[i], Preferences.FLOAT_DEFAULT_DEFAULT);
- s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.6.5", s.contains(keys[i]));
-
- ps.setDefault(keys[i], Preferences.DOUBLE_DEFAULT_DEFAULT);
- s = new HashSet(Arrays.asList(ps.defaultPropertyNames()));
- assertTrue("1.6.6", s.contains(keys[i]));
- }
- assertEquals("1.7", keys.length, ps.defaultPropertyNames().length);
- }
-
- public void testListeners() {
-
- final Preferences ps = new Preferences();
-
- class Tracer implements Preferences.IPropertyChangeListener {
- public StringBuffer log = new StringBuffer();
-
- private String typeCode(Object value) {
- if (value == null) {
- return "";
- }
- if (value instanceof Boolean) {
- return "B";
- }
- if (value instanceof Integer) {
- return "I";
- }
- if (value instanceof Long) {
- return "L";
- }
- if (value instanceof Float) {
- return "F";
- }
- if (value instanceof Double) {
- return "D";
- }
- if (value instanceof String) {
- return "S";
- }
- assertTrue("0.0", false);
- return null;
- }
-
- public void propertyChange(Preferences.PropertyChangeEvent event) {
- log.append("[");
- log.append(event.getProperty());
- log.append(":");
- log.append(typeCode(event.getOldValue()));
- log.append(event.getOldValue() == null ? "null" : event.getOldValue());
- log.append("->");
- log.append(typeCode(event.getNewValue()));
- log.append(event.getNewValue() == null ? "null" : event.getNewValue());
- log.append("]");
- }
- }
-
- final Tracer tracer1 = new Tracer();
- final Tracer tracer2 = new Tracer();
-
- // register one listener
- ps.addPropertyChangeListener(tracer1);
- assertEquals("1.0", "", tracer1.log.toString());
-
- // make sure it is notified in a type appropriate manner
- ps.setValue("a", "1");
- assertEquals("1.0.1", "[a:S->S1]", tracer1.log.toString());
-
- ps.setToDefault("a");
- tracer1.log.setLength(0);
- ps.setValue("a", true);
- assertEquals("1.0.2", "[a:Bfalse->Btrue]", tracer1.log.toString());
-
- ps.setToDefault("a");
- tracer1.log.setLength(0);
- ps.setValue("a", 100);
- assertEquals("1.0.3", "[a:I0->I100]", tracer1.log.toString());
-
- ps.setToDefault("a");
- tracer1.log.setLength(0);
- ps.setValue("a", 100L);
- assertEquals("1.0.4", "[a:L0->L100]", tracer1.log.toString());
-
- ps.setToDefault("a");
- tracer1.log.setLength(0);
- ps.setValue("a", 2.0f);
- assertEquals("1.0.5", "[a:F0.0->F2.0]", tracer1.log.toString());
-
- ps.setToDefault("a");
- tracer1.log.setLength(0);
- ps.setValue("a", 2.0);
- assertEquals("1.0.6", "[a:D0.0->D2.0]", tracer1.log.toString());
-
- // make sure it is notified of a series of events
- ps.setToDefault("a");
- tracer1.log.setLength(0);
- ps.setValue("a", "1");
- assertEquals("1.1", "[a:S->S1]", tracer1.log.toString());
-
- ps.setValue("a", "2");
- assertEquals("1.2", "[a:S->S1][a:S1->S2]", tracer1.log.toString());
-
- ps.setValue("a", ps.getDefaultString("a"));
- assertEquals("1.2.1", "[a:S->S1][a:S1->S2][a:S2->S]", tracer1.log.toString());
-
- ps.setValue("a", "3");
- assertEquals("1.2.2", "[a:S->S1][a:S1->S2][a:S2->S][a:S->S3]", tracer1.log.toString());
-
- ps.setToDefault("a");
- assertEquals("1.2.3", "[a:S->S1][a:S1->S2][a:S2->S][a:S->S3][a:S3->null]", tracer1.log.toString());
-
- // change to same value - no one notified
- ps.setValue("a", "2");
- tracer1.log.setLength(0);
- assertEquals("1.3", "", tracer1.log.toString());
-
- // register second listener
- ps.addPropertyChangeListener(tracer2);
-
- // make sure both are notified
- ps.setValue("a", "3");
- assertEquals("1.4", "[a:S2->S3]", tracer1.log.toString());
- assertEquals("1.5", "[a:S2->S3]", tracer2.log.toString());
-
- // deregister is honored
- ps.removePropertyChangeListener(tracer2);
- tracer1.log.setLength(0);
- tracer2.log.setLength(0);
- ps.setValue("a", "1");
- assertEquals("1.6", "[a:S3->S1]", tracer1.log.toString());
- assertEquals("1.7", "", tracer2.log.toString());
-
- // duplicate deregister is ignored
- ps.removePropertyChangeListener(tracer2);
- tracer1.log.setLength(0);
- tracer2.log.setLength(0);
- ps.setValue("a", "2");
- assertEquals("1.8", "[a:S1->S2]", tracer1.log.toString());
- assertEquals("1.9", "", tracer2.log.toString());
-
- // duplicate register is ignored
- ps.addPropertyChangeListener(tracer1);
- tracer1.log.setLength(0);
- ps.setValue("a", "1");
- assertEquals("1.10", "[a:S2->S1]", tracer1.log.toString());
-
- // last deregister is honored
- ps.removePropertyChangeListener(tracer1);
- tracer1.log.setLength(0);
- ps.setValue("a", "4");
- assertEquals("1.11", "", tracer1.log.toString());
-
-
- // adds 2 and removes 1 during during callback!
- class Trouble implements Preferences.IPropertyChangeListener {
- public void propertyChange(Preferences.PropertyChangeEvent event) {
- ps.removePropertyChangeListener(tracer1);
- ps.addPropertyChangeListener(tracer2);
- }
- }
-
- ps.setValue("a", "0");
- ps.addPropertyChangeListener(tracer1);
- ps.addPropertyChangeListener(new Trouble());
- tracer1.log.setLength(0);
- tracer2.log.setLength(0);
- ps.setValue("a", "1");
- ps.setValue("a", "2");
- assertEquals("1.12", "[a:S0->S1]", tracer1.log.toString());
- assertEquals("1.13", "[a:S1->S2]", tracer2.log.toString());
-
- }
-
- public void testLoadStore() {
-
- final Preferences ps = new Preferences();
-
- ps.setValue("b1", true);
- ps.setValue("i1", 1);
- ps.setValue("l1", 2L);
- ps.setValue("f1", 1.0f);
- ps.setValue("d1", 1.0);
- ps.setValue("s1", "x");
- String[] keys = {"b1", "i1", "l1", "f1", "d1", "s1", };
-
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try {
- ps.store(out, "test header");
- } catch (IOException e) {
- assertTrue("0.1", false);
- }
-
- ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
-
- final Preferences ps2 = new Preferences();
- try {
- ps2.load(in);
- } catch (IOException e) {
- assertTrue("0.2", false);
- }
-
- assertEquals("1.1", true, ps2.getBoolean("b1"));
- assertEquals("1.2", 1, ps2.getInt("i1"));
- assertEquals("1.3", 2L, ps2.getLong("l1"));
- assertEquals("1.4", 1.0f, ps2.getFloat("f1"), 1e-20f);
- assertEquals("1.5", 1.0, ps2.getDouble("d1"), 1e-20);
- assertEquals("1.6", "x", ps2.getString("s1"));
-
- Set s1 = new HashSet(Arrays.asList(keys));
- Set s2 = new HashSet(Arrays.asList(ps2.propertyNames()));
- assertEquals("1.7", s1, s2);
-
- // load discards current values
- in = new ByteArrayInputStream(out.toByteArray());
- final Preferences ps3 = new Preferences();
- ps3.setValue("s1", "y");
- try {
- ps3.load(in);
- assertEquals("1.8", "x", ps3.getString("s1"));
- Set k1 = new HashSet(Arrays.asList(keys));
- Set k2 = new HashSet(Arrays.asList(ps3.propertyNames()));
- assertEquals("1.9", k1, k2);
- } catch (IOException e) {
- assertTrue("1.10", false);
- }
-
- }
-
- public void testNeedsSaving() {
-
- Preferences ps = new Preferences();
-
- // setValue dirties
- ps = new Preferences();
- assertEquals("1.0", false, ps.needsSaving());
- ps.setValue("b1", true);
- assertEquals("1.1", true, ps.needsSaving());
-
- ps = new Preferences();
- assertEquals("2.0", false, ps.needsSaving());
- ps.setValue("i1", 1);
- assertEquals("2.1", true, ps.needsSaving());
-
- ps = new Preferences();
- assertEquals("3.0", false, ps.needsSaving());
- ps.setValue("l1", 2L);
- assertEquals("3.1", true, ps.needsSaving());
-
- ps = new Preferences();
- assertEquals("4.0", false, ps.needsSaving());
- ps.setValue("f1", 1.0f);
- assertEquals("4.1", true, ps.needsSaving());
-
- ps = new Preferences();
- assertEquals("5.0", false, ps.needsSaving());
- ps.setValue("d1", 1.0);
- assertEquals("5.1", true, ps.needsSaving());
-
- ps = new Preferences();
- assertEquals("6.0", false, ps.needsSaving());
- ps.setValue("s1", "x");
- assertEquals("6.1", true, ps.needsSaving());
-
- // setToDefault does not dirty if value not set
- ps = new Preferences();
- assertEquals("7.0", false, ps.needsSaving());
- ps.setToDefault("any");
- assertEquals("7.1", false, ps.needsSaving());
-
- // setToDefault dirties if value was set
- try {
- ps = new Preferences();
- assertEquals("7.2", false, ps.needsSaving());
- ps.setValue("any", "x");
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- ps.store(out, "test header");
- ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
- ps.load(in);
- assertEquals("7.3", false, ps.needsSaving());
- ps.setToDefault("any");
- assertEquals("7.4", true, ps.needsSaving());
- } catch (IOException e) {
- assertTrue("7.5", false);
- }
-
- // setDefault, getT, getDefaultT do not dirty
- ps = new Preferences();
- assertEquals("8.0", false, ps.needsSaving());
- ps.setDefault("b1", true);
- ps.getBoolean("b1");
- ps.getDefaultBoolean("b1");
- ps.setDefault("i1", 1);
- ps.getInt("i1");
- ps.getDefaultInt("i1");
- ps.setDefault("l1", 1L);
- ps.getLong("l1");
- ps.getDefaultLong("l1");
- ps.setDefault("f1", 1.0f);
- ps.getFloat("f1");
- ps.getDefaultFloat("f1");
- ps.setDefault("d1", 1.0);
- ps.getDouble("d1");
- ps.getDefaultDouble("d1");
- ps.setDefault("s1", "x");
- ps.getString("s1");
- ps.getDefaultString("s1");
- assertEquals("8.1", false, ps.needsSaving());
-
- try {
- ps = new Preferences();
- assertEquals("9.1", false, ps.needsSaving());
- ps.setValue("b1", true);
- assertEquals("9.2", true, ps.needsSaving());
- ByteArrayOutputStream out = new ByteArrayOutputStream();
-
- // store makes not dirty
- ps.store(out, "test header");
- assertEquals("9.3", false, ps.needsSaving());
-
- // load comes in not dirty
- ps.setValue("b1", false);
- assertEquals("9.4", true, ps.needsSaving());
- ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray());
- ps.load(in);
- assertEquals("9.5", false, ps.needsSaving());
- } catch (IOException e) {
- assertTrue("9.0", false);
- }
- }
-
-/* Comment this test out until we are able to use session tests
- * with it. - ddw
- * public void testPluginPrefs() {
- IPluginRegistry registry = InternalPlatform.getPluginRegistry();
- IPluginDescriptor resPlugin = registry.getPluginDescriptor("org.eclipse.core.resources");
- Preferences perfs = null;
- try {
- perfs = resPlugin.getPlugin().getPluginPreferences();
- } catch (CoreException ce) {
- fail("0.1 core exception from getPlugin");
- }
- boolean oneBoolean = perfs.getBoolean("OneBoolean");
- double oneDouble = perfs.getDouble("OneDouble");
- float oneFloat = perfs.getFloat("OneFloat");
- int oneInt = perfs.getInt("OneInt");
- long oneLong = perfs.getLong("OneLong");
- String oneString = perfs.getString("OneString");
- assertTrue("1.0 boolean", oneBoolean);
- assertTrue("2.0 double", oneDouble == 4);
- assertTrue("3.0 float", oneFloat == 4.3f);
- assertTrue("4.0 int", oneInt == 5);
- assertTrue("5.0 long", oneLong == 6);
- assertTrue("6.0 string", oneString.equals("A string from the plugin root directory"));
- int a = 4;
- int b = 3;
- }
-*/
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java
deleted file mode 100644
index 309d838..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/ProgressMonitorWrapperTest.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the Path class.
- */
-public class ProgressMonitorWrapperTest extends RuntimeTest {
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public ProgressMonitorWrapperTest() {
- super(null);
-}
-public ProgressMonitorWrapperTest(String name) {
- super(name);
-}
-public static Test suite() {
- return new TestSuite(ProgressMonitorWrapperTest.class);
-}
-public void testProgressMonitorWrapper() {
- NullProgressMonitor nullMonitor = new NullProgressMonitor();
- SubProgressMonitor wrapped = new SubProgressMonitor(nullMonitor,10);
- ProgressMonitorWrapper wrapper = new ProgressMonitorWrapper(wrapped) {};
-
- assertSame("1.0",nullMonitor,wrapped.getWrappedProgressMonitor());
- assertSame("1.1",wrapped,wrapper.getWrappedProgressMonitor());
-
- assertTrue("1.2",!nullMonitor.isCanceled());
- assertTrue("1.3",!wrapped.isCanceled());
- assertTrue("1.4",!wrapper.isCanceled());
-
- nullMonitor.setCanceled(true);
- assertTrue("1.5",nullMonitor.isCanceled());
- assertTrue("1.6",wrapped.isCanceled());
- assertTrue("1.7",wrapper.isCanceled());
-}
-}
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java
deleted file mode 100644
index d31ae04..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/QualifiedNameTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import junit.framework.*;
-
-/**
- * Test cases for the QualifiedName class.
- */
-
-public class QualifiedNameTest extends RuntimeTest {
-
-/**
- * Need a zero argument constructor to satisfy the test harness.
- * This constructor should not do any real work nor should it be
- * called by user code.
- */
-public QualifiedNameTest() {
- super(null);
-}
-
-/**
- * Constructor for QualifiedNameTest
- */
-public QualifiedNameTest(String name) {
- super(name);
-}
-
-public static Test suite() {
-
- TestSuite suite= new TestSuite();
- suite.addTest(new QualifiedNameTest("testQualifiers"));
- suite.addTest(new QualifiedNameTest("testLocalNames"));
- suite.addTest(new QualifiedNameTest("testEqualsAndHashcode"));
- return suite;
-}
-
-public void testQualifiers() {
-
- try {
- new QualifiedName("foo","bar");
- } catch (Exception e) {
- fail("1.0");
- }
-
- try {
- new QualifiedName(null,"bar");
- } catch (Exception e) {
- fail("1.1");
- }
-
- try {
- new QualifiedName(" ","bar");
- } catch (Exception e) {
- fail("1.2");
- }
-
- try {
- new QualifiedName("","bar");
- } catch (Exception e) {
- fail("1.3");
- }
-
-}
-
-public void testLocalNames() {
-
- try {
- new QualifiedName("foo", null);
- fail("2.0");
- } catch (Exception e) {
- }
-
- try {
- new QualifiedName("foo","");
- fail("2.1");
- } catch (Exception e) {
- }
-
- try {
- new QualifiedName("foo"," ");
- } catch (Exception e) {
- fail("2.2");
- }
-
- try {
- new QualifiedName("foo"," port ");
- } catch (Exception e) {
- fail("2.3");
- }
-
-}
-
-public void testEqualsAndHashcode() {
-
- QualifiedName qN1 = new QualifiedName("org.eclipse.runtime", "myClass");
- QualifiedName qN2 = new QualifiedName("org.eclipse.runtime", "myClass");
- assertTrue("1.0", qN1.equals(qN2));
- assertTrue("1.1", qN2.equals(qN1));
- assertEquals("1.2", qN1.hashCode(), qN2.hashCode());
-
-
- assertTrue("2.0", !qN1.equals(new String("org.eclipse.runtime.myClass")));
-
-
- QualifiedName qN3 = new QualifiedName(null,"myClass");
- assertTrue("3.0", !qN1.equals(qN3));
-
- QualifiedName qN4 = new QualifiedName("org.eclipse.runtime", " myClass");
- assertTrue("3.1", !qN1.equals(qN4));
-
- QualifiedName qN5 = new QualifiedName("org.eclipse.runtime", "myClass ");
- assertTrue("3.2", !qN1.equals(qN5));
-
- QualifiedName qN6 = new QualifiedName( null, "myClass");
- QualifiedName qN7 = new QualifiedName( null, "myClass");
- assertTrue("4.0", qN6.equals(qN7));
- assertTrue("4.1", qN7.equals(qN6));
- assertEquals("4.2", qN7.hashCode(), qN6.hashCode());
-
- QualifiedName qN8 = new QualifiedName(" ", "myClass");
- assertTrue("5.0", ! qN8.equals(qN7));
- QualifiedName qN9 = new QualifiedName("", "myClass");
- assertTrue("5.1", ! qN8.equals(qN9));
-
-}
-
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java
deleted file mode 100644
index 741e1da..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/RuntimeTest.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**********************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v10.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- **********************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import junit.framework.TestCase;
-/**
- * Common superclass for all runtime tests.
- */
-public abstract class RuntimeTest extends TestCase {
-/**
- * Constructor required by test framework.
- */
-public RuntimeTest(String name) {
- super(name);
-}
-/**
- * Fails the test due to the given exception.
- * @param message
- * @param e
- */
-public void fail(String message, Exception e) {
- fail(message + ": " + e);
-}
-}
-
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java
deleted file mode 100644
index 5416134..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/StatusTest.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2002 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
- *
- * Contributors:
- * IBM - Initial API and implementation
- ******************************************************************************/
-package org.eclipse.core.tests.runtime;
-
-import org.eclipse.core.runtime.*;
-import java.util.Arrays;
-import junit.framework.*;
-
-public class StatusTest extends RuntimeTest {
-
-private int status1Severity = IStatus.OK;
-private String status1PluginId = "org.eclipse.core.tests.runtime";
-private int status1Code = -20;
-private String status1Message = "Something was canceled";
-private Exception status1Exception = new OperationCanceledException();
-private Status status1;
-
-private int status2Severity = IStatus.ERROR;
-private String status2PluginId = " ";
-private int status2Code = IStatus.OK;
-private String status2Message = "";
-private Exception status2Exception = null;
-private Status status2;
-
-private String multistatus1PluginId = "org.eclipse.core.tests.multistatus1";
-private int multistatus1Code = 20;
-private IStatus[] multistatus1Children = new IStatus[0];
-private String multistatus1Message = "Multistatus #1 message";
-private Throwable multistatus1Exception = new OperationCanceledException();
-private MultiStatus multistatus1;
-
-private MultiStatus multistatus2;
-
-public StatusTest() {
- super(null);
-}
-
-public StatusTest(String name) {
- super(name);
-}
-
-public static Test suite() {
- TestSuite suite= new TestSuite();
- suite.addTest(new StatusTest("testSingleStatusReturnValues"));
- suite.addTest(new StatusTest("testMultiStatusReturnValues"));
- suite.addTest(new StatusTest("testAdd"));
- suite.addTest(new StatusTest("testAddAll"));
- suite.addTest(new StatusTest("testIsOK"));
- suite.addTest(new StatusTest("testMerge"));
- return suite;
-}
-
-protected void setUp() {
- status1 = new Status(status1Severity, status1PluginId, status1Code, status1Message, status1Exception);
- status2 = new Status(status2Severity, status2PluginId, status2Code, status2Message, status2Exception);
-
- multistatus1 = new MultiStatus(multistatus1PluginId, multistatus1Code, multistatus1Children, multistatus1Message, multistatus1Exception);
- multistatus2 = new MultiStatus(" ", 45, new Status[0], "", null);
- multistatus2.add(status1);
- multistatus2.add(status1);
-}
-
-public void testMultiStatusReturnValues() {
- assertEquals("1.1", multistatus1PluginId, multistatus1.getPlugin());
- assertEquals("1.2", multistatus1Code, multistatus1.getCode());
- assertTrue("1.3", Arrays.equals(multistatus1Children, multistatus1.getChildren()));
- assertEquals("1.4", multistatus1Message, multistatus1.getMessage());
- assertEquals("1.5", multistatus1Exception, multistatus1.getException());
- assertTrue("1.6", multistatus1.isMultiStatus());
- assertEquals("1.7", IStatus.OK, multistatus1.getSeverity());
- assertTrue("1.8", multistatus1.isOK());
- assertEquals("1.9", false, status1.matches(IStatus.ERROR | IStatus.WARNING | IStatus.INFO));
-}
-
-public void testSingleStatusReturnValues() {
- assertEquals("1.0", status1Severity, status1.getSeverity());
- assertEquals("1.1", status1PluginId, status1.getPlugin());
- assertEquals("1.2", status1Code, status1.getCode());
- assertEquals("1.3", status1Message, status1.getMessage());
- assertEquals("1.4", status1Exception, status1.getException());
- assertEquals("1.5", 0, status1.getChildren().length);
- assertEquals("1.6", false, status1.isMultiStatus());
- assertEquals("1.7", status1Severity == IStatus.OK, status1.isOK());
- assertEquals("1.8", status1.matches(IStatus.ERROR | IStatus.WARNING | IStatus.INFO), !status1.isOK());
-
- assertEquals("2.0", status2Severity, status2.getSeverity());
- assertEquals("2.1", status2PluginId, status2.getPlugin());
- assertEquals("2.2", status2Code, status2.getCode());
- assertEquals("2.3", status2Message, status2.getMessage());
- assertEquals("2.4", status2Exception, status2.getException());
- assertEquals("2.5", 0, status2.getChildren().length);
- assertEquals("2.6", false, status2.isMultiStatus());
- assertEquals("2.7", status2Severity == IStatus.OK, status2.isOK());
- assertEquals("2.8", status2.matches(IStatus.ERROR), !status2.isOK());
-}
-
-public void testAdd() {
-
- multistatus1.add(status1);
- assertEquals("1.0",status1, (multistatus1.getChildren())[0]);
-
- multistatus1.add(multistatus2);
- assertEquals("1.1",multistatus2, (multistatus1.getChildren())[1]);
-
- multistatus1.add(multistatus1);
- assertEquals("1.2",multistatus1, (multistatus1.getChildren())[2]);
-
-}
-
-public void testAddAll() {
-
- multistatus1.add(status2);
- multistatus1.addAll(multistatus2);
- Status[] array = new Status[3];
- array[0] = status2;
- array[1] = status1;
- array[2] = status1;
-
- assertTrue("1.0", multistatus1.getChildren().length == 3);
- assertTrue("1.1", Arrays.equals(array, multistatus1.getChildren()));
-
-
- multistatus1.add(multistatus2);
- multistatus1.addAll(multistatus1);
- Status[] array2 = new Status[8];
- array2[0] = status2;
- array2[1] = status1;
- array2[2] = status1;
- array2[3] = multistatus2;
- array2[4] = status2;
- array2[5] = status1;
- array2[6] = status1;
- array2[7] = multistatus2;
-
- assertTrue("2.0", multistatus1.getChildren().length == 8);
- assertTrue("2.1", Arrays.equals(array2, multistatus1.getChildren()));
-
-}
-
-public void testIsOK() {
-
- assertTrue("1.0", multistatus2.isOK());
-
- multistatus1.add(status2);
- multistatus1.addAll(multistatus2);
- assertTrue("1.1", !multistatus1.isOK());
-
-}
-
-public void testMerge() {
-
- multistatus1.merge(status2);
- multistatus1.merge(multistatus2);
- Status[] array = new Status[3];
- array[0] = status2;
- array[1] = status1;
- array[2] = status1;
-
- assertTrue("1.0", multistatus1.getChildren().length == 3);
- assertTrue("1.1", Arrays.equals(array, multistatus1.getChildren()));
-
-
- multistatus1.merge(multistatus1);
- Status[] array2 = new Status[6];
- array2[0] = status2;
- array2[1] = status1;
- array2[2] = status1;
- array2[3] = status2;
- array2[4] = status1;
- array2[5] = status1;
-
- assertTrue("2.0", multistatus1.getChildren().length == 6);
- assertTrue("2.1", Arrays.equals(array2, multistatus1.getChildren()));
-
-
- multistatus2.add(multistatus1);
- assertTrue("3.0", ! multistatus2.isOK());
- multistatus2.merge(multistatus2.getChildren()[2]);
- assertTrue("3.1", multistatus2.getChildren().length == 9);
-
-}
-
-
-}
\ No newline at end of file
diff --git a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java b/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java
deleted file mode 100644
index 1d48028..0000000
--- a/tests/org.eclipse.core.tests.runtime/src/org/eclipse/core/tests/runtime/model/ConfigurationElementModelTest.java
+++ /dev/null
Binary files differ