This commit was manufactured by cvs2svn to create tag 'v20050525'.

Sprout from master 2005-05-26 04:09:11 UTC darins 'Incorrect copyrights'
Cherrypick from master 2005-05-23 17:59:41 UTC Dejan Glozic <dejan> '96267 Update plugins do not restrict access to their packages':
    update/org.eclipse.update.core/META-INF/MANIFEST.MF
    update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
    update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
Delete:
    platform/org.eclipse.platform/.classpath
    platform/org.eclipse.platform/.cvsignore
    platform/org.eclipse.platform/.project
    platform/org.eclipse.platform/3_1SplashPsd.zip
    platform/org.eclipse.platform/META-INF/MANIFEST.MF
    platform/org.eclipse.platform/about.html
    platform/org.eclipse.platform/about.ini
    platform/org.eclipse.platform/about.mappings
    platform/org.eclipse.platform/about.properties
    platform/org.eclipse.platform/book.css
    platform/org.eclipse.platform/build.properties
    platform/org.eclipse.platform/cheatsheets/CVS_1.xml
    platform/org.eclipse.platform/disabled_book.css
    platform/org.eclipse.platform/eclipse.gif
    platform/org.eclipse.platform/eclipse32.gif
    platform/org.eclipse.platform/eclipse_lg.gif
    platform/org.eclipse.platform/intro.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/background.jpg
    platform/org.eclipse.platform/intro/css/graphics/contentpage/backgroundcurve.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/handle.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/overview_wtr.jpg
    platform/org.eclipse.platform/intro/css/graphics/contentpage/samples_wtr.jpg
    platform/org.eclipse.platform/intro/css/graphics/contentpage/section1.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/section2.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/section3.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/section4.gif
    platform/org.eclipse.platform/intro/css/graphics/contentpage/tutorials_wtr.jpg
    platform/org.eclipse.platform/intro/css/graphics/contentpage/whatsnew_wtr.jpg
    platform/org.eclipse.platform/intro/css/graphics/contentpage/wordmark.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/wb48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/back.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/forward.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/overview.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/restore_welcome.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/samples.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/tutorials.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/dtool/whatsnew.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/back.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/forward.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/restore_welcome.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/wb48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48sel.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew72.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/community_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/communityhov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/features_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/featureshov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapp_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapphov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplet_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplethov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadev_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadevhov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/new_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/newhov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/plugin_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/pluginhov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapp_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapphov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/script_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/scripthov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapp_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapphov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsup_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsuphov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updates_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updateshov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasics_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasicshov_obj.gif
    platform/org.eclipse.platform/intro/css/graphics/rootpage/background.jpg
    platform/org.eclipse.platform/intro/css/graphics/rootpage/brandmark.gif
    platform/org.eclipse.platform/intro/css/graphics/rootpage/dots.gif
    platform/org.eclipse.platform/intro/css/graphics/swt/form_banner.gif
    platform/org.eclipse.platform/intro/css/overview/overview.css
    platform/org.eclipse.platform/intro/css/overview/swt.properties
    platform/org.eclipse.platform/intro/css/root.css
    platform/org.eclipse.platform/intro/css/root_swt.properties
    platform/org.eclipse.platform/intro/css/samples/samples.css
    platform/org.eclipse.platform/intro/css/samples/swt.properties
    platform/org.eclipse.platform/intro/css/shared.css
    platform/org.eclipse.platform/intro/css/standby_root.css
    platform/org.eclipse.platform/intro/css/standby_swt.properties
    platform/org.eclipse.platform/intro/css/tutorials/swt.properties
    platform/org.eclipse.platform/intro/css/tutorials/tutorials.css
    platform/org.eclipse.platform/intro/css/whatsnew/swt.properties
    platform/org.eclipse.platform/intro/css/whatsnew/whatsnew.css
    platform/org.eclipse.platform/intro/introContent.xml
    platform/org.eclipse.platform/narrow_book.css
    platform/org.eclipse.platform/plugin.properties
    platform/org.eclipse.platform/plugin.xml
    platform/org.eclipse.platform/plugin_customization.ini
    platform/org.eclipse.platform/plugin_customization.properties
    platform/org.eclipse.platform/splash.bmp
    platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java
    platform/org.eclipse.platform/src/META-INF/MANIFEST.MF
    platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
    platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebStartMain.java
    platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html
    platform/org.eclipse.platform/welcome.xml
    platform/org.eclipse.sdk/.project
    platform/org.eclipse.sdk/META-INF/MANIFEST.MF
    platform/org.eclipse.sdk/about.html
    platform/org.eclipse.sdk/about.ini
    platform/org.eclipse.sdk/about.mappings
    platform/org.eclipse.sdk/about.properties
    platform/org.eclipse.sdk/build.properties
    platform/org.eclipse.sdk/eclipse32.gif
    platform/org.eclipse.sdk/plugin.properties
    platform/org.eclipse.sdk/plugin.xml
    update/org.eclipse.update.configurator/.classpath
    update/org.eclipse.update.configurator/.cvsignore
    update/org.eclipse.update.configurator/.options
    update/org.eclipse.update.configurator/.project
    update/org.eclipse.update.configurator/META-INF/MANIFEST.MF
    update/org.eclipse.update.configurator/about.html
    update/org.eclipse.update.configurator/build.properties
    update/org.eclipse.update.configurator/plugin.properties
    update/org.eclipse.update.configurator/plugin.xml
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java
    update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties
    update/org.eclipse.update.core.linux/.classpath
    update/org.eclipse.update.core.linux/.cvsignore
    update/org.eclipse.update.core.linux/.project
    update/org.eclipse.update.core.linux/META-INF/MANIFEST.MF
    update/org.eclipse.update.core.linux/about.html
    update/org.eclipse.update.core.linux/build.properties
    update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so
    update/org.eclipse.update.core.linux/src/build.xml
    update/org.eclipse.update.core.linux/src/update.c
    update/org.eclipse.update.core.linux/src/update.h
    update/org.eclipse.update.core.win32/.project
    update/org.eclipse.update.core.win32/META-INF/MANIFEST.MF
    update/org.eclipse.update.core.win32/about.html
    update/org.eclipse.update.core.win32/build.properties
    update/org.eclipse.update.core.win32/os/win32/x86/update.dll
    update/org.eclipse.update.core.win32/src/build.xml
    update/org.eclipse.update.core.win32/src/update.cpp
    update/org.eclipse.update.core.win32/src/update.h
    update/org.eclipse.update.examples/.classpath
    update/org.eclipse.update.examples/.cvsignore
    update/org.eclipse.update.examples/.project
    update/org.eclipse.update.examples/Scrapbook2.jpage
    update/org.eclipse.update.examples/about.html
    update/org.eclipse.update.examples/build.properties
    update/org.eclipse.update.examples/plugin.properties
    update/org.eclipse.update.examples/plugin.xml
    update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar
    update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar
    update/org.eclipse.update.examples/site/info/images/redDot.jpg
    update/org.eclipse.update.examples/site/info/siteInfo.html
    update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar
    update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar
    update/org.eclipse.update.examples/site/site.xml
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
    update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
    update/org.eclipse.update.scheduler/.classpath
    update/org.eclipse.update.scheduler/.cvsignore
    update/org.eclipse.update.scheduler/.project
    update/org.eclipse.update.scheduler/META-INF/MANIFEST.MF
    update/org.eclipse.update.scheduler/about.html
    update/org.eclipse.update.scheduler/build.properties
    update/org.eclipse.update.scheduler/plugin.properties
    update/org.eclipse.update.scheduler/plugin.xml
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdateJob.java
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/SchedulerStartup.java
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateJobChangeAdapter.java
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerMessages.java
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerPlugin.java
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerResources.properties
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/AutomaticUpdatesPreferencePage.java
    update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/PreferenceInitializer.java
    update/org.eclipse.update.tests.core/.classpath
    update/org.eclipse.update.tests.core/.cvsignore
    update/org.eclipse.update.tests.core/.project
    update/org.eclipse.update.tests.core/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/about.html
    update/org.eclipse.update.tests.core/build.properties
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
    update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
    update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
    update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
    update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
    update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/Site with space/site.xml
    update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
    update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
    update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
    update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
    update/org.eclipse.update.tests.core/data/features/features2.jar
    update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
    update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
    update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature2.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature3.xml
    update/org.eclipse.update.tests.core/data/parsertests/feature4.xml
    update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
    update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
    update/org.eclipse.update.tests.core/data/parsertests/site.properties
    update/org.eclipse.update.tests.core/data/parsertests/site.xml
    update/org.eclipse.update.tests.core/data/parsertests/site10.xml
    update/org.eclipse.update.tests.core/data/parsertests/site2.xml
    update/org.eclipse.update.tests.core/data/parsertests/site3.xml
    update/org.eclipse.update.tests.core/data/parsertests/site4.xml
    update/org.eclipse.update.tests.core/data/parsertests/site7.xml
    update/org.eclipse.update.tests.core/data/parsertests/site8.xml
    update/org.eclipse.update.tests.core/data/parsertests/site9.xml
    update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html
    update/org.eclipse.update.tests.core/data/perf/platform.xml
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
    update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
    update/org.eclipse.update.tests.core/data/resources.properties
    update/org.eclipse.update.tests.core/data/site.xml
    update/org.eclipse.update.tests.core/data/site2/site.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar
    update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml
    update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
    update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
    update/org.eclipse.update.tests.core/data/testAPI/site.xml
    update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct
    update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension
    update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension
    update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM
    update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension
    update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM
    update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension
    update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml
    update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
    update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
    update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
    update/org.eclipse.update.tests.core/plugin.properties
    update/org.eclipse.update.tests.core/plugin.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
    update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
    update/org.eclipse.update.tests.core/test.xml
    update/org.eclipse.update.tests.core/test_with_mail.xml
    update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
    update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
    update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
    update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
    update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
    update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
    update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
    update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
    update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
    update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
    update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar
    update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml
    update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java
    update/org.eclipse.update.ui.forms/.classpath
    update/org.eclipse.update.ui.forms/.cvsignore
    update/org.eclipse.update.ui.forms/.project
    update/org.eclipse.update.ui.forms/about.html
    update/org.eclipse.update.ui.forms/build.properties
    update/org.eclipse.update.ui.forms/plugin.properties
    update/org.eclipse.update.ui.forms/plugin.xml
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif
    update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
    update/org.eclipse.update.ui.win32/.classpath
    update/org.eclipse.update.ui.win32/.cvsignore
    update/org.eclipse.update.ui.win32/.project
    update/org.eclipse.update.ui.win32/about.html
    update/org.eclipse.update.ui.win32/build.properties
    update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif
    update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif
    update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif
    update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif
    update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif
    update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif
    update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg
    update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif
    update/org.eclipse.update.ui.win32/icons/sample.gif
    update/org.eclipse.update.ui.win32/plugin.properties
    update/org.eclipse.update.ui.win32/plugin.xml
    update/org.eclipse.update.ui.win32/schema/welcomePages.exsd
    update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java
    update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java
    update/org.eclipse.update.ui/.classpath
    update/org.eclipse.update.ui/.cvsignore
    update/org.eclipse.update.ui/.project
    update/org.eclipse.update.ui/Graphics_update.html
    update/org.eclipse.update.ui/META-INF/MANIFEST.MF
    update/org.eclipse.update.ui/about.html
    update/org.eclipse.update.ui/build.properties
    update/org.eclipse.update.ui/icons/dlcl16/collapseall.gif
    update/org.eclipse.update.ui/icons/dlcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui/icons/dlcl16/show_unconf.gif
    update/org.eclipse.update.ui/icons/dtool16/config_wiz.gif
    update/org.eclipse.update.ui/icons/dtool16/install_wiz.gif
    update/org.eclipse.update.ui/icons/dtool16/uninstall_wiz.gif
    update/org.eclipse.update.ui/icons/dtool16/update_wiz.gif
    update/org.eclipse.update.ui/icons/elcl16/collapseall.gif
    update/org.eclipse.update.ui/icons/elcl16/hierarchicalLayout.gif
    update/org.eclipse.update.ui/icons/elcl16/show_unconf.gif
    update/org.eclipse.update.ui/icons/etool16/config_wiz.gif
    update/org.eclipse.update.ui/icons/etool16/install_wiz.gif
    update/org.eclipse.update.ui/icons/etool16/uninstall_wiz.gif
    update/org.eclipse.update.ui/icons/etool16/update_wiz.gif
    update/org.eclipse.update.ui/icons/eview16/configs.gif
    update/org.eclipse.update.ui/icons/eview16/preview.gif
    update/org.eclipse.update.ui/icons/forms/def_provider.jpg
    update/org.eclipse.update.ui/icons/forms/form_banner.gif
    update/org.eclipse.update.ui/icons/forms/form_banner.jpg
    update/org.eclipse.update.ui/icons/forms/form_underline.jpg
    update/org.eclipse.update.ui/icons/forms/topic.gif
    update/org.eclipse.update.ui/icons/obj16/app_obj.gif
    update/org.eclipse.update.ui/icons/obj16/bfolder_obj.gif
    update/org.eclipse.update.ui/icons/obj16/category_obj.gif
    update/org.eclipse.update.ui/icons/obj16/config_obj.gif
    update/org.eclipse.update.ui/icons/obj16/efix2_obj.gif
    update/org.eclipse.update.ui/icons/obj16/efix_obj.gif
    update/org.eclipse.update.ui/icons/obj16/error_st_obj.gif
    update/org.eclipse.update.ui/icons/obj16/esite_obj.gif
    update/org.eclipse.update.ui/icons/obj16/feature_obj.gif
    update/org.eclipse.update.ui/icons/obj16/history_obj.gif
    update/org.eclipse.update.ui/icons/obj16/lsite_obj.gif
    update/org.eclipse.update.ui/icons/obj16/notinstalled_feature_obj.gif
    update/org.eclipse.update.ui/icons/obj16/ok_st_obj.gif
    update/org.eclipse.update.ui/icons/obj16/psite_obj.gif
    update/org.eclipse.update.ui/icons/obj16/site_obj.gif
    update/org.eclipse.update.ui/icons/obj16/unconf_feature_obj.gif
    update/org.eclipse.update.ui/icons/obj16/updates_obj.gif
    update/org.eclipse.update.ui/icons/obj16/usearch_obj.gif
    update/org.eclipse.update.ui/icons/obj16/web_bkmrk_obj.gif
    update/org.eclipse.update.ui/icons/ovr16/add_stat.gif
    update/org.eclipse.update.ui/icons/ovr16/current_co.gif
    update/org.eclipse.update.ui/icons/ovr16/del_stat.gif
    update/org.eclipse.update.ui/icons/ovr16/error_co.gif
    update/org.eclipse.update.ui/icons/ovr16/installable_co.gif
    update/org.eclipse.update.ui/icons/ovr16/linked_co.gif
    update/org.eclipse.update.ui/icons/ovr16/mod_co.gif
    update/org.eclipse.update.ui/icons/ovr16/unconfigured_co.gif
    update/org.eclipse.update.ui/icons/ovr16/updated_co.gif
    update/org.eclipse.update.ui/icons/ovr16/warning_co.gif
    update/org.eclipse.update.ui/icons/wizban/config_wiz.gif
    update/org.eclipse.update.ui/icons/wizban/def_wizban.jpg
    update/org.eclipse.update.ui/icons/wizban/install_wiz.gif
    update/org.eclipse.update.ui/icons/wizban/uninstall_wiz.gif
    update/org.eclipse.update.ui/icons/wizban/update_wiz.gif
    update/org.eclipse.update.ui/plugin.properties
    update/org.eclipse.update.ui/plugin.xml
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/ConfigurationManagerWindow.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/RestartDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateLabelProvider.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUI.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIImages.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIMessages.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkFolder.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkUtil.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredSiteAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/DiscoveryFolder.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredFeatureAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteContext.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MissingFeature.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/NamedModelObject.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UIModelObject.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UpdateModel.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/AbstractOverlayIcon.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/DefaultContentProvider.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/ImageOverlayIcon.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/OverlayIcon.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/PixelConverter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SWTUtil.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SharedLabelProvider.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/UpdateSettingsPreferencePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/ConfiguredSitePropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureCopyrightPropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureGeneralPropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureLicensePropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureStatusPropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/InstallConfigurationPropertyPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/Authentication.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationService.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UpdateManagerAuthenticator.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UserValidationDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationPreview.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureStateAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/IPreviewTask.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallOptionalFeatureAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallationHistoryAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/NewExtensionLocationAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ReplaceVersionAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/RevertConfigurationAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ShowActivitiesAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SiteStateAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UninstallFeatureAction.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ActivitiesTableViewer.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/BannerPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ContainerCheckedTreeViewer.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/DuplicateConflictsDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/EditSiteDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureSorter.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/IDynamicPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ISearchProvider.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardOperation.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LocalSiteSelector.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdateSiteDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewWebSiteDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/OptionalFeaturesPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizard.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizardPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ResizableInstallWizardDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizard.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizardPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReviewPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitesImportExport.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TableLayoutComposite.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetSiteDialog.java
    update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/UIProblemHandler.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java
    update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateManagerUI.java
    update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/InstallServlet.java
    update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/ServletsUtil.java
    update/org.eclipse.update.ui/webapp/WEB-INF/.cvsignore
    update/org.eclipse.update.ui/webapp/WEB-INF/lib/.cvsignore
    update/org.eclipse.update.ui/webapp/WEB-INF/web.xml
    update/org.eclipse.update.ui/webapp/images/backward_nav.gif
    update/org.eclipse.update.ui/webapp/images/form_banner.jpg
    update/org.eclipse.update.ui/webapp/images/form_underline.jpg
    update/org.eclipse.update/.classpath
    update/org.eclipse.update/.cvsignore
    update/org.eclipse.update/.project
    update/org.eclipse.update/.vcm_meta
diff --git a/platform/org.eclipse.platform/.classpath b/platform/org.eclipse.platform/.classpath
deleted file mode 100644
index 618ac00..0000000
--- a/platform/org.eclipse.platform/.classpath
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry output="bin-intro" kind="src" path="src-intro"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/platform/org.eclipse.platform/.cvsignore b/platform/org.eclipse.platform/.cvsignore
deleted file mode 100644
index 2f6d5a5..0000000
--- a/platform/org.eclipse.platform/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-bin-intro
diff --git a/platform/org.eclipse.platform/.project b/platform/org.eclipse.platform/.project
deleted file mode 100644
index e28fafc..0000000
--- a/platform/org.eclipse.platform/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.platform</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.intro</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/platform/org.eclipse.platform/3_1SplashPsd.zip b/platform/org.eclipse.platform/3_1SplashPsd.zip
deleted file mode 100644
index d49db54..0000000
--- a/platform/org.eclipse.platform/3_1SplashPsd.zip
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/META-INF/MANIFEST.MF b/platform/org.eclipse.platform/META-INF/MANIFEST.MF
deleted file mode 100644
index 3787163..0000000
--- a/platform/org.eclipse.platform/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,14 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.platform; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-ClassPath: startup.jar,
- platform.jar
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui.intro;resolution:=optional,
- org.eclipse.ui.cheatsheets;resolution:=optional,
- org.eclipse.ui.forms;resolution:=optional,
- org.eclipse.ui;resolution:=optional
-Eclipse-AutoStart: true
diff --git a/platform/org.eclipse.platform/about.html b/platform/org.eclipse.platform/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/platform/org.eclipse.platform/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/about.ini b/platform/org.eclipse.platform/about.ini
deleted file mode 100644
index cbdcb66..0000000
--- a/platform/org.eclipse.platform/about.ini
+++ /dev/null
@@ -1,25 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for feature details in the "About" 
-# dialog (translated).  Maximum 15 lines and 75 characters per line.
-aboutText=%blurb
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# ($nl$/ prefix to permit locale-specific translations of entire file)
-welcomePage=$nl$/welcome.xml
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-# Property "tipsAndTricksHref" contains the Help topic href to a tips and tricks page 
-# optional
-tipsAndTricksHref=/org.eclipse.platform.doc.user/tips/platform_tips.html
-
diff --git a/platform/org.eclipse.platform/about.mappings b/platform/org.eclipse.platform/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/platform/org.eclipse.platform/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/about.properties b/platform/org.eclipse.platform/about.properties
deleted file mode 100644
index 3583236..0000000
--- a/platform/org.eclipse.platform/about.properties
+++ /dev/null
@@ -1,28 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Eclipse Platform\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2005.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform\n\
-\n\
-This product includes software developed by the\n\
-Apache Software Foundation http://www.apache.org/
diff --git a/platform/org.eclipse.platform/book.css b/platform/org.eclipse.platform/book.css
deleted file mode 100644
index 4798a30..0000000
--- a/platform/org.eclipse.platform/book.css
+++ /dev/null
@@ -1,106 +0,0 @@
-P.Code {

-	display: block;

-	text-align: left;

-	text-indent: 0.00pt;

-	margin-top: 0.000000pt;

-	margin-bottom: 0.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 15pt;

-	font-size: 10.000000pt;

-	font-weight: medium;

-	font-style: Regular;

-	color: #4444CC;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family: "Courier New";

-}

-H6.CaptionFigColumn {

-	display: block;

-	text-align: left;

-	text-indent: 0.000000pt;

-	margin-top: 3.000000pt;

-	margin-bottom: 11.000000pt;

-	margin-right: 0.000000pt;

-	margin-left: 0.000000pt;

-	font-size: 9.000000pt;

-	font-weight: medium;

-	font-style: Italic;

-	color: #000000;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family: "Arial";

-}

-P.Note {

-	display: block;

-	text-align: left;

-	text-indent: 0pt;

-	margin-top: 19.500000pt;

-	margin-bottom: 19.500000pt;

-	margin-right: 0.000000pt;

-	margin-left: 30pt;

-	font-size: 11.000000pt;

-	font-weight: medium;

-	font-style: Italic;

-	color: #000000;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family: "Arial";

-}

-EM.UILabel {

-	font-weight: Bold;

-	font-style: Regular;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-}

-EM.CodeName {

-	font-weight: Bold;

-	font-style: Regular;

-	text-decoration: none;

-	vertical-align: baseline;

-	text-transform: none;

-	font-family:"Courier New";

-}

-

-body, html { border: 0px }

-

-

-/* following font face declarations need to be removed for DBCS */

-

-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-family: Arial, Helvetica, sans-serif; color: #000000}

-pre				{ font-family: Courier, monospace}

-

-/* end font face declarations */

-

-/* following font size declarations should be OK for DBCS */

-body, h1, h2, h3, h4, h5, h6, p, table, td, caption, th, ul, ol, dl, li, dd, dt {font-size: 10pt; }

-pre				{ font-size: 10pt}

-

-/* end font size declarations */

-

-body	     { background: #FFFFFF}

-h1           { font-size: 18pt; margin-top: 5; margin-bottom: 1 }	

-h2           { font-size: 14pt; margin-top: 25; margin-bottom: 3 }

-h3           { font-size: 11pt; margin-top: 20; margin-bottom: 3 }

-h4           { font-size: 10pt; margin-top: 20; margin-bottom: 3; font-style: italic }

-p            { margin-top: 10px; margin-bottom: 10px }

-pre	     { margin-left: 6; font-size: 9pt }

-a:link	     { color: #0000FF }

-a:hover	     { color: #000080 }

-a:visited    { text-decoration: underline }

-ul	     { margin-top: 0; margin-bottom: 10 }

-li	     { margin-top: 0; margin-bottom: 0 } 

-li p	     { margin-top: 0; margin-bottom: 0 } 

-ol	     { margin-top: 0; margin-bottom: 10 }

-dl	     { margin-top: 0; margin-bottom: 10 }

-dt	     { margin-top: 0; margin-bottom: 0; font-weight: bold }

-dd	     { margin-top: 0; margin-bottom: 0 }

-strong	     { font-weight: bold}

-em	     { font-style: italic}

-var	     { font-style: italic}

-div.revision { border-left-style: solid; border-left-width: thin; 

-				   border-left-color: #7B68EE; padding-left:5 }

-th	     { font-weight: bold }

diff --git a/platform/org.eclipse.platform/build.properties b/platform/org.eclipse.platform/build.properties
deleted file mode 100644
index 1cf34ff..0000000
--- a/platform/org.eclipse.platform/build.properties
+++ /dev/null
@@ -1,37 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse_lg.gif,\
-               eclipse.gif,\
-               eclipse32.gif,\
-               plugin_customization.ini,\
-               plugin_customization.properties,\
-               plugin.xml,\
-               plugin.properties,\
-               splash.bmp,\
-               cheatsheets/,\
-               welcome.xml,\
-               intro/,\
-               platform.jar,\
-               intro.gif,\
-               META-INF/,\
-               narrow_book.css,\
-               disabled_book.css,\
-               book.css
-src.includes = about.html,\
-               launchersrc.zip,\
-               platformsrc.zip
-source.startup.jar = src/
-source.platform.jar = src-intro/
-manifest.startup.jar = META-INF/MANIFEST.MF
diff --git a/platform/org.eclipse.platform/cheatsheets/CVS_1.xml b/platform/org.eclipse.platform/cheatsheets/CVS_1.xml
deleted file mode 100644
index ca75638..0000000
--- a/platform/org.eclipse.platform/cheatsheets/CVS_1.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<cheatsheet title="CVS - Merging from one branch to another">
-
-	<intro 
-		href="/org.eclipse.platform.doc.user/reference/ref-cheatsheets.htm">
-		<description>
-This cheat sheet will automatically launch wizards, perform actions, and guide you through the individual steps to merge changes from a CVS branch into another branch, or into HEAD. To learn more about using cheat sheets or to see a list of available cheat sheets click help (?).To start working on this cheat sheet, click the "Click to begin" button below.
-		</description>
-	</intro>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Determine Branch and Version Information">
-		<description>
-In this step you must determine the name of the branch or version that contains your changes and the version from which the branch was created. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step. 
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Load the Destination into your Workspace">
-		<description>
-Select the project and choose Replace With &gt; Another Branch or Version from the context menu. Then select the branch to replace with. In this step you must ensure that the destination is loaded into your workspace. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm" 
-		title="Merge Details">
-		<description>
-Select the project, choose Team &gt; Merge and complete the wizard as required. This step specifies the details of the merge.  This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Work with the Merge Editor">
-		<description>
-In the Merge editor manually merge the changes. This step loads the required changes into the workspace. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-	<item
-		href="/org.eclipse.platform.doc.user/tasks/tasks-100b.htm"
-		title="Commit your changes">
-		<description>
-Select Team &gt; Synchronize with Repository and then commit all the changes to the repository. This step finalizes the transfer of the changes from the workspace to the CVS repository. This is a manual task, you will need to perform the work and click the "Click to complete" button to move to the next step.
-		</description>
-	</item>
-
-</cheatsheet>
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/disabled_book.css b/platform/org.eclipse.platform/disabled_book.css
deleted file mode 100644
index 5abd004..0000000
--- a/platform/org.eclipse.platform/disabled_book.css
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/eclipse.gif b/platform/org.eclipse.platform/eclipse.gif
deleted file mode 100644
index 6ca37e0..0000000
--- a/platform/org.eclipse.platform/eclipse.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/eclipse32.gif b/platform/org.eclipse.platform/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/platform/org.eclipse.platform/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/eclipse_lg.gif b/platform/org.eclipse.platform/eclipse_lg.gif
deleted file mode 100644
index 27c0838..0000000
--- a/platform/org.eclipse.platform/eclipse_lg.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro.gif b/platform/org.eclipse.platform/intro.gif
deleted file mode 100644
index eb7b90c..0000000
--- a/platform/org.eclipse.platform/intro.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/background.jpg b/platform/org.eclipse.platform/intro/css/graphics/contentpage/background.jpg
deleted file mode 100644
index ce1cada..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/background.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/backgroundcurve.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/backgroundcurve.gif
deleted file mode 100644
index 8c5ec1d..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/backgroundcurve.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/handle.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/handle.gif
deleted file mode 100644
index 66a8893..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/handle.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/overview_wtr.jpg b/platform/org.eclipse.platform/intro/css/graphics/contentpage/overview_wtr.jpg
deleted file mode 100644
index 733e48c..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/overview_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/samples_wtr.jpg b/platform/org.eclipse.platform/intro/css/graphics/contentpage/samples_wtr.jpg
deleted file mode 100644
index 78e703a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/samples_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section1.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/section1.gif
deleted file mode 100644
index 6147513..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section1.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section2.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/section2.gif
deleted file mode 100644
index 0ee148b..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section2.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section3.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/section3.gif
deleted file mode 100644
index b5d24e6..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section3.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section4.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/section4.gif
deleted file mode 100644
index 258d4a8..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/section4.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/tutorials_wtr.jpg b/platform/org.eclipse.platform/intro/css/graphics/contentpage/tutorials_wtr.jpg
deleted file mode 100644
index e74c7c0..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/tutorials_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/whatsnew_wtr.jpg b/platform/org.eclipse.platform/intro/css/graphics/contentpage/whatsnew_wtr.jpg
deleted file mode 100644
index c2a42da..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/whatsnew_wtr.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/contentpage/wordmark.gif b/platform/org.eclipse.platform/intro/css/graphics/contentpage/wordmark.gif
deleted file mode 100644
index 27ca85d..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/contentpage/wordmark.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48.gif
deleted file mode 100644
index 7da24bd..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48sel.gif
deleted file mode 100644
index 3d1c45b..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview72.gif
deleted file mode 100644
index d34b4b3..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/overview72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48.gif
deleted file mode 100644
index 3213de6..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48sel.gif
deleted file mode 100644
index f9c0469..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples72.gif
deleted file mode 100644
index 4c63a9a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/samples72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48.gif
deleted file mode 100644
index 1a3f06a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48sel.gif
deleted file mode 100644
index 3d687bd..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials72.gif
deleted file mode 100644
index a2aa343..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/tutorials72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/wb48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/wb48.gif
deleted file mode 100644
index c2fd06a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/wb48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48.gif
deleted file mode 100644
index 2bfb9be..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48sel.gif
deleted file mode 100644
index 0da843f..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew72.gif
deleted file mode 100644
index 74bf6ff..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/ctool/whatsnew72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/back.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/back.gif
deleted file mode 100644
index f0d0929..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/back.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/forward.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/forward.gif
deleted file mode 100644
index dbe58b2..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/forward.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/overview.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/overview.gif
deleted file mode 100644
index 2bc7b0d..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/overview.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/restore_welcome.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/restore_welcome.gif
deleted file mode 100644
index 4997b20..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/restore_welcome.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/samples.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/samples.gif
deleted file mode 100644
index 5cf3cae..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/samples.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/tutorials.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/tutorials.gif
deleted file mode 100644
index 63826a5..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/tutorials.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/whatsnew.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/whatsnew.gif
deleted file mode 100644
index 8056c99..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/dtool/whatsnew.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/back.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/back.gif
deleted file mode 100644
index 1c81cb6..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/back.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/forward.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/forward.gif
deleted file mode 100644
index 3e4a4f4..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/forward.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview.gif
deleted file mode 100644
index 3fe629a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48.gif
deleted file mode 100644
index 8e2f8c1..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48sel.gif
deleted file mode 100644
index 1275a4a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview72.gif
deleted file mode 100644
index e3f7648..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/overview72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/restore_welcome.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/restore_welcome.gif
deleted file mode 100644
index 7736bce..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/restore_welcome.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples.gif
deleted file mode 100644
index c695884..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48.gif
deleted file mode 100644
index 63d405b..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48sel.gif
deleted file mode 100644
index 4c3135d..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples72.gif
deleted file mode 100644
index 9216426..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/samples72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials.gif
deleted file mode 100644
index a18d7dd..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48.gif
deleted file mode 100644
index 718ca6c..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48sel.gif
deleted file mode 100644
index 10680e5..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials72.gif
deleted file mode 100644
index bab3498..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/tutorials72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/wb48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/wb48.gif
deleted file mode 100644
index 50ca287..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/wb48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew.gif
deleted file mode 100644
index f022324..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48.gif
deleted file mode 100644
index 6e00d7a..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48sel.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48sel.gif
deleted file mode 100644
index be9fa0c..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew48sel.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew72.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew72.gif
deleted file mode 100644
index 410093b..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/etool/whatsnew72.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/community_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/community_obj.gif
deleted file mode 100644
index 5d132a8..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/community_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/communityhov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/communityhov_obj.gif
deleted file mode 100644
index acb2a58..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/communityhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/features_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/features_obj.gif
deleted file mode 100644
index 364fd48..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/features_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/featureshov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/featureshov_obj.gif
deleted file mode 100644
index fbfdf03..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/featureshov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapp_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapp_obj.gif
deleted file mode 100644
index ce00d50..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapphov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapphov_obj.gif
deleted file mode 100644
index 35e9f58..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplet_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplet_obj.gif
deleted file mode 100644
index b19a952..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplet_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplethov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplethov_obj.gif
deleted file mode 100644
index 5da3db9..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javaapplethov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadev_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadev_obj.gif
deleted file mode 100644
index f6526a2..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadev_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadevhov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadevhov_obj.gif
deleted file mode 100644
index 36b47d3..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/javadevhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/new_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/new_obj.gif
deleted file mode 100644
index f46b81b..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/new_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/newhov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/newhov_obj.gif
deleted file mode 100644
index 593e63b..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/newhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/plugin_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/plugin_obj.gif
deleted file mode 100644
index d92d2c5..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/plugin_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/pluginhov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/pluginhov_obj.gif
deleted file mode 100644
index 1de8ccc..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/pluginhov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapp_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapp_obj.gif
deleted file mode 100644
index 830ab56..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapphov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapphov_obj.gif
deleted file mode 100644
index 5bd80a9..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/rcpapphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/script_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/script_obj.gif
deleted file mode 100644
index b48b7cd..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/script_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/scripthov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/scripthov_obj.gif
deleted file mode 100644
index d67203e..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/scripthov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapp_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapp_obj.gif
deleted file mode 100644
index 9ba9a33..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapp_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapphov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapphov_obj.gif
deleted file mode 100644
index c4fbb5d..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/swtapphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsup_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsup_obj.gif
deleted file mode 100644
index 4b9def9..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsup_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsuphov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsuphov_obj.gif
deleted file mode 100644
index 4bdf819..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/teamsuphov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updates_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updates_obj.gif
deleted file mode 100644
index 1608b30..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updates_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updateshov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updateshov_obj.gif
deleted file mode 100644
index 22a0ace..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/updateshov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasics_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasics_obj.gif
deleted file mode 100644
index 8b82563..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasics_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasicshov_obj.gif b/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasicshov_obj.gif
deleted file mode 100644
index 230be9c..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/icons/obj48/wbbasicshov_obj.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/rootpage/background.jpg b/platform/org.eclipse.platform/intro/css/graphics/rootpage/background.jpg
deleted file mode 100644
index 969fcf3..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/rootpage/background.jpg
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/rootpage/brandmark.gif b/platform/org.eclipse.platform/intro/css/graphics/rootpage/brandmark.gif
deleted file mode 100644
index 93f25f7..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/rootpage/brandmark.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/rootpage/dots.gif b/platform/org.eclipse.platform/intro/css/graphics/rootpage/dots.gif
deleted file mode 100644
index 6621b7c..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/rootpage/dots.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/graphics/swt/form_banner.gif b/platform/org.eclipse.platform/intro/css/graphics/swt/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/platform/org.eclipse.platform/intro/css/graphics/swt/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/overview/overview.css b/platform/org.eclipse.platform/intro/css/overview/overview.css
deleted file mode 100644
index 972539c..0000000
--- a/platform/org.eclipse.platform/intro/css/overview/overview.css
+++ /dev/null
@@ -1,84 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/overview_wtr.jpg);

-}

-

-.page { min-height : 700px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#overview img, #navigation-links a#overview:hover img { 

-	background-image : url(../graphics/icons/ctool/overview48sel.gif); 

-	}

-

-

-iframe {

-	position:relative;

-	top:16px;

-	width:100%;

-	height:100%;

-	padding-left:10px;

-	}

-	

-

-

-/* 

- * Set up the Overview links to be displayed in two columns

- * that are centered in the middle of the page.

- */

-

-#overview-links {

-	text-align : left;

-	width : 760px;

-	/* To center in Moz (have to use text-align for IE) */

-	margin : 0px auto;

-

-}

-

-#overview-links a { 

-	width : 370px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 5px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-#overview-links > a { vertical-align : middle; }

-

-#overview-links a img {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-		

-}	

-

-#overview-links a .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#overview-links a p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-/* Special case for Mozilla, because the links are displayed

-   in 1 vertical column instead of 2 centered columns */

-#overview-links > a { 	width : 700px; }

-#overview-links a > .link-label { width : 700px; }

-#overview-links a p > .text { width : 700px; }

-

-#overview-links a:hover { border-right : 5px; }

-

-a#basics img { background-image : url(../graphics/icons/obj48/wbbasics_obj.gif); }

-a#basics:hover img { background-image : url(../graphics/icons/obj48/wbbasicshov_obj.gif); }

-

-a#team img { background-image : url(../graphics/icons/obj48/teamsup_obj.gif); }

-a#team:hover img { background-image : url(../graphics/icons/obj48/teamsuphov_obj.gif); }

-

diff --git a/platform/org.eclipse.platform/intro/css/overview/swt.properties b/platform/org.eclipse.platform/intro/css/overview/swt.properties
deleted file mode 100644
index bdafab6..0000000
--- a/platform/org.eclipse.platform/intro/css/overview/swt.properties
+++ /dev/null
@@ -1,10 +0,0 @@
-
-overview.layout.ncolumns = 2
-overview.page-content.overview-links.layout.vspacing = 35
-
-overview.page-content.overview-links.basics.link-icon = intro/css/graphics/icons/obj48/wbbasics_obj.gif
-overview.page-content.overview-links.team.link-icon = intro/css/graphics/icons/obj48/teamsup_obj.gif
-overview.page-content.overview-links.layout.ncolumns = 2
-
-overview.subtitle-id = overview/page-content/page-title
-overview.description-id = overview/page-content/page-description
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/intro/css/root.css b/platform/org.eclipse.platform/intro/css/root.css
deleted file mode 100644
index f202234..0000000
--- a/platform/org.eclipse.platform/intro/css/root.css
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/intro/css/root_swt.properties b/platform/org.eclipse.platform/intro/css/root_swt.properties
deleted file mode 100644
index 67370d4..0000000
--- a/platform/org.eclipse.platform/intro/css/root_swt.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-
-root.links-background.page-links.overview.link-icon = intro/css/graphics/icons/etool/overview72.gif
-root.links-background.page-links.tutorials.link-icon = intro/css/graphics/icons/etool/tutorials72.gif
-root.links-background.page-links.samples.link-icon= intro/css/graphics/icons/etool/samples72.gif
-root.links-background.page-links.news.link-icon = intro/css/graphics/icons/etool/whatsnew72.gif
-root.action-links.workbench.link-icon = intro/css/graphics/icons/etool/wb48.gif
-
-root.links-background.page-links.overview.hover-icon = intro/css/graphics/icons/ctool/overview72.gif
-root.links-background.page-links.tutorials.hover-icon = intro/css/graphics/icons/ctool/tutorials72.gif
-root.links-background.page-links.samples.hover-icon = intro/css/graphics/icons/ctool/samples72.gif
-root.links-background.page-links.news.hover-icon = intro/css/graphics/icons/ctool/whatsnew72.gif
-root.action-links.workbench.hover-icon = intro/css/graphics/icons/ctool/wb48.gif
-
-
-root.links-background.page-links.overview.small-link-icon = intro/css/graphics/icons/etool/overview48.gif
-root.links-background.page-links.tutorials.small-link-icon = intro/css/graphics/icons/etool/tutorials48.gif
-root.links-background.page-links.samples.small-link-icon = intro/css/graphics/icons/etool/samples48.gif
-root.links-background.page-links.news.small-link-icon = intro/css/graphics/icons/etool/whatsnew48.gif
-root.action-links.workbench.small-link-icon = intro/css/graphics/icons/etool/wb48.gif
-
-root.links-background.page-links.overview.small-hover-icon = intro/css/graphics/icons/ctool/overview48.gif
-root.links-background.page-links.tutorials.small-hover-icon = intro/css/graphics/icons/ctool/tutorials48.gif
-root.links-background.page-links.samples.small-hover-icon = intro/css/graphics/icons/ctool/samples48.gif
-root.links-background.page-links.news.small-hover-icon = intro/css/graphics/icons/ctool/whatsnew48.gif
-root.action-links.workbench.small-hover-icon = intro/css/graphics/icons/ctool/wb48.gif
-
-root.layout.ncolumns = 1
-root.links-background.page-links.layout.hspacing = 40
-root.layout.vspacing = 35
diff --git a/platform/org.eclipse.platform/intro/css/samples/samples.css b/platform/org.eclipse.platform/intro/css/samples/samples.css
deleted file mode 100644
index 321f12b..0000000
--- a/platform/org.eclipse.platform/intro/css/samples/samples.css
+++ /dev/null
@@ -1,10 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/samples_wtr.jpg);

-}

-

-.page { min-height : 700px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#samples img, #navigation-links a#samples:hover img { background-image : url(../graphics/icons/ctool/samples48sel.gif); }

-

-

diff --git a/platform/org.eclipse.platform/intro/css/samples/swt.properties b/platform/org.eclipse.platform/intro/css/samples/swt.properties
deleted file mode 100644
index 3a83167..0000000
--- a/platform/org.eclipse.platform/intro/css/samples/swt.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-
-samples.page-content.layout.vspacing = 40
-
-description-style-id = group-description
-samples.subtitle-id = samples/page-content/page-title
-samples.description-id = samples/page-content/page-description
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/intro/css/shared.css b/platform/org.eclipse.platform/intro/css/shared.css
deleted file mode 100644
index f9f562c..0000000
--- a/platform/org.eclipse.platform/intro/css/shared.css
+++ /dev/null
@@ -1,264 +0,0 @@
-/* 

- * Set up general fonts, sizes and colors 

- */

-body { font-family : Arial, sans-serif; }

-

-H1, H2, H3, H4, p, a { color : #4D4D4D; }

-

-.intro-header H1 {

-	font-size : 16pt;

-	font-weight : normal;

-	color : #E5E5E5;

-}

-

-h2 {

-	font-size : 13pt;

-	font-weight : normal;

-	color : #7B8694;

-}

-/* For regular div labels */

-H4 .div-label {

-	font-size : 10pt;

-	font-weight : bold;

-}

-

-/* For the main page content's title */

-#content-header H4 .div-label {

-	font-size : 14pt;

-	font-weight : normal;

-	color : #8C96A2;

-	float : none;

-	clear : both;

-}

-

-.page-description { 

-	font-size : 10pt;

-	float : none;

-	clear : both;

-}

-

-a {

-	font-weight : bold;

-	text-decoration : none;

-	color : #4D4D4D;

-}

-

-a .link-label {

-	font-size : 10pt;

-	font-weight : normal;

-}

-

-#navigation-links a .link-label {

-	font-size : 9pt;

-	font-weight : normal;

-	color : #E5E5E5;

-}

-

-a .text {

-	font-size : 8pt;

-	font-weight : normal;

-}

-

-p .group-description {

-	font-size : 10pt;

-	font-weight : normal;

-}

-

-

-/* 

- * Set up other general properties like padding/margins

- */

-html, body { width : 100%; height : 100%; }

-

-html, body, div, h1, h4, p, a { margin : 0px; padding : 0px; }

-

-.intro-header H1 { padding-top : 10px; margin-left : 10px; }

-

-/* For regular div labels */

-#page-content div H4 {

-	padding : 10px;

-	padding-bottom : 0px;

-}

-

-/* For the main page content's div label */

-#page-content #content-header H4 {

-	padding-bottom : 10px;

-	padding-top : 0px;

-}

-

-/* special case for Mozilla's main content-header label.

-   Mozilla 1.4 needs more room at the top */

-#page-content > #content-header H4 { padding-top : 10px; }

-

-/* Needed in IE to get shift+tab to show the active image properly */

-a:active {

-	border : solid 0px;

-}

-

-a img {

-	border-width : 0;

-	background-repeat : no-repeat;

-}

-

-/*

- * to get scrollbars working in both IE and Mozilla

- */

-html,body { overflow: auto; }

-html>body { overflow: visible; }

-

-/*

- * Set up the body, decorative background, and navigation for the content 

- * pages. 

- * Note: the root page handles its own background and navigation; these

- * settings primarily apply to the content pages

- */

-body {

-	background-color : #FFFFFF;

-	background-repeat : no-repeat;

-	background-position : bottom right;

-}

-

-#background-image {

-	width : 100%;

-	min-width : 770px;

-	height : 164px;

-	background-image : url(graphics/contentpage/background.jpg);

-	background-repeat : no-repeat;

-	background-position : top left;	

-	position : absolute;

-	top : 0px;

-	z-index : -100;

-}

-

-#curve-image { 

-	width : 100%;

-	height : 164px;

-	position : absolute;

-	top : 0px;

-	background-image : url(graphics/contentpage/backgroundcurve.gif);

-	background-repeat : no-repeat;

-	background-position : top center;

-	margin : 0;

-	padding : 0;

-}

-

-.intro-header {	background-color : transparent; z-index : 100;}

-

-body, .page{

-	min-width : 770px;

-	/* since IE doesn't support min-width, try expression */

-	width:expression(document.body.clientWidth < 770? "770px": "auto" );

-	min-height : 425px;

-	height : 100%;

-	height : expression(document.body.clientHeight < 425? "425px": "100%" );

-}

-

-.page { 

-	background-image : url(graphics/contentpage/wordmark.gif);

-	background-repeat : no-repeat;

-	background-position : bottom left;

-	min-height : 475px;

-}

-

-#page-content {

-	background-repeat : no-repeat;

-	background-position : bottom right;

-	height : 70%;

-}

-

-/* 

- * Lay out the navigation links 

- * (Root page does something similar for its navigation)

- */

-#navigation-links {

-	position : relative;

-	left : 10px;

-	top : 5px;

-	height : 60px;

-	width : 98%;

-}

-

-#navigation-links a {

-	padding-left : 5px;

-	padding-right : 5px;

-	float : left;

-	text-align : center;

-}

-

-#navigation-links a img {

-	height : 52px;

-	width : 52px;

-	vertical-align : middle;

-}

-

-#navigation-links a .link-label { display : block; margin-top : 5px;}

-

-#navigation-links a .text { display : none; }

-

-#navigation-links a:hover, 

-#navigation-links a:focus 

-#navigation-links a:active { border-right : 0px;}

-

-/* properties for each of the navigation-links  */

-#navigation-links a#overview img { background-image : url(graphics/icons/etool/overview48.gif); }

-#navigation-links a#overview:hover img,

-#navigation-links a#overview:focus img,

-#navigation-links a#overview:active img { background-image : url(graphics/icons/ctool/overview48.gif); }

-/*#navigation-links a#overview:active img { background-image : url(graphics/icons/ctool/overview48sel.gif); }*/

-

-#navigation-links a#tutorials img { background-image : url(graphics/icons/etool/tutorials48.gif); }

-#navigation-links a#tutorials:hover img,

-#navigation-links a#tutorials:active img,

-#navigation-links a#tutorials:focus img { background-image : url(graphics/icons/ctool/tutorials48.gif); }

-/*#navigation-links a#tutorials:active img { background-image : url(graphics/icons/ctool/tutorials48sel.gif); }*/

-

-#navigation-links a#samples img { background-image : url(graphics/icons/etool/samples48.gif); }

-#navigation-links a#samples:hover img,

-#navigation-links a#samples:active img,

-#navigation-links a#samples:focus img { background-image : url(graphics/icons/ctool/samples48.gif); }

-/*#navigation-links a#samples:active img { background-image : url(graphics/icons/ctool/samples48sel.gif); }*/

-

-#navigation-links a#news img { background-image : url(graphics/icons/etool/whatsnew48.gif); }

-#navigation-links a#news:hover img,

-#navigation-links a#news:focus img,

-#navigation-links a#news:active img { background-image : url(graphics/icons/ctool/whatsnew48.gif); }

-/*#navigation-links a#news:active img { background-image : url(graphics/icons/ctool/whatsnew48sel.gif); }*/

-

-#navigation-links a#workbench { position : absolute;  right : 0px; top : -35px; text-align : right;}

-#navigation-links a#workbench .text { display : none; }

-#navigation-links a#workbench img { background-image : url(graphics/icons/etool/wb48.gif); width : 53px; height : 53px;}

-#navigation-links a#workbench:hover img,

-#navigation-links a#workbench:focus img,

-#navigation-links a#workbench:active img { background-image : url(graphics/icons/ctool/wb48.gif); }

-

-/* 

- * Lay out the page title and description 

- */

-h1, p { margin-left : 10px; } /* required in mozilla so the page description is properly indented */

-

-/* position the page content so that the page title overlays the bottom

- * of the background image, but make sure the content is always on top 

- * (using z-index) */

-#page-content {

-	float : none;

-	clear : both;

-	text-align : center;

-	margin-top : 35px;

-}

-

-.page > #page-content { margin-top : 50px; }

-

-#page-content p { 

-	padding-bottom : 15px; 

-	text-align : left; 

-	float : none;

-	clear : both;

-}

-

-#page-content #content-header H4, .page-description {

-	text-align : left;

-	margin-right : 10px;

-	float : none;

-	clear : both;

-}

-

diff --git a/platform/org.eclipse.platform/intro/css/standby_root.css b/platform/org.eclipse.platform/intro/css/standby_root.css
deleted file mode 100644
index 661d2c4..0000000
--- a/platform/org.eclipse.platform/intro/css/standby_root.css
+++ /dev/null
@@ -1,121 +0,0 @@
-/* 

- * Set up general font colours, sizes, etc.  Some of these will override

- * settings from the shared CSS 

- */

-.intro-header H1 {

-	font-size : 15pt;

-}

-

-#page-links a .link-label, #action-links a .link-label {

-	font-size : 10pt;

-	font-weight : 600;

-	color : #E5E5E5;

-}

-

-#page-links a p .text, #action-links a p .text {

-	font-size : 10pt;

-	font-weight : 500;

-	color : #E5E5E5;

-}

-

-/*

- * Set up the content for the standby page.

- */

-body {

-	min-width : 230px;

-	/* since IE doesn't support min-width, use expression */

-	width:expression(document.body.clientWidth < 230? "230px": "auto" );

-	background-image : url(graphics/rootpage/background.jpg);

-	background-repeat : no-repeat;

-	background-position : top left;

-	background-color : #7169D1;

-}

-

-.page { 

-	background-image : url(graphics/rootpage/brandmark.gif);

-	background-repeat : no-repeat;

-	background-position : bottom left;

-	min-width : 230px;

-	/* since IE doesn't support min-width, use expression */

-	width:expression(document.body.clientWidth < 230? "230px": "auto" );

- 	min-height : 610px;

-	height : 100%;

-	height : expression(document.body.clientHeight < 450? "450px": "100%" );

-}

-

-/* 

- * Set up the navigation bar.  It should be centered in the middle

- * of the page

- */

-

-#links-background { 

-	width : 100%; 

- 	margin-top : 10%; 

-	margin-bottom : auto;

-	text-align : center;

-}

-

-#page-links a {

-	display : block;

-	width : 220px;

-	text-align : left; 

-	margin-left : auto;

-	margin-right : auto;

-	margin-top : 0px;

-	vertical-align : top;

-}

-#page-links a span, #page-links a p {

-	display : block;

-	width : 160px;

-	margin : 0px;

-	padding : 0px;

-}

-

-#page-links a .link-label {

-	position : relative;

-	left : 60px;

-	top : -50px;

-}

-

-#page-links a p .text {

-	position : relative;

-	left : 60px;

-	top : -50px;

-

-}

-

-#page-links a img {

-	height : 52px;

-	width : 52px;

-	vertical-align : middle;

-}

-

-#page-links a:hover,

-#page-links a:focus,

-#page-links a:active  { border : 0px; }

-

-#page-links a:hover p,

-#page-links a:focus p,

-#page-links a:active p  { margin : 0px; padding : 0px; }

-

-/* properties for each of the page-links  */

-a#overview img { background-image : url(graphics/icons/etool/overview48.gif); }

-a#overview:hover img,

-a#overview:focus img,

-a#overview:active img { background-image : url(graphics/icons/ctool/overview48.gif); }

-

-a#tutorials img { background-image : url(graphics/icons/etool/tutorials48.gif); }

-a#tutorials:hover img,

-a#tutorials:focus img,

-a#tutorials:active img { background-image : url(graphics/icons/ctool/tutorials48.gif); }

-

-a#samples img { background-image : url(graphics/icons/etool/samples48.gif); }

-a#samples:hover img,

-a#samples:focus img,

-a#samples:active img { background-image : url(graphics/icons/ctool/samples48.gif); }

-

-a#news img { background-image : url(graphics/icons/etool/whatsnew48.gif); }

-a#news:hover img,

-a#news:focus img,

-a#news:active img { background-image : url(graphics/icons/ctool/whatsnew48.gif); }

-

diff --git a/platform/org.eclipse.platform/intro/css/standby_swt.properties b/platform/org.eclipse.platform/intro/css/standby_swt.properties
deleted file mode 100644
index cc46eef..0000000
--- a/platform/org.eclipse.platform/intro/css/standby_swt.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-standby.links-background.page-links.overview.link-icon = intro/css/graphics/icons/etool/overview72.gif
-standby.links-background.page-links.tutorials.link-icon = intro/css/graphics/icons/etool/tutorials72.gif
-standby.links-background.page-links.samples.link-icon= intro/css/graphics/icons/etool/samples72.gif
-standby.links-background.page-links.news.link-icon = intro/css/graphics/icons/etool/whatsnew72.gif
-
-
-standby.links-background.page-links.overview.hover-icon = intro/css/graphics/icons/ctool/overview72.gif
-standby.links-background.page-links.tutorials.hover-icon = intro/css/graphics/icons/ctool/tutorials72.gif
-standby.links-background.page-links.samples.hover-icon = intro/css/graphics/icons/ctool/samples72.gif
-standby.links-background.page-links.news.hover-icon = intro/css/graphics/icons/ctool/whatsnew72.gif
-
-
-standby.links-background.page-links.layout.vspacing = 30
-standby.layout.vspacing = 35
-standby.show-link-description = false
-standby.show-home-page-navigation = false
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/intro/css/tutorials/swt.properties b/platform/org.eclipse.platform/intro/css/tutorials/swt.properties
deleted file mode 100644
index c0ad472..0000000
--- a/platform/org.eclipse.platform/intro/css/tutorials/swt.properties
+++ /dev/null
@@ -1,5 +0,0 @@
-
-tutorials.page-content.layout.vspacing = 40
-
-tutorials.subtitle-id = tutorials/page-content/page-title
-tutorials.description-id = tutorials/page-content/page-description
\ No newline at end of file
diff --git a/platform/org.eclipse.platform/intro/css/tutorials/tutorials.css b/platform/org.eclipse.platform/intro/css/tutorials/tutorials.css
deleted file mode 100644
index 053efe8..0000000
--- a/platform/org.eclipse.platform/intro/css/tutorials/tutorials.css
+++ /dev/null
@@ -1,79 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/tutorials_wtr.jpg);

-}

-

-.page { min-height : 700px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#tutorials img, #navigation-links a#tutorials:hover img { background-image : url(../graphics/icons/ctool/tutorials48sel.gif); }

-

-/* 

- * Set up the content of the tutorials page into two

- * columns that are centered in the page

- */

-

-

-/* a group of tutorial links */

-.tutorials-group {

-	/* To center in Moz (have to use text-align for IE) */

-	margin-left : auto;

-	margin-right : auto;

-	width : 750px;

-	margin-bottom : 30px;

-	float : none;

-	clear : both;

-	text-align : left;

-}

-

-.tutorials-link { 

-	width : 360px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 10px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-.tutorials-group > .tutorials-link {

-	float : left;

-	height : 150px;

-	vertical-align : middle;

-}

-

-

-.tutorials-link img  {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}

-

-.tutorials-group h4 {

-	float : none;

-	clear : both;

-}

-

-p #group-description {

-	padding-bottom : 10px;

-	float : none;

-	clear : both;

-}

-

-.tutorials-link .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-

-.tutorials-link p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-.tutorials-link:hover { border-right : 0px; }

diff --git a/platform/org.eclipse.platform/intro/css/whatsnew/swt.properties b/platform/org.eclipse.platform/intro/css/whatsnew/swt.properties
deleted file mode 100644
index 2f340e3..0000000
--- a/platform/org.eclipse.platform/intro/css/whatsnew/swt.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-
-news.page-content.news-links.layout.ncolumns = 2
-news.page-content.news-links.layout.vspacing = 30
-
-news.page-content.news-links.new-and-noteworthy.link-icon = intro/css/graphics/icons/obj48/new_obj.gif
-news.page-content.news-links.updates.link-icon = intro/css/graphics/icons/obj48/updates_obj.gif
-news.page-content.news-links.eclipse.link-icon = intro/css/graphics/icons/obj48/community_obj.gif
-
-news.page-content.noteworthy-links.layout.ncolumns = 2
-news.page-content.noteworthy-links.layout.vspacing = 15 
-news.page-content.news-links.layout.vspacing = 15 
-news.page-content.layout.vspacing = 40 
-
-news.link-icon = intro/css/graphics/icons/obj48/new_obj.gif
-
-news.subtitle-id = news/page-content/page-title
diff --git a/platform/org.eclipse.platform/intro/css/whatsnew/whatsnew.css b/platform/org.eclipse.platform/intro/css/whatsnew/whatsnew.css
deleted file mode 100644
index 6a5a4f0..0000000
--- a/platform/org.eclipse.platform/intro/css/whatsnew/whatsnew.css
+++ /dev/null
@@ -1,126 +0,0 @@
-body {

-	background-image : url(../graphics/contentpage/whatsnew_wtr.jpg);

-}

-

-.page { min-height : 500px; }

-

-/* show the "selected" image for this page */

-#navigation-links a#news img, #navigation-links a#news:hover img { background-image : url(../graphics/icons/ctool/whatsnew48sel.gif); }

-

-/* 

- * Set up the content of the Whats New page to be displayed in 

- * two columns that are centered in the middle of the page.

- */

-

-#noteworthy-links {

-	text-align : left;

-	width : 760px;

-	/* To center in Moz (have to use text-align for IE) */	

-	margin: 0px auto;

-}

-

-#noteworthy-links a { 

-	width : 370px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 5px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-#noteworthy-links > a { vertical-align : middle; }

-

-#noteworthy-links a img {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}

-

-#noteworthy-links a .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#noteworthy-links a p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-/* Special case for Mozilla, because the links are displayed

-   in 1 vertical column instead of 2 centered columns */

-#noteworthy-links > a { width : 700px; }

-#noteworthy-links a > .link-label { width : 700px; }

-#noteworthy-links a p > .text { width : 700px; }

-

-#noteworthy-links a:hover { border-right : 5px; }

-

-#noteworthy-links a img { background-image : url(../graphics/icons/obj48/new_obj.gif); }

-#noteworthy-links a:hover img { background-image : url(../graphics/icons/obj48/newhov_obj.gif); }

-

-

-#news-links {

-	text-align : left;

-	width : 760px;

-	/* To center in Moz (have to use text-align for IE) */	

-	margin: 0px auto;

-}

-

-#news-links a { 

-	width : 370px;

-	text-align : left; 

-	margin-left : 5px;

-	margin-right : 5px;

-	margin-top : 5px;

-	margin-bottom : -20px;

-	vertical-align : top;

-}

-

-#news-links > a { vertical-align : middle; }

-

-#news-links a img {

-	height : 57px;

-	width : 57px;

-	vertical-align : middle;

-}

-

-#news-links a .link-label {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -50px;

-	left : 60px;

-}

-

-#news-links a p .text {

-	display : block;

-	width : 300px;

-	position : relative;

-	top : -45px;

-	left : 53px;

-}

-

-/* Special case for Mozilla, because the links are displayed

-   in 1 vertical column instead of 2 centered columns */

-#news-links > a { 	width : 700px; }

-#news-links a > .link-label { width : 700px; }

-#news-links a p > .text { width : 700px; }

-

-#news-links a:hover { border-right : 5px; }

-

-a#new-and-noteworthy img { background-image : url(../graphics/icons/obj48/new_obj.gif); }

-a#new-and-noteworthy:hover img { background-image : url(../graphics/icons/obj48/newhov_obj.gif); }

-

-a#updates img { background-image : url(../graphics/icons/obj48/updates_obj.gif); }

-a#updates:hover img { background-image : url(../graphics/icons/obj48/updateshov_obj.gif); }

-

-a#eclipse img { background-image : url(../graphics/icons/obj48/community_obj.gif); }

-a#eclipse:hover img { background-image : url(../graphics/icons/obj48/communityhov_obj.gif); }

-

-

diff --git a/platform/org.eclipse.platform/intro/introContent.xml b/platform/org.eclipse.platform/intro/introContent.xml
deleted file mode 100644
index 9cbedfe..0000000
--- a/platform/org.eclipse.platform/intro/introContent.xml
+++ /dev/null
@@ -1,188 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<introContent>
-    <!-- 
-
--->
-    <page alt-style="css/root_swt.properties" style="css/root.css" id="root" style-id="page">
-        <title style-id="intro-header">Welcome to Eclipse 3.1</title>
-        <group id="links-background">
-            <group id="page-links">
-				<anchor id="beginAnchor"/>
-                <link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview" id="overview" style-id="left">
-                    <img id="overview_img" style-id="content-img" src="css/graphics/icons/etool/overview72.gif" alt="Overview">
-                    </img>
-                    <text>Find out what Eclipse is all about</text>
-                </link>
-                <link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials" id="tutorials" style-id="left">
-                    <img id="tutorials_img" style-id="content-img" src="css/graphics/icons/etool/tutorials72.gif" alt="Tutorials">
-                    </img>
-                    <text>Let us guide you through Eclipse end-to-end tutorials</text>
-                </link>
-                <link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples" id="samples" style-id="right">
-                    <img id="samples_img" style-id="content-img" src="css/graphics/icons/etool/samples72.gif" alt="Samples">
-                    </img>
-                    <text>Explore Eclipse development through code samples</text>
-                </link>
-                <link label="What&apos;s New" url="http://org.eclipse.ui.intro/showPage?id=news" id="news" style-id="right">
-                    <img id="whatsnew_img" style-id="content-img" src="css/graphics/icons/etool/whatsnew72.gif" alt="What&apos;s New">
-                    </img>
-                    <text>Find out what is new in this release</text>
-                </link>
-				<anchor id="endAnchor"/>
-            </group>
-        </group>
-        <group id="action-links">
-            <link url="http://org.eclipse.ui.intro/switchToLaunchBar" label="Workbench" id="workbench">
-                <img id="workbench_img" style-id="content-img" src="css/graphics/icons/etool/wb48.gif" alt="Go to the workbench">
-                </img>
-                <text>Go to the workbench</text>
-            </link>
-        </group>
-    </page>
-    <!-- 
-
--->
-    <page alt-style="css/standby_swt.properties" style="css/standby_root.css" id="standby" style-id="page">
-        <title style-id="intro-header">Welcome to Eclipse 3.1</title>
-        <group id="links-background">
-            <group id="page-links">
-				<anchor id="beginAnchor"/>
-                <link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview&amp;standby=false" id="overview" style-id="left">
-                    <text>Find out what Eclipse is all about</text>
-                </link>
-                <link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials&amp;standby=false" id="tutorials" style-id="left">
-                    <text>Let us guide you through Eclipse end-to-end tutorials</text>
-                </link>
-                <link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples&amp;standby=false" id="samples" style-id="right">
-                    <text>Explore Eclipse development through code samples</text>
-                </link>
-                <link label="What&apos;s New" url="http://org.eclipse.ui.intro/showPage?id=news&amp;standby=false" id="news" style-id="right">
-                    <text>Find out what is new in this release</text>
-                </link>
-				<anchor id="endAnchor"/>
-            </group>
-        </group>
-    </page>
-    <!--
-
--->
-    <page style="css/overview/overview.css" alt-style="css/overview/swt.properties" id="overview" style-id="page">
-        <title style-id="intro-header">Welcome to Eclipse 3.1</title>
-        <group id="background-image" filteredFrom="swt"/>
-        <group id="curve-image" filteredFrom="swt"/>
-        <group id="navigation-links" filteredFrom="swt">
-            <group id="page-links">
-				<anchor id="navigationBegin"/>
-                <link label="Overview" url="http://org.eclipse.ui.intro/showPage?id=overview" id="overview" style-id="left">
-                    <text>Find out what Eclipse is all about</text>
-                </link>
-                <link label="Tutorials" url="http://org.eclipse.ui.intro/showPage?id=tutorials" id="tutorials" style-id="left">
-                    <text>Let us guide you through Eclipse end-to-end tutorials</text>
-                </link>
-                <link label="Samples" url="http://org.eclipse.ui.intro/showPage?id=samples" id="samples" style-id="right">
-                    <text>Explore Eclipse development through code samples</text>
-                </link>
-                <link label="What&apos;s New" url="http://org.eclipse.ui.intro/showPage?id=news" id="news" style-id="right">
-                    <text>Find out what is new in this release</text>
-                </link>
-				<anchor id="navigationEnd"/>
-            </group>
-            <group id="action-links">
-                <link url="http://org.eclipse.ui.intro/switchToLaunchBar" label="Workbench" id="workbench">
-                    <text>Go to the workbench</text>
-                </link>
-            </group>
-        </group>
-        <!-- -->
-        <group id="page-content">
-            <group id="content-header" label="OVERVIEW" filteredFrom="swt">
-            </group>
-            <text style-id="page-title" id="page-title" filteredFrom="html">OVERVIEW</text>
-            <text style-id="page-description" id="page-description">Eclipse is a kind of universal tool platform - an open extensible IDE for anything and nothing in particular. It provides a feature-rich development environment that allows the developer to efficiently create tools that integrate seamlessly into the Eclipse Platform.</text>
-            <group id="overview-links">
-                <anchor id="beginAnchor"/>
-                <link label="Workbench basics" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/concepts/concepts-2.htm&amp;embedTarget=page-content" id="basics">
-                    <text>Learn about basic Eclipse workbench concepts</text>
-                </link>
-                <link label="Team support" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/concepts/concepts-26.htm&amp;embedTarget=page-content" id="team">
-                    <text>Find out how to collaborate with other developers</text>
-                </link>
-                <anchor id="jdtAnchor"/>
-                <anchor id="pdeAnchor"/>
-                <anchor id="endAnchor"/>
-            </group>
-        </group>
-    </page>
-    <!-- 
-
--->
-    <page style="css/tutorials/tutorials.css" alt-style="css/tutorials/swt.properties" id="tutorials" style-id="page">
-        <title style-id="intro-header">Welcome to Eclipse 3.1</title>
-        <group id="background-image" filteredFrom="swt"/>
-        <group id="curve-image" filteredFrom="swt"/>
-        <include path="overview/navigation-links"/>
-        <group id="page-content">
-            <group id="content-header" label="TUTORIALS" filteredFrom="swt">
-            </group>
-            <text style-id="page-title" id="page-title" filteredFrom="html">TUTORIALS</text>
-            <text style-id="page-description" id="page-description">Learn how to be productive using Eclipse by completing end-to-end tutorials that will guide you along the way.</text>
-            <anchor id="beginAnchor"/>
-            <anchor id="jdtAnchor"/>
-            <anchor id="pdeAnchor"/>
-            <anchor id="endAnchor"/>
-        </group>
-    </page>
-    <!-- 
-
--->
-    <page style="css/samples/samples.css" alt-style="css/samples/swt.properties" id="samples" style-id="page">
-        <title style-id="intro-header">Welcome to Eclipse 3.1</title>
-        <group id="background-image" filteredFrom="swt"/>
-        <group id="curve-image" filteredFrom="swt"/>
-        <include path="overview/navigation-links"/>
-        <group id="page-content">
-            <group id="content-header" label="SAMPLES" filteredFrom="swt">
-            </group>
-            <text style-id="page-title" id="page-title" filteredFrom="html">SAMPLES</text>
-            <text style-id="page-description" id="page-description">Explore Eclipse by installing prefabricated samples (may require Internet connection).</text>
-            <anchor id="beginAnchor"/>
-			<anchor id="jdtAnchor"/>
-            <anchor id="pdeAnchor"/>
-            <anchor id="endAnchor"/>
-        </group>
-    </page>
-    <!-- 
-
--->
-    <page style="css/whatsnew/whatsnew.css" alt-style="css/whatsnew/swt.properties" id="news" style-id="page">
-        <title style-id="intro-header">Welcome to Eclipse 3.1</title>
-        <group id="background-image" filteredFrom="swt"/>
-        <group id="curve-image" filteredFrom="swt"/>
-        <include path="overview/navigation-links"/>
-        <group id="page-content">
-            <group id="content-header" label="WHAT'S NEW" filteredFrom="swt">
-            </group>
-            <text style-id="page-title" id="page-title" filteredFrom="html">WHAT'S NEW</text>
-            <anchor id="beginAnchor"/>
-            <group id="noteworthy-links" label="New and Noteworthy">
-                <link label="Eclipse Platform" url="http://org.eclipse.ui.intro/showHelpTopic?id=/org.eclipse.platform.doc.user/whatsNew/platform_whatsnew.html" id="platform-noteworthy" style-id="noteworthy-link">
-                    <text>Find out about the major new features in this release</text>
-                </link>
-                <anchor id="jdtAnchor"/>
-                <anchor id="pdeAnchor"/>
-                <anchor id="generalAnchor"/>
-            </group>
-            <group id="news-links" label="General">
-				<anchor id="linksBeginAnchor"/>
-                <link label="New Updates" url="http://org.eclipse.ui.intro/runAction?pluginId=org.eclipse.ui.ide&amp;class=org.eclipse.ui.internal.ide.update.InstallWizardAction" id="updates">
-                    <text>Get the latest updates from Eclipse.org</text>
-                </link>
-                <link label="Eclipse community" url="http://www.eclipse.org" id="eclipse">
-                    <text>Join the community, read articles and news on Eclipse.org</text>
-                </link>
-                <anchor id="linksAnchor"/>
-            </group>
-            <anchor id="endAnchor"/>
-        </group>
-    </page>
-</introContent>
diff --git a/platform/org.eclipse.platform/narrow_book.css b/platform/org.eclipse.platform/narrow_book.css
deleted file mode 100644
index 1aeb9ea..0000000
--- a/platform/org.eclipse.platform/narrow_book.css
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/plugin.properties b/platform/org.eclipse.platform/plugin.properties
deleted file mode 100644
index 92209c8..0000000
--- a/platform/org.eclipse.platform/plugin.properties
+++ /dev/null
@@ -1,32 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse Platform
-providerName=Eclipse.org
-
-productName=Eclipse Platform
-productBlurb=Eclipse Platform\n\
-\n\
-Version: 3.1.0\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/platform\n\
-\n\
-This product includes software developed by the\n\
-Apache Software Foundation http://www.apache.org/
-
-cheatsheet.category.platform = Eclipse Platform
-cheatsheet.cvs.name= CVS Tasks
-cheatsheet.cvs.desc= Go through the main CVS tasks using the cheat sheet
-shortcut.overview.tooltip = Overview
-shortcut.tutorials.tooltip = Tutorials
-shortcut.samples.tooltip = Samples
-shortcut.whatsnew.tooltip = What's New
diff --git a/platform/org.eclipse.platform/plugin.xml b/platform/org.eclipse.platform/plugin.xml
deleted file mode 100644
index be6fe92..0000000
--- a/platform/org.eclipse.platform/plugin.xml
+++ /dev/null
@@ -1,99 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension id="ide" point="org.eclipse.core.runtime.products"> 
-      <product name="%productName" application="org.eclipse.ui.ide.workbench" description="%productBlurb"> 
-          <property name="windowImages" value="eclipse.gif,eclipse32.gif"/> 
-          <property name="aboutImage" value="eclipse_lg.gif"/> 
-          <property name="aboutText" value="%productBlurb"/> 
-          <property name="appName" value="Eclipse"/> 
-          <property name="preferenceCustomization" value="plugin_customization.ini"/> 
-      </product> 
-   </extension> 
-
-   <extension  
-         point="org.eclipse.ui.intro">
-      <intro
-            class="org.eclipse.ui.intro.config.CustomizableIntroPart"
-            id="org.eclipse.platform.intro"
-            icon="intro.gif">
-      </intro>
-      <introProductBinding
-            introId="org.eclipse.platform.intro"
-            productId="org.eclipse.platform.ide">
-      </introProductBinding>
-   </extension>
-   <extension   
-         id="intro"
-         point="org.eclipse.ui.intro.config">
-      <config
-            introId="org.eclipse.platform.intro"
-            id="org.eclipse.platform.introConfig"
-            content="$nl$/intro/introContent.xml">
-         <presentation
-               home-page-id="root" standby-page-id="standby">
-            <implementation
-                  style="$nl$/intro/css/shared.css"
-                  kind="html"
-                  os="win32,linux,macosx">
-            </implementation>
-            <implementation
-                  kind="swt">
-            </implementation>
-            <!--
-            fg="#7269d2" 
-            -->
-            <launchBar 	
-            	location="right" 
-            	bg="#c6c3e8" 
-            	>
-               <handle
-                     close="true"
-                     image="intro/css/graphics/contentpage/handle.gif"/>
-               <shortcut
-                     icon="intro/css/graphics/icons/etool/overview.gif"
-                     tooltip="%shortcut.overview.tooltip"
-                     url="http://org.eclipse.ui.intro/showPage?id=overview"/>
-               <shortcut
-                     tooltip="%shortcut.tutorials.tooltip"
-                     icon="intro/css/graphics/icons/etool/tutorials.gif"
-                     url="http://org.eclipse.ui.intro/showPage?id=tutorials"/>
-               <shortcut
-                     tooltip="%shortcut.samples.tooltip"
-                     icon="intro/css/graphics/icons/etool/samples.gif"
-                     url="http://org.eclipse.ui.intro/showPage?id=samples"/>
-               <shortcut
-                     tooltip="%shortcut.whatsnew.tooltip"
-                     icon="intro/css/graphics/icons/etool/whatsnew.gif"
-                     url="http://org.eclipse.ui.intro/showPage?id=news"/>                                             
-            </launchBar>
-         </presentation>
-      </config>
-   </extension>
-   <extension
-         point="org.eclipse.ui.cheatsheets.cheatSheetContent">
-      <cheatsheet
-            category="org.eclipse.platform"
-            contentFile="$nl$/cheatsheets/CVS_1.xml"
-            id="org.eclipse.platform.cvs_1"
-            name="%cheatsheet.cvs.name">
-         <description>
-            %cheatsheet.cvs.desc
-         </description>
-      </cheatsheet>
-      <category
-            id="org.eclipse.platform"
-            name="%cheatsheet.category.platform"/>
-   </extension>
-   <!-- =====================================================  -->
-   <!-- Standby Content Part contributions                     -->
-   <!-- =====================================================  -->
-   <extension point="org.eclipse.ui.intro.configExtension">
-      <standbyContentPart
-            id="org.eclipse.platform.cheatsheet"
-            class="org.eclipse.platform.internal.CheatSheetStandbyContent"
-            pluginId="org.eclipse.platform"/>
-   </extension>
-
-</plugin>
diff --git a/platform/org.eclipse.platform/plugin_customization.ini b/platform/org.eclipse.platform/plugin_customization.ini
deleted file mode 100644
index 2eac440..0000000
--- a/platform/org.eclipse.platform/plugin_customization.ini
+++ /dev/null
@@ -1,20 +0,0 @@
-# plugin_customization.ini 
-# sets default values for plug-in-specific preferences
-# keys are qualified by plug-in id
-# e.g., com.example.acmeplugin/myproperty=myvalue
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in plugin_customization.properties
-# This file does not need to be translated.
-
-# Property "org.eclipse.ui/defaultPerspectiveId" controls the 
-# perspective that the workbench opens initially
-org.eclipse.ui/defaultPerspectiveId=org.eclipse.ui.resourcePerspective
-
-# new-style tabs by default
-org.eclipse.ui/SHOW_TRADITIONAL_STYLE_TABS=false
-
-# put the perspective switcher on the top right
-org.eclipse.ui/DOCK_PERSPECTIVE_BAR=topRight
-
-# show progress on startup
-org.eclipse.ui/SHOW_PROGRESS_ON_STARTUP=true
diff --git a/platform/org.eclipse.platform/plugin_customization.properties b/platform/org.eclipse.platform/plugin_customization.properties
deleted file mode 100644
index d47f545..0000000
--- a/platform/org.eclipse.platform/plugin_customization.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# plugin_customization.properties
-# contains externalized strings for plugin_customization.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
diff --git a/platform/org.eclipse.platform/splash.bmp b/platform/org.eclipse.platform/splash.bmp
deleted file mode 100644
index 7c275c7..0000000
--- a/platform/org.eclipse.platform/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java b/platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java
deleted file mode 100644
index 0842719..0000000
--- a/platform/org.eclipse.platform/src-intro/org/eclipse/platform/internal/CheatSheetStandbyContent.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.platform.internal;
-
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.cheatsheets.*;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.ui.intro.*;
-import org.eclipse.ui.intro.config.*;
-
-public final class CheatSheetStandbyContent implements IStandbyContentPart {
-
-    private static String MEMENTO_CHEATSHEET_ID_ATT = "cheatsheetId"; //$NON-NLS-1$
-
-    //private IIntroPart introPart;
-    private ICheatSheetViewer viewer;
-    private Composite container;
-    private String input;
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#init(org.eclipse.ui.intro.IIntroPart)
-     */
-    public void init(IIntroPart introPart, IMemento memento) {
-        //this.introPart = introPart;
-        // try to restore last state.
-        input = getCachedInput(memento);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#createControl(org.eclipse.swt.widgets.Composite,
-     *      org.eclipse.ui.forms.widgets.FormToolkit)
-     */
-    public void createPartControl(Composite parent, FormToolkit toolkit) {
-        container = toolkit.createComposite(parent);
-        FillLayout layout = new FillLayout();
-        layout.marginWidth = layout.marginHeight = 0;
-        container.setLayout(layout);
-
-        viewer = CheatSheetViewerFactory.createCheatSheetView();
-        viewer.createPartControl(container);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#getControl()
-     */
-    public Control getControl() {
-        return container;
-    }
-
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#setInput(java.lang.Object)
-     */
-    public void setInput(Object input) {
-        // if the new input is null, use cacched input from momento.
-        if (input != null)
-            this.input = (String) input;
-        viewer.setInput(this.input);
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#setFocus()
-     */
-    public void setFocus() {
-        viewer.setFocus();
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.internal.parts.IStandbyContentPart#dispose()
-     */
-    public void dispose() {
-
-    }
-
-    /*
-     * (non-Javadoc)
-     * 
-     * @see org.eclipse.ui.intro.config.IStandbyContentPart#saveState(org.eclipse.ui.IMemento)
-     */
-    public void saveState(IMemento memento) {
-        String currentCheatSheetId = viewer.getCheatSheetID();
-        if (currentCheatSheetId != null)
-            memento.putString(MEMENTO_CHEATSHEET_ID_ATT, currentCheatSheetId);
-    }
-
-    /**
-     * Tries to create the last content part viewed, based on content part id..
-     * 
-     * @param memento
-     * @return
-     */
-    private String getCachedInput(IMemento memento) {
-        if (memento == null)
-            return null;
-        return memento.getString(MEMENTO_CHEATSHEET_ID_ATT);
-
-    }
-
-}
diff --git a/platform/org.eclipse.platform/src/META-INF/MANIFEST.MF b/platform/org.eclipse.platform/src/META-INF/MANIFEST.MF
deleted file mode 100644
index 31877ee..0000000
--- a/platform/org.eclipse.platform/src/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-Main-Class: org.eclipse.core.launcher.Main
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
deleted file mode 100644
index 769e1d6..0000000
--- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/Main.java
+++ /dev/null
@@ -1,2157 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.launcher;
-
-import java.io.*;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.net.*;
-import java.security.*;
-import java.text.DateFormat;
-import java.text.SimpleDateFormat;
-import java.util.*;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-/**
- * The launcher for Eclipse.
- */
-public class Main {
-    /**
-     * Indicates whether this instance is running in debug mode.
-     */
-    protected boolean debug = false;
-
-    /**
-     * The location of the launcher to run.
-     */
-    protected String bootLocation = null;
-
-    /**
-     * The location of the install root
-     */
-    protected URL installLocation = null;
-
-    /**
-     * The location of the configuration information for this instance
-     */
-    protected URL configurationLocation = null;
-
-    /**
-     * The location of the configuration information in the install root
-     */
-    protected String parentConfigurationLocation = null;
-
-    /**
-     * The id of the bundle that will contain the framework to run.  Defaults to org.eclipse.osgi.
-     */
-    protected String framework = OSGI;
-
-    /**
-     * The extra development time class path entries.
-     */
-    protected String devClassPath = null;
-
-    /**
-     * Indicates whether this instance is running in development mode.
-     */
-    protected boolean inDevelopmentMode = false;
-
-    private String exitData = null;
-    private String name = null; // The name to brand the launcher
-    private String launcher = null; // The full path to the launcher
-
-    private String vm = null;
-    private String[] vmargs = null;
-    private String[] commands = null;
-    private String[] extensionPaths = null;
-
-    // splash handling
-    private String showSplash = null;
-    private String endSplash = null;
-    private boolean initialize = false;
-    private Process showProcess = null;
-    private boolean splashDown = false;
-    private final Runnable endSplashHandler = new Runnable() {
-        public void run() {
-            takeDownSplash();
-        }
-    };
-
-    // command line args
-    private static final String FRAMEWORK = "-framework"; //$NON-NLS-1$
-    private static final String INSTALL = "-install"; //$NON-NLS-1$
-    private static final String INITIALIZE = "-initialize"; //$NON-NLS-1$
-    private static final String VM = "-vm"; //$NON-NLS-1$
-    private static final String VMARGS = "-vmargs"; //$NON-NLS-1$
-    private static final String DEBUG = "-debug"; //$NON-NLS-1$
-    private static final String DEV = "-dev"; //$NON-NLS-1$
-    private static final String CONFIGURATION = "-configuration"; //$NON-NLS-1$
-    private static final String EXITDATA = "-exitdata"; //$NON-NLS-1$
-    private static final String NOSPLASH = "-nosplash"; //$NON-NLS-1$
-    private static final String SHOWSPLASH = "-showsplash"; //$NON-NLS-1$
-    private static final String NAME = "-name"; //$NON-NLS-1$
-    private static final String LAUNCHER = "-launcher"; //$NON-NLS-1$
-	private static final String NL = "-nl";  //$NON-NLS-1$
-    private static final String ENDSPLASH = "-endsplash"; //$NON-NLS-1$
-    private static final String SPLASH_IMAGE = "splash.bmp"; //$NON-NLS-1$
-	private static final String CLEAN = "-clean"; //$NON-NLS-1$
-	private static final String NOEXIT = "-noExit";  //$NON-NLS-1$
-	
-    private static final String OSGI = "org.eclipse.osgi"; //$NON-NLS-1$
-    private static final String STARTER = "org.eclipse.core.runtime.adaptor.EclipseStarter"; //$NON-NLS-1$
-    private static final String PLATFORM_URL = "platform:/base/"; //$NON-NLS-1$
-    private static final String ECLIPSE_PROPERTIES = "eclipse.properties"; //$NON-NLS-1$
-    private static final String FILE_SCHEME = "file:"; //$NON-NLS-1$    
-    protected static final String REFERENCE_SCHEME = "reference:"; //$NON-NLS-1$
-    protected static final String JAR_SCHEME = "jar:"; //$NON-NLS-1$
-    
-    private static final String DEFAULT_JRE_REQUIRED = "1.4.1"; //$NON-NLS-1$
-    
-    // constants: configuration file location
-    private static final String CONFIG_DIR = "configuration/"; //$NON-NLS-1$
-    private static final String CONFIG_FILE = "config.ini"; //$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 ECLIPSE = "eclipse"; //$NON-NLS-1$
-    private static final String PRODUCT_SITE_MARKER = ".eclipseproduct"; //$NON-NLS-1$
-    private static final String PRODUCT_SITE_ID = "id"; //$NON-NLS-1$
-    private static final String PRODUCT_SITE_VERSION = "version"; //$NON-NLS-1$
-
-    // constants: System property keys and/or configuration file elements
-    private static final String PROP_USER_HOME = "user.home"; //$NON-NLS-1$
-    private static final String PROP_USER_DIR = "user.dir"; //$NON-NLS-1$
-    private static final String PROP_INSTALL_AREA = "osgi.install.area"; //$NON-NLS-1$
-    private static final String PROP_CONFIG_AREA = "osgi.configuration.area"; //$NON-NLS-1$
-    private static final String PROP_CONFIG_AREA_DEFAULT = "osgi.configuration.area.default"; //$NON-NLS-1$
-    private static final String PROP_BASE_CONFIG_AREA = "osgi.baseConfiguration.area"; //$NON-NLS-1$
-    private static final String PROP_SHARED_CONFIG_AREA = "osgi.sharedConfiguration.area"; //$NON-NLS-1$
-    private static final String PROP_CONFIG_CASCADED = "osgi.configuration.cascaded"; //$NON-NLS-1$
-    protected static final String PROP_FRAMEWORK = "osgi.framework"; //$NON-NLS-1$
-    private static final String PROP_SPLASHPATH = "osgi.splashPath"; //$NON-NLS-1$
-    private static final String PROP_SPLASHLOCATION = "osgi.splashLocation"; //$NON-NLS-1$
-    private static final String PROP_CLASSPATH = "osgi.frameworkClassPath"; //$NON-NLS-1$
-    private static final String PROP_EXTENSIONS = "osgi.framework.extensions"; //$NON-NLS-1$
-    private static final String PROP_FRAMEWORK_SYSPATH = "osgi.syspath"; //$NON-NLS-1$
-    private static final String PROP_FRAMEWORK_SHAPE = "osgi.framework.shape"; //$NON-NLS-1$
-    private static final String PROP_LOGFILE = "osgi.logfile"; //$NON-NLS-1$
-    private static final String PROP_REQUIRED_JAVA_VERSION = "osgi.requiredJavaVersion"; //$NON-NLS-1$
-    private static final String PROP_PARENT_CLASSLOADER = "osgi.parentClassloader"; //$NON-NLS-1$
-    private static final String PROP_EOF = "eof"; //$NON-NLS-1$
-	private static final String PROP_NL = "osgi.nl";  //$NON-NLS-1$
-    private static final String PROP_NOSHUTDOWN = "osgi.noShutdown"; //$NON-NLS-1$
-	
-    private static final String PROP_EXITCODE = "eclipse.exitcode"; //$NON-NLS-1$
-    private static final String PROP_EXITDATA = "eclipse.exitdata"; //$NON-NLS-1$
-
-    private static final String PROP_VM = "eclipse.vm"; //$NON-NLS-1$
-    private static final String PROP_VMARGS = "eclipse.vmargs"; //$NON-NLS-1$
-    private static final String PROP_COMMANDS = "eclipse.commands"; //$NON-NLS-1$
-    private static final String PROP_ECLIPSESECURITY = "eclipse.security"; //$NON-NLS-1$
-
-    // Data mode constants for user, configuration and data locations.
-    private static final String NONE = "@none"; //$NON-NLS-1$
-    private static final String NO_DEFAULT = "@noDefault"; //$NON-NLS-1$
-    private static final String USER_HOME = "@user.home"; //$NON-NLS-1$
-    private static final String USER_DIR = "@user.dir"; //$NON-NLS-1$
-
-    // types of parent classloaders the framework can have
-    private static final String PARENT_CLASSLOADER_APP = "app"; //$NON-NLS-1$
-    private static final String PARENT_CLASSLOADER_EXT = "ext"; //$NON-NLS-1$
-    private static final String PARENT_CLASSLOADER_BOOT = "boot"; //$NON-NLS-1$
-
-    // log file handling
-    protected static final String SESSION = "!SESSION"; //$NON-NLS-1$
-    protected static final String ENTRY = "!ENTRY"; //$NON-NLS-1$
-    protected static final String MESSAGE = "!MESSAGE"; //$NON-NLS-1$
-    protected static final String STACK = "!STACK"; //$NON-NLS-1$
-    protected static final int ERROR = 4;
-    protected static final String PLUGIN_ID = "org.eclipse.core.launcher"; //$NON-NLS-1$
-    protected File logFile = null;
-    protected BufferedWriter log = null;
-    protected boolean newSession = true;
-
-    /**
-     * A structured form for a version identifier.
-     * 
-     * @see http://java.sun.com/j2se/versioning_naming.html for information on valid version strings
-     */
-    static class Identifier {
-        private static final String DELIM = ". _-"; //$NON-NLS-1$
-        private int major, minor, service;
-        Identifier(int major, int minor, int service) {
-            super();
-            this.major = major;
-            this.minor = minor;
-            this.service = service;
-        }
-        /**
-         * @throws NumberFormatException if cannot parse the major and minor version components
-         */
-        Identifier(String versionString) {
-            super();
-            StringTokenizer tokenizer = new StringTokenizer(versionString, DELIM);
-
-            // major
-            if (tokenizer.hasMoreTokens())
-                major = Integer.parseInt(tokenizer.nextToken());
-
-            // minor
-            if (tokenizer.hasMoreTokens())
-                minor = Integer.parseInt(tokenizer.nextToken());
-
-            try {
-                // service
-                if (tokenizer.hasMoreTokens())
-                    service = Integer.parseInt(tokenizer.nextToken());
-            } catch (NumberFormatException nfe) {
-                // ignore the service qualifier in that case and default to 0
-                // this will allow us to tolerate other non-conventional version numbers 
-            }
-        }
-        /**
-         * Returns true if this id is considered to be greater than or equal to the given baseline.
-         * e.g. 
-         * 1.2.9 >= 1.3.1 -> false
-         * 1.3.0 >= 1.3.1 -> false
-         * 1.3.1 >= 1.3.1 -> true
-         * 1.3.2 >= 1.3.1 -> true
-         * 2.0.0 >= 1.3.1 -> true
-         */
-        boolean isGreaterEqualTo(Identifier minimum) {
-            if (major < minimum.major)
-                return false;
-            if (major > minimum.major)
-                return true;
-            // major numbers are equivalent so check minor
-            if (minor < minimum.minor)
-                return false;
-            if (minor > minimum.minor)
-                return true;
-            // minor numbers are equivalent so check service
-            return service >= minimum.service;
-        }
-    }   
-
-    /**
-     * Executes the launch.
-     * 
-     * @return the result of performing the launch
-     * @param args command-line arguments
-     * @exception Exception thrown if a problem occurs during the launch
-     */
-    protected void basicRun(String[] args) throws Exception {
-        System.getProperties().setProperty("eclipse.startTime", Long.toString(System.currentTimeMillis())); //$NON-NLS-1$
-        commands = args;
-        String[] passThruArgs = processCommandLine(args);
-        setupVMProperties();
-        processConfiguration();
-        
-        //ensure minimum Java version
-        if (!checkVersion(System.getProperty("java.version"), System.getProperty(PROP_REQUIRED_JAVA_VERSION, DEFAULT_JRE_REQUIRED))) //$NON-NLS-1$
-            return;
-        
-        // need to ensure that getInstallLocation is called at least once to initialize the value.
-        // Do this AFTER processing the configuration to allow the configuration to set
-        // the install location.  
-        getInstallLocation();
-
-        // locate boot plugin (may return -dev mode variations)
-        URL[] bootPath = getBootPath(bootLocation);
-        setSecurityPolicy(bootPath);
-        // splash handling is done here, because the default case needs to know
-        // the location of the boot plugin we are going to use
-        handleSplash(bootPath);
-
-        invokeFramework(passThruArgs, bootPath);
-    }
-
-    protected void setSecurityPolicy(URL[] bootPath) {
-        String eclipseSecurity = System.getProperty(PROP_ECLIPSESECURITY);
-        if (eclipseSecurity != null) {
-            SecurityManager sm = System.getSecurityManager();
-            boolean setSM = false;
-            if (sm == null) {
-                if (eclipseSecurity.length() < 1) {
-                    eclipseSecurity = "java.lang.SecurityManager"; //$NON-NLS-1$
-                }
-                try {
-                    Class clazz = Class.forName(eclipseSecurity);
-                    sm = (SecurityManager) clazz.newInstance();
-                    setSM = true;
-                }
-                catch (Throwable t) {
-                    System.setProperty("java.security.manager", eclipseSecurity); // let the framework try to load it later. //$NON-NLS-1$
-                }
-            }
-            
-            ProtectionDomain domain = Main.class.getProtectionDomain();
-            CodeSource source = null; 
-            if (domain != null)
-            	source = Main.class.getProtectionDomain().getCodeSource();
-			if (domain == null || source == null) {
-				log("Can not automatically set the security manager. Please use a policy file.");
-				return;
-			}
-            // get the list of codesource URLs to grant AllPermission to
-            URL[] rootURLs = new URL[bootPath.length + 1];
-			rootURLs[0] = source.getLocation();
-            System.arraycopy(bootPath, 0, rootURLs, 1, bootPath.length);
-            // replace the security policy
-            Policy eclispePolicy = new EclipsePolicy(Policy.getPolicy(), rootURLs);
-            Policy.setPolicy(eclispePolicy);
-            if (setSM)
-                System.setSecurityManager(sm);
-        }
-    }
-
-    private void invokeFramework(String[] passThruArgs, URL[] bootPath) throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException, Error, Exception, InvocationTargetException {
-        String type = System.getProperty(PROP_PARENT_CLASSLOADER, PARENT_CLASSLOADER_BOOT);
-        ClassLoader parent = null;
-        if (PARENT_CLASSLOADER_APP.equalsIgnoreCase(type))
-            parent = ClassLoader.getSystemClassLoader();
-        else if (PARENT_CLASSLOADER_EXT.equalsIgnoreCase(type)) {
-            ClassLoader appCL = ClassLoader.getSystemClassLoader();
-            if (appCL != null)
-                parent = appCL.getParent();
-        }
-        URLClassLoader loader = new StartupClassLoader(bootPath, parent);
-        Class clazz = loader.loadClass(STARTER);
-        Method method = clazz.getDeclaredMethod("run", new Class[] {String[].class, Runnable.class}); //$NON-NLS-1$
-        try {
-            method.invoke(clazz, new Object[] {passThruArgs, endSplashHandler});
-        } catch (InvocationTargetException e) {
-            if (e.getTargetException() instanceof Error)
-                throw (Error) e.getTargetException();
-            else if (e.getTargetException() instanceof Exception)
-                throw (Exception) e.getTargetException();
-            else
-                //could be a subclass of Throwable!
-                throw e;
-        }
-    }
-
-    /**
-     * Checks whether the given available version is greater or equal to the 
-     * given required version.
-     * <p>Will set PROP_EXITCODE/PROP_EXITDATA accordingly if check fails.</p>
-     *   
-     * @return a boolean indicating whether the checking passed 
-     */
-    private boolean checkVersion(String availableVersion, String requiredVersion) {
-        if (requiredVersion == null || availableVersion == null)
-            return true;
-        try {
-            Identifier required = new Identifier(requiredVersion);
-            Identifier available = new Identifier(availableVersion);
-            boolean compatible = available.isGreaterEqualTo(required);
-            if (!compatible) {
-                // any non-zero value should do it - 14 used to be used for version incompatibility in Eclipse 2.1 
-                System.getProperties().put(PROP_EXITCODE, "14"); //$NON-NLS-1$
-                System.getProperties().put(PROP_EXITDATA, "Required Java version: "+ requiredVersion + ". Available: " + availableVersion + '.'); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-            return compatible;
-        } catch (SecurityException e) {
-            // If the security manager won't allow us to get the system property, continue for
-            // now and let things fail later on their own if necessary.
-            return true;
-        } catch (NumberFormatException e) {
-            // If the version string was in a format that we don't understand, continue and
-            // let things fail later on their own if necessary.
-            return true;
-        }
-    }
-    
-    /**
-     * 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 InternalBootLoader
-     */
-    protected 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);
-        }
-    }
-
-    /**
-     * Returns the result of converting a list of comma-separated tokens into an array
-     * 
-     * @return the array of string tokens
-     * @param prop the initial comma-separated string
-     */
-    protected 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[list.size()]);
-    }
-
-    /**
-     * Returns the <code>URL</code>-based class path describing where the boot classes
-     * are located when running in development mode.
-     * 
-     * @return the url-based class path
-     * @param base the base location
-     * @exception MalformedURLException if a problem occurs computing the class path
-     */
-    private URL[] getDevPath(URL base) throws IOException {
-        ArrayList result = new ArrayList(5);
-        if (inDevelopmentMode)
-            addDevEntries(base, result); //$NON-NLS-1$
-        //The jars from the base always need to be added, even when running in dev mode (bug 46772)
-        addBaseJars(base, result);
-        return (URL[]) result.toArray(new URL[result.size()]);
-    }
-
-    URL constructURL(URL url, String name) {
-        //Recognize the following URLs
-        //url: file:foo/dir/
-        //url: file:foo/file.jar
-        
-        String externalForm = url.toExternalForm();
-        if (externalForm.endsWith(".jar")) { //$NON-NLS-1$
-            try {
-                return new URL(JAR_SCHEME + url + "!/" + name); //$NON-NLS-1$
-            } catch (MalformedURLException e) {
-                //Ignore
-            }
-        }
-        
-        try {
-            return new URL(url, name);
-        } catch (MalformedURLException e) {
-            //Ignore
-            return null;
-        }
-    }
-    private void readFrameworkExtensions(URL base, ArrayList result) throws IOException {
-        String[] extensions = getArrayFromList(System.getProperties().getProperty(PROP_EXTENSIONS));
-        String parent = new File(base.getFile()).getParent().toString();
-        ArrayList extensionResults = new ArrayList(extensions.length);
-        for (int i = 0; i < extensions.length; i++) {
-            //Search the extension relatively to the osgi plugin 
-            String path = searchFor(extensions[i], parent);
-            if (path == null) {
-                log("Could not find extension: " + extensions[i]); //$NON-NLS-1$
-                continue;
-            }
-            if (debug)
-                System.out.println("Loading extension: " + extensions[i]); //$NON-NLS-1$
-
-            URL extensionURL = null;
-            if (installLocation.getProtocol().equals("file")) { //$NON-NLS-1$
-                extensionResults.add(path);
-                extensionURL = new File(path).toURL();
-            } else
-                extensionURL = new URL(installLocation.getProtocol(), installLocation.getHost(), installLocation.getPort(), path);
-
-            //Load a property file of the extension, merge its content, and in case of dev mode add the bin entries
-            Properties extensionProperties = null;
-            try {
-                extensionProperties = loadProperties(constructURL(extensionURL, ECLIPSE_PROPERTIES));
-            } catch (IOException e) {
-                if (debug)
-                    System.out.println("\t" + ECLIPSE_PROPERTIES + " not found"); //$NON-NLS-1$ //$NON-NLS-2$
-            }
-            String extensionClassPath = null;
-            if (extensionProperties != null)
-                extensionClassPath = extensionProperties.getProperty(PROP_CLASSPATH);
-            else // this is a "normal" RFC 101 framework extension bundle just put the base path on the classpath
-                extensionProperties = new Properties();
-            String[] entries = extensionClassPath == null || extensionClassPath.length() == 0 ? new String[] {""} : getArrayFromList(extensionClassPath); //$NON-NLS-1$
-            String qualifiedPath;
-			if (System.getProperty(PROP_CLASSPATH)==null)
-				qualifiedPath = "."; //$NON-NLS-1$
-			else
-				qualifiedPath = ""; //$NON-NLS-1$
-            for (int j = 0; j < entries.length; j++)
-                qualifiedPath += ", " + FILE_SCHEME + path + entries[j]; //$NON-NLS-1$
-            extensionProperties.put(PROP_CLASSPATH, qualifiedPath);
-            mergeProperties(System.getProperties(), extensionProperties);
-            if (inDevelopmentMode) 
-                addDevEntries(extensionURL, result);
-        }
-        extensionPaths = (String[]) extensionResults.toArray(new String[extensionResults.size()]);
-    }
-
-    private void addBaseJars(URL base, ArrayList result) throws IOException {
-        String baseJarList = System.getProperty(PROP_CLASSPATH);
-        if (baseJarList == null) {
-            readFrameworkExtensions(base, result);
-            baseJarList = System.getProperties().getProperty(PROP_CLASSPATH);
-        }
-        
-        File fwkFile = new File(base.getFile());
-        boolean fwkIsDirectory = fwkFile.isDirectory();
-        //We found where the fwk is, remember it and its shape
-        if (fwkIsDirectory) {
-            System.getProperties().setProperty(PROP_FRAMEWORK_SHAPE, "folder");//$NON-NLS-1$
-        } else {
-            System.getProperties().setProperty(PROP_FRAMEWORK_SHAPE, "jar");//$NON-NLS-1$
-        }
-	    String fwkPath = new File(base.getFile()).getParentFile().getAbsolutePath();
-		if (Character.isUpperCase(fwkPath.charAt(0))) {
-			char[] chars = fwkPath.toCharArray();
-			chars[0] = Character.toLowerCase(chars[0]);
-			fwkPath = new String(chars);
-		}
-        System.getProperties().setProperty(PROP_FRAMEWORK_SYSPATH, fwkPath);
-        
-        String[] baseJars = getArrayFromList(baseJarList);
-        if (baseJars.length == 0) {
-            if (!inDevelopmentMode && new File(base.getFile()).isDirectory())
-                throw new IOException("Unable to initialize " + PROP_CLASSPATH); //$NON-NLS-1$
-            addEntry(base, result);
-            return;
-        }
-        for (int i = 0; i < baseJars.length; i++) {
-            String string = baseJars[i];
-            try {
-                // if the string is a file: URL then *carefully* construct the
-                // URL. Otherwisejust try to build a URL. In either case, if we fail, use
-                // string as something to tack on the end of the base.
-                
-                if (string.equals(".")) { //$NON-NLS-1$
-                    addEntry(base, result);
-                }
-                URL url = null;
-                if (string.startsWith(FILE_SCHEME)) //$NON-NLS-1$
-                    url = new File(string.substring(5)).toURL();
-                else
-                    url = new URL(string);
-                addEntry(url, result);
-            } catch (MalformedURLException e) {
-                addEntry(new URL(base, string), result);
-            }
-        }
-    }
-
-	protected void addEntry(URL url, List result) {
-        if (new File(url.getFile()).exists())
-            result.add(url);
-    }
-
-    private void addDevEntries(URL base, List result) throws MalformedURLException {
-        String[] locations = getArrayFromList(devClassPath);
-        for (int i = 0; i < locations.length; i++) {
-            String location = locations[i];
-            File path = new File(location);
-            URL url;
-            if (path.isAbsolute())
-                url = path.toURL();
-            else {
-                // dev path is relative, combine with base location
-                char lastChar = location.charAt(location.length() - 1);
-                if ((location.endsWith(".jar") || (lastChar == '/' || lastChar == '\\'))) //$NON-NLS-1$
-                    url = new URL(base, location);
-                else
-                    url = new URL(base, location + "/"); //$NON-NLS-1$
-            }
-            addEntry(url, result);
-        }
-    }
-
-    /**
-     * Returns the <code>URL</code>-based class path describing where the boot classes are located.
-     * 
-     * @return the url-based class path
-     * @param base the base location
-     * @exception MalformedURLException if a problem occurs computing the class path
-     */
-    protected URL[] getBootPath(String base) throws IOException {
-        URL url = null;
-        if (base != null) {
-            url = buildURL(base, true);
-        } else {
-            // search in the root location
-            url = getInstallLocation();
-            String path = new File(url.getFile(), "plugins").toString(); //$NON-NLS-1$
-            path = searchFor(framework, path);
-            if (path == null)
-                throw new RuntimeException("Could not find framework"); //$NON-NLS-1$
-            if (url.getProtocol().equals("file")) //$NON-NLS-1$
-                url = new File(path).toURL();
-            else
-                url = new URL(url.getProtocol(), url.getHost(), url.getPort(), path);
-        }
-        if (System.getProperty(PROP_FRAMEWORK) == null)
-            System.getProperties().put(PROP_FRAMEWORK, url.toExternalForm());
-        if (debug)
-            System.out.println("Framework located:\n    " + url.toExternalForm()); //$NON-NLS-1$
-        // add on any dev path elements
-        URL[] result = getDevPath(url);
-        if (debug) {
-            System.out.println("Framework classpath:"); //$NON-NLS-1$
-            for (int i = 0; i < result.length; i++)
-                System.out.println("    " + result[i].toExternalForm()); //$NON-NLS-1$
-        }
-        return result;
-    }
-
-    /**
-     * Searches for the given target directory starting in the "plugins" subdirectory
-     * of the given location.  If one is found then this location is returned; 
-     * otherwise an exception is thrown.
-     * 
-     * @return the location where target directory was found
-     * @param start the location to begin searching
-     */
-    protected String searchFor(final String target, String start) {
-        FileFilter filter = new FileFilter() {
-            public boolean accept(File candidate) {
-                return candidate.getName().equals(target) || candidate.getName().startsWith(target + "_"); //$NON-NLS-1$
-            }
-        };
-        File[] candidates = new File(start).listFiles(filter); //$NON-NLS-1$
-        if (candidates == null)
-            return null;
-        String[] arrays = new String[candidates.length];
-        for (int i = 0; i < arrays.length; i++) {
-            arrays[i] = candidates[i].getName();
-        }
-       int result = findMax(arrays);
-        if (result == -1)
-            return null;
-        return candidates[result].getAbsolutePath().replace(File.separatorChar, '/') + (candidates[result].isDirectory() ? "/" : "");  //$NON-NLS-1$//$NON-NLS-2$
-    }
-
-    protected int findMax(String[] candidates) {
-        int result = -1;
-        Object maxVersion = null;
-        for (int i = 0; i < candidates.length; i++) {
-            String name = candidates[i];
-            String version = ""; //$NON-NLS-1$ // Note: directory with version suffix is always > than directory without version suffix
-            int index = name.indexOf('_');
-            if (index != -1)
-                version = name.substring(index + 1);
-            Object currentVersion = getVersionElements(version);
-            if (maxVersion == null) {
-                result = i;
-                maxVersion = currentVersion;
-            } else {
-                if (compareVersion((Object[]) maxVersion, (Object[]) currentVersion) < 0) {
-                    result = i;
-                    maxVersion = currentVersion;
-                }
-            }
-        }
-        return result;
-    }
-    /**
-     * Compares version strings. 
-     * @return result of comparison, as integer;
-     * <code><0</code> if left < right;
-     * <code>0</code> if left == right;
-     * <code>>0</code> if left > right;
-     */
-    private int compareVersion(Object[] left, Object[] right) {
-
-        int result = ((Integer) left[0]).compareTo((Integer) right[0]); // compare major
-        if (result != 0)
-            return result;
-
-        result = ((Integer) left[1]).compareTo((Integer) right[1]); // compare minor
-        if (result != 0)
-            return result;
-
-        result = ((Integer) left[2]).compareTo((Integer) right[2]); // compare service
-        if (result != 0)
-            return result;
-
-        return ((String) left[3]).compareTo((String) right[3]); // compare qualifier
-    }
-
-    /**
-     * Do a quick parse of version identifier so its elements can be correctly compared.
-     * If we are unable to parse the full version, remaining elements are initialized
-     * with suitable defaults.
-     * @return an array of size 4; first three elements are of type Integer (representing
-     * major, minor and service) and the fourth element is of type String (representing
-     * qualifier). Note, that returning anything else will cause exceptions in the caller.
-     */
-    private Object[] getVersionElements(String version) {
-        if (version.endsWith(".jar")) //$NON-NLS-1$
-            version = version.substring(0, version.length() - 4);
-        Object[] result = {new Integer(0), new Integer(0), new Integer(0), ""}; //$NON-NLS-1$
-        StringTokenizer t = new StringTokenizer(version, "."); //$NON-NLS-1$
-        String token;
-        int i = 0;
-        while (t.hasMoreTokens() && i < 4) {
-            token = t.nextToken();
-            if (i < 3) {
-                // major, minor or service ... numeric values
-                try {
-                    result[i++] = new Integer(token);
-                } catch (Exception e) {
-                    // invalid number format - use default numbers (0) for the rest
-                    break;
-                }
-            } else {
-                // qualifier ... string value
-                result[i++] = token;
-            }
-        }
-        return result;
-    }
-
-    private static URL buildURL(String spec, boolean trailingSlash) {
-        if (spec == null)
-            return null;
-        boolean isFile = spec.startsWith(FILE_SCHEME); //$NON-NLS-1$
-        try {
-            if (isFile) {
-                File toAdjust = new File(spec.substring(5));
-                if (toAdjust.isDirectory())
-                    return adjustTrailingSlash(toAdjust.toURL(), trailingSlash);
-                else
-                    return toAdjust.toURL();
-            } else
-                return new URL(spec);
-        } catch (MalformedURLException e) {
-            // if we failed and it is a file spec, there is nothing more we can do
-            // otherwise, try to make the spec into a file URL.
-            if (isFile)
-                return null;
-            try {
-                File toAdjust = new File(spec);
-                if (toAdjust.isDirectory())
-                    return adjustTrailingSlash(toAdjust.toURL(), trailingSlash);
-                else
-                    return toAdjust.toURL();
-            } catch (MalformedURLException e1) {
-                return null;
-            }
-        }
-    }
-
-    private static URL adjustTrailingSlash(URL url, boolean trailingSlash) throws MalformedURLException {
-        String file = url.getFile();
-        if (trailingSlash == (file.endsWith("/"))) //$NON-NLS-1$
-            return url;
-        file = trailingSlash ? file + "/" : file.substring(0, file.length() - 1); //$NON-NLS-1$
-        return new URL(url.getProtocol(), url.getHost(), file);
-    }
-
-    private URL buildLocation(String property, URL defaultLocation, String userDefaultAppendage) {
-        URL result = null;
-        String location = System.getProperty(property);
-        System.getProperties().remove(property);
-        // if the instance location is not set, predict where the workspace will be and 
-        // put the instance area inside the workspace meta area.
-        try {
-            if (location == null)
-                result = defaultLocation;
-            else if (location.equalsIgnoreCase(NONE))
-                return null;
-            else if (location.equalsIgnoreCase(NO_DEFAULT))
-                result = buildURL(location, true);
-            else {
-                if (location.startsWith(USER_HOME)) {
-                    String base = substituteVar(location, USER_HOME, PROP_USER_HOME);
-                    location = new File(base, userDefaultAppendage).getAbsolutePath();
-                } else if (location.startsWith(USER_DIR)) {
-                    String base = substituteVar(location, USER_DIR, PROP_USER_DIR);
-                    location = new File(base, userDefaultAppendage).getAbsolutePath();
-                }
-                result = buildURL(location, true);
-            }
-        } finally {
-            if (result != null)
-                System.getProperties().put(property, result.toExternalForm());
-        }
-        return result;
-    }
-
-    private String substituteVar(String source, String var, String prop) {
-        String value = System.getProperty(prop, ""); //$NON-NLS-1$
-        return value + source.substring(var.length());
-    }
-
-    /** 
-     * Retuns the default file system path for the configuration location.
-     * By default the configuration information is in the installation directory
-     * if this is writeable.  Otherwise it is located somewhere in the user.home
-     * area relative to the current product. 
-     * @return the default file system path for the configuration information
-     */
-    private String computeDefaultConfigurationLocation() {
-        // 1) We store the config state relative to the 'eclipse' directory if possible
-        // 2) If this directory is read-only 
-        //    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-        //    is unique for each local user, and <application-id> is the one 
-        //    defined in .eclipseproduct marker file. If .eclipseproduct does not
-        //    exist, use "eclipse" as the application-id.
-
-        URL install = getInstallLocation();
-        // TODO a little dangerous here.  Basically we have to assume that it is a file URL.
-        if (install.getProtocol().equals("file")) { //$NON-NLS-1$
-            File installDir = new File(install.getFile());
-            if (canWrite(installDir))
-                return installDir.getAbsolutePath() + File.separator + CONFIG_DIR;
-        }
-        // We can't write in the eclipse install dir so try for some place in the user's home dir
-        return computeDefaultUserAreaLocation(CONFIG_DIR);
-    }
-
-    private static boolean canWrite(File installDir) {
-        if (installDir.canWrite() == false)
-            return false;
-
-        if (!installDir.isDirectory())
-            return false;
-
-        File fileTest = null;
-        try {
-            fileTest = File.createTempFile("writtableArea", null, installDir); //$NON-NLS-1$
-        } catch (IOException e) {
-            //If an exception occured while trying to create the file, it means that it is not writtable
-            return false;
-        } finally {
-            if (fileTest != null)
-                fileTest.delete();
-        }
-        return true;
-    }
-    
-    /**
-     * Returns a files system path for an area in the user.home region related to the
-     * current product.  The given appendage is added to this base location
-     * @param pathAppendage the path segments to add to computed base
-     * @return a file system location in the user.home area related the the current
-     *   product and the given appendage
-     */
-    private String computeDefaultUserAreaLocation(String pathAppendage) {
-        //    we store the state in <user.home>/.eclipse/<application-id>_<version> where <user.home> 
-        //    is unique for each local user, and <application-id> is the one 
-        //    defined in .eclipseproduct marker file. If .eclipseproduct does not
-        //    exist, use "eclipse" as the application-id.
-        URL installURL = getInstallLocation();
-        if (installURL == null)
-            return null;
-        File installDir = new File(installURL.getFile());
-        String appName = "." + ECLIPSE; //$NON-NLS-1$
-        File eclipseProduct = new File(installDir, PRODUCT_SITE_MARKER);
-        if (eclipseProduct.exists()) {
-            Properties props = new Properties();
-            try {
-                props.load(new FileInputStream(eclipseProduct));
-                String appId = props.getProperty(PRODUCT_SITE_ID);
-                if (appId == null || appId.trim().length() == 0)
-                    appId = ECLIPSE;
-                String appVersion = props.getProperty(PRODUCT_SITE_VERSION);
-                if (appVersion == null || appVersion.trim().length() == 0)
-                    appVersion = ""; //$NON-NLS-1$
-                appName += File.separator + appId + "_" + appVersion; //$NON-NLS-1$
-            } catch (IOException e) {
-                // Do nothing if we get an exception.  We will default to a standard location 
-                // in the user's home dir.
-            }
-        }
-        String userHome = System.getProperty(PROP_USER_HOME);
-        return new File(userHome, appName + "/" + pathAppendage).getAbsolutePath(); //$NON-NLS-1$
-    }
-
-    /**
-     * Runs this launcher with the arguments specified in the given string.
-     * 
-     * @param argString the arguments string
-     */
-    public static void main(String argString) {
-        Vector list = new Vector(5);
-        for (StringTokenizer tokens = new StringTokenizer(argString, " "); tokens.hasMoreElements();) //$NON-NLS-1$
-            list.addElement(tokens.nextElement());
-        main((String[]) list.toArray(new String[list.size()]));
-    }
-
-    /**
-     * Runs the platform with the given arguments.  The arguments must identify
-     * an application to run (e.g., <code>-application com.example.application</code>).
-     * After running the application <code>System.exit(N)</code> is executed.
-     * The value of N is derived from the value returned from running the application.
-     * If the application's return value is an <code>Integer</code>, N is this value.
-     * In all other cases, N = 0.
-     * <p>
-     * Clients wishing to run the platform without a following <code>System.exit</code>
-     * call should use <code>run()</code>.
-     * </p>
-     * 
-     * @param args the command line arguments
-     * @see #run(String[])
-     */
-	public static void main(String[] args) {
-		int result = 0;
-		try {
-			result = new Main().run(args);
-		} catch (Throwable t) {
-			// This is *really* unlikely to happen - run() takes care of exceptional situations.
-			// In case something weird happens, just dump stack - logging is not available at this point
-			t.printStackTrace();
-		} finally {
-			if (!Boolean.getBoolean(PROP_NOSHUTDOWN))
-			// make sure we always terminate the VM
-				System.exit(result);
-		}
-	}
-
-
-    /**
-     * Runs the platform with the given arguments.  The arguments must identify
-     * an application to run (e.g., <code>-application com.example.application</code>).
-     * Returns the value returned from running the application.
-     * If the application's return value is an <code>Integer</code>, N is this value.
-     * In all other cases, N = 0.
-     *
-     * @param args the command line arguments
-     */
-    public int run(String[] args) {
-        int result = 0;
-        try {
-            basicRun(args);
-            String exitCode = System.getProperty(PROP_EXITCODE);
-            try {
-                result = exitCode == null ? 0 : Integer.parseInt(exitCode);
-            } catch (NumberFormatException e) {
-                result = 17;
-            }
-        } catch (Throwable e) {
-            // only log the exceptions if they have not been caught by the 
-            // EclipseStarter (i.e., if the exitCode is not 13) 
-            if (!"13".equals(System.getProperty(PROP_EXITCODE))) { //$NON-NLS-1$
-                log("Exception launching the Eclipse Platform:"); //$NON-NLS-1$
-                log(e);
-                String message = "An error has occurred"; //$NON-NLS-1$
-                if (logFile == null)
-                    message += " and could not be logged: \n" + e.getMessage(); //$NON-NLS-1$
-                else
-                    message += ".  See the log file\n" + logFile.getAbsolutePath(); //$NON-NLS-1$
-                System.getProperties().put(PROP_EXITDATA, message);
-            }
-            // Return "unlucky" 13 as the exit code. The executable will recognize
-            // this constant and display a message to the user telling them that
-            // there is information in their log file.
-            result = 13;
-        } finally {
-            // always try putting down the splash screen just in case the application failed to do so
-            takeDownSplash();           
-        }
-        // Return an int exit code and ensure the system property is set.
-        System.getProperties().put(PROP_EXITCODE, Integer.toString(result));
-        setExitData();
-        return result;
-    }
-
-    private void setExitData() {
-        String data = System.getProperty(PROP_EXITDATA);
-        if (exitData == null || data == null)
-            return;
-        // sync call to the launcher
-        runCommand(true, new String[] {EXITDATA, exitData, data}); //$NON-NLS-1$
-    }
-
-    /**
-     * Processes the command line arguments.  The general principle is to NOT
-     * consume the arguments and leave them to be processed by Eclipse proper.
-     * There are a few args which are directed towards main() and a few others
-     * which we need to know about. Very few should actually be consumed here.
-     * 
-     * @return the arguments to pass through to the launched application
-     * @param args the command line arguments
-     */
-    protected String[] processCommandLine(String[] args) {
-        if (args.length == 0)
-            return args;
-        int[] configArgs = new int[args.length];
-        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 (args[i].equalsIgnoreCase(DEBUG)) {
-                debug = true;
-                // passed thru this arg (i.e., do not set found = true)
-                continue;
-            }
-
-            // look for and consume the nosplash directive.  This supercedes any
-            // -showsplash command that might be present.
-            if (args[i].equalsIgnoreCase(NOSPLASH)) {
-                splashDown = true;
-                found = true;
-            }
-
-            if (args[i].equalsIgnoreCase(NOEXIT)) {
-            	System.getProperties().put(PROP_NOSHUTDOWN, "true"); //$NON-NLS-1$
-            	found = true;
-            }
-            
-            // check if this is initialization pass
-            if (args[i].equalsIgnoreCase(INITIALIZE)) {
-                initialize = true;
-                // passed thru this arg (i.e., do not set found = true)
-                continue;
-            }
-
-            // 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;
-                // do not mark the arg as found so it will be passed through
-                continue;
-            }
-
-            // done checking for args.  Remember where an arg was found 
-            if (found) {
-                configArgs[configArgIndex++] = i;
-                continue;
-            }
-
-            // look for the VM args arg.  We have to do that before looking to see
-            // if the next element is a -arg as the thing following -vmargs may in
-            // fact be another -arg.
-            if (args[i].equalsIgnoreCase(VMARGS)) {
-                // consume the -vmargs arg itself
-                args[i] = null;
-                i++;
-                vmargs = new String[args.length - i];
-                for (int j = 0; i < args.length; i++) {
-                    vmargs[j++] = args[i];
-                    args[i] = null;
-                }
-                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 development mode and class path entries.  
-            if (args[i - 1].equalsIgnoreCase(DEV)) {
-                inDevelopmentMode = true;
-                devClassPath = processDevArg(arg);
-                continue;
-            }
-
-            // look for the framework to run
-            if (args[i - 1].equalsIgnoreCase(FRAMEWORK)) {
-                framework = arg;
-                found = true;
-            }
-
-            // look for explicitly set install root
-            // Consume the arg here to ensure that the launcher and Eclipse get the 
-            // same value as each other.  
-            if (args[i - 1].equalsIgnoreCase(INSTALL)) {
-                System.getProperties().put(PROP_INSTALL_AREA, arg);
-                found = true;
-            }
-
-            // look for the configuration to use.  
-            // Consume the arg here to ensure that the launcher and Eclipse get the 
-            // same value as each other.  
-            if (args[i - 1].equalsIgnoreCase(CONFIGURATION)) {
-                System.getProperties().put(PROP_CONFIG_AREA, arg);
-                found = true;
-            }
-
-            // look for the command to use to set exit data in the launcher
-            if (args[i - 1].equalsIgnoreCase(EXITDATA)) {
-                exitData = arg;
-                found = true;
-            }
-
-            // look for the command to use to show the splash screen
-            if (args[i - 1].equalsIgnoreCase(SHOWSPLASH)) {
-                showSplash = arg;
-                found = true;
-            }
-
-            // look for the name to use by the launcher
-            if (args[i - 1].equalsIgnoreCase(NAME)) {
-                name = arg;
-                found = true;
-            }
-
-            // look for the launcher location
-            if (args[i - 1].equalsIgnoreCase(LAUNCHER)) {
-                launcher = arg;
-                found = true;
-            }
-            
-            // look for the command to use to end the splash screen
-            if (args[i - 1].equalsIgnoreCase(ENDSPLASH)) {
-                endSplash = arg;
-                found = true;
-            }
-
-            // look for the VM location arg
-            if (args[i - 1].equalsIgnoreCase(VM)) {
-                vm = arg;
-                found = true;
-            }
-
-			//look for the nl setting
-			if (args[i - 1].equalsIgnoreCase(NL)) {
-				System.getProperties().put(PROP_NL, 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
-        String[] passThruArgs = new String[args.length - configArgIndex - (vmargs == null ? 0 : vmargs.length + 1)];
-        configArgIndex = 0;
-        int j = 0;
-        for (int i = 0; i < args.length; i++) {
-            if (i == configArgs[configArgIndex])
-                configArgIndex++;
-            else if (args[i] != null)
-                passThruArgs[j++] = args[i];
-        }
-        return passThruArgs;
-    }
-
-    private String processDevArg(String arg) {
-        if (arg == null)
-            return null;
-        try {
-            URL location = new URL(arg);
-            Properties props = load(location, null);
-            String result = props.getProperty(OSGI);
-            return result == null ? props.getProperty("*") : result; //$NON-NLS-1$
-        } catch (MalformedURLException e) {
-            // the arg was not a URL so use it as is.
-            return arg;
-        } catch (IOException e) {
-            // TODO consider logging here
-            return null;
-        }
-    }
-
-    private URL getConfigurationLocation() {
-        if (configurationLocation != null)
-            return configurationLocation;
-        configurationLocation = buildLocation(PROP_CONFIG_AREA, null, ""); //$NON-NLS-1$
-        if (configurationLocation == null) {
-            configurationLocation = buildLocation(PROP_CONFIG_AREA_DEFAULT, null, ""); //$NON-NLS-1$
-            if (configurationLocation == null)
-                configurationLocation = buildURL(computeDefaultConfigurationLocation(), true);
-        }
-        if (configurationLocation != null)
-            System.getProperties().put(PROP_CONFIG_AREA, configurationLocation.toExternalForm());
-        if (debug)
-            System.out.println("Configuration location:\n    " + configurationLocation); //$NON-NLS-1$
-        return configurationLocation;
-    }
-
-    private void processConfiguration() {
-        // if the configuration area is not already defined, discover the config area by
-        // trying to find a base config area.  This is either defined in a system property or
-        // is computed relative to the install location.
-        // Note that the config info read here is only used to determine a value 
-        // for the user configuration area
-        URL baseConfigurationLocation = null;
-        Properties baseConfiguration = null;
-        if (System.getProperty(PROP_CONFIG_AREA) == null) {
-            String baseLocation = System.getProperty(PROP_BASE_CONFIG_AREA);
-            if (baseLocation != null)
-                // here the base config cannot have any symbolic (e..g, @xxx) entries.  It must just
-                // point to the config file.
-                baseConfigurationLocation = buildURL(baseLocation, true);
-            if (baseConfigurationLocation == null)
-                try {
-                    // here we access the install location but this is very early.  This case will only happen if
-                    // the config area is not set and the base config area is not set (or is bogus).
-                    // In this case we compute based on the install location.
-                    baseConfigurationLocation = new URL(getInstallLocation(), CONFIG_DIR);
-                } catch (MalformedURLException e) {
-                    // leave baseConfigurationLocation null
-                }
-            baseConfiguration = loadConfiguration(baseConfigurationLocation);
-            if (baseConfiguration != null) {
-                // if the base sets the install area then use that value if the property.  We know the 
-                // property is not already set.
-                String location = baseConfiguration.getProperty(PROP_CONFIG_AREA);
-                if (location != null)
-                    System.getProperties().put(PROP_CONFIG_AREA, location);
-                // if the base sets the install area then use that value if the property is not already set.
-                // This helps in selfhosting cases where you cannot easily compute the install location
-                // from the code base.
-                location = baseConfiguration.getProperty(PROP_INSTALL_AREA);
-                if (location != null && System.getProperty(PROP_INSTALL_AREA) == null)
-                    System.getProperties().put(PROP_INSTALL_AREA, location);
-            }
-        }
-
-        // Now we know where the base configuration is supposed to be.  Go ahead and load
-        // it and merge into the System properties.  Then, if cascaded, read the parent configuration
-        // Note that the parent may or may not be the same parent as we read above since the 
-        // base can define its parent.  The first parent we read was either defined by the user
-        // on the command line or was the one in the install dir.  
-        // if the config or parent we are about to read is the same as the base config we read above,
-        // just reuse the base
-        Properties configuration = baseConfiguration;
-        if (configuration == null || !getConfigurationLocation().equals(baseConfigurationLocation))
-            configuration = loadConfiguration(getConfigurationLocation());
-        mergeProperties(System.getProperties(), configuration);
-        if ("false".equalsIgnoreCase(System.getProperty(PROP_CONFIG_CASCADED))) //$NON-NLS-1$
-            // if we are not cascaded then remove the parent property even if it was set.
-            System.getProperties().remove(PROP_SHARED_CONFIG_AREA);
-        else {
-        	ensureAbsolute(PROP_SHARED_CONFIG_AREA);
-            URL sharedConfigURL = buildLocation(PROP_SHARED_CONFIG_AREA, null, ""); //$NON-NLS-1$
-            if (sharedConfigURL == null)
-                try {
-                    // there is no shared config value so compute one
-                    sharedConfigURL = new URL(getInstallLocation(), CONFIG_DIR);
-                } catch (MalformedURLException e) {
-                    // leave sharedConfigurationLocation null
-                }
-            // if the parent location is different from the config location, read it too.
-            if (sharedConfigURL != null) {
-                if (sharedConfigURL.equals(getConfigurationLocation()))
-                    // remove the property to show that we do not have a parent.
-                    System.getProperties().remove(PROP_SHARED_CONFIG_AREA);
-                else {
-                    // if the parent we are about to read is the same as the base config we read above,
-                    // just reuse the base
-                    configuration = baseConfiguration;
-                    if (!sharedConfigURL.equals(baseConfigurationLocation))
-                        configuration = loadConfiguration(sharedConfigURL);
-                    mergeProperties(System.getProperties(), configuration);
-                    System.getProperties().put(PROP_SHARED_CONFIG_AREA, sharedConfigURL.toExternalForm());
-                    if (debug)
-                        System.out.println("Shared configuration location:\n    " + sharedConfigURL.toExternalForm()); //$NON-NLS-1$
-                }
-            }
-        }
-        // setup the path to the framework
-        String urlString = System.getProperty(PROP_FRAMEWORK, null);
-        if (urlString != null) {
-            URL url = buildURL(urlString, true);
-            System.getProperties().put(PROP_FRAMEWORK, url.toExternalForm());
-            bootLocation = resolve(urlString);
-        }
-    }
-
-    /**
-	 * Ensures the value for a system property is an absolute URL. Relative URLs are translated to
-	 * absolute URLs by taking the install URL as reference.
-	 *   
-	 * @param locationProperty the key for a system property containing a URL
-	 */
-	private void ensureAbsolute(String locationProperty) {
-		String propertyValue = System.getProperty(locationProperty);
-		if (propertyValue == null)
-			// property not defined
-			return;
-		URL locationURL = null;
-		try {
-			locationURL = new URL(propertyValue);
-		} catch (MalformedURLException e) {
-			// property is not a valid URL
-			return;
-		}
-		String locationPath = locationURL.getPath();
-		if (locationPath.startsWith("/")) //$NON-NLS-1$
-			// property value is absolute
-			return;
-		URL installURL = getInstallLocation();
-		if (!locationURL.getProtocol().equals(installURL.getProtocol()))
-			// not same protocol
-			return;
-		try {
-			URL absoluteURL = new URL(installURL, locationPath);
-			System.getProperties().put(locationProperty, absoluteURL.toExternalForm());
-		} catch (MalformedURLException e) {
-			// should not happen - the relative URL is known to be valid
-		}
-	}
-
-    /**
-     * Returns url of the location this class was loaded from
-     */
-    private URL getInstallLocation() {
-        if (installLocation != null)
-            return installLocation;
-
-        // value is not set so compute the default and set the value
-        String installArea = System.getProperty(PROP_INSTALL_AREA);
-        if (installArea != null) {
-            installLocation = buildURL(installArea, true);
-            if (installLocation == null)
-                throw new IllegalStateException("Install location is invalid: " + installArea); //$NON-NLS-1$
-            System.getProperties().put(PROP_INSTALL_AREA, installLocation.toExternalForm());
-            if (debug)
-                System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
-            return installLocation;
-        }
-
-        ProtectionDomain domain = Main.class.getProtectionDomain();
-        CodeSource source = null;
-		URL result = null;
-        if (domain != null)
-        	source = domain.getCodeSource();
-        if (source == null || domain == null) {
-			if (debug)
-				System.out.println("CodeSource location is null. Defaulting the install location to file:startup.jar"); //$NON-NLS-1$
-			try {
-				result = new URL("file:startup.jar"); //$NON-NLS-1$
-			} catch (MalformedURLException e2) {
-				//Ignore
-			}
-        }
-		if (source != null)
-			result = source.getLocation();
-		
-        String path = decode(result.getFile());
-        // normalize to not have leading / so we can check the form
-        File file = new File(path);
-        path = file.toString().replace('\\', '/');
-        // TODO need a better test for windows
-        // If on Windows then canonicalize the drive letter to be lowercase.
-        // remember that there may be UNC paths 
-        if (File.separatorChar == '\\')
-            if (Character.isUpperCase(path.charAt(0))) {
-                char[] chars = path.toCharArray();
-                chars[0] = Character.toLowerCase(chars[0]);
-                path = new String(chars);
-            }
-        if (path.toLowerCase().endsWith(".jar")) //$NON-NLS-1$
-            path = path.substring(0, path.lastIndexOf("/") + 1); //$NON-NLS-1$
-        try {
-            try {
-                // create a file URL (via File) to normalize the form (e.g., put 
-                // the leading / on if necessary)
-                path = new File(path).toURL().getFile();
-            } catch (MalformedURLException e1) {
-                // will never happen.  The path is straight from a URL.  
-            }
-            installLocation = new URL(result.getProtocol(), result.getHost(), result.getPort(), path);
-            System.getProperties().put(PROP_INSTALL_AREA, installLocation.toExternalForm());
-        } catch (MalformedURLException e) {
-            // TODO Very unlikely case.  log here.  
-        }
-        if (debug)
-            System.out.println("Install location:\n    " + installLocation); //$NON-NLS-1$
-        return installLocation;
-    }
-
-    /*
-     * Load the given configuration file
-     */
-    private Properties loadConfiguration(URL url) {
-        Properties result = null;
-        try {
-            url = new URL(url, CONFIG_FILE);
-        } catch (MalformedURLException e) {
-            return null;
-        }
-        try {
-            if (debug)
-                System.out.print("Configuration file:\n    " + url.toString()); //$NON-NLS-1$
-            result = loadProperties(url);
-            if (debug)
-                System.out.println(" loaded"); //$NON-NLS-1$
-        } catch (IOException e) {
-            if (debug)
-                System.out.println(" not found or not read"); //$NON-NLS-1$
-        }
-        return result;
-    }
-
-    private Properties loadProperties(URL url) throws IOException {
-        // try to load saved configuration file (watch for failed prior save())
-        if (url == null)
-            return null;
-        Properties result = null;
-        IOException originalException = null;
-        try {
-            result = load(url, null); // try to load config file
-        } catch (IOException e1) {
-            originalException = e1;
-            try {
-                result = load(url, CONFIG_FILE_TEMP_SUFFIX); // check for failures on save
-            } catch (IOException e2) {
-                try {
-                    result = load(url, CONFIG_FILE_BAK_SUFFIX); // check for failures on save
-                } catch (IOException e3) {
-                    throw originalException; // we tried, but no config here ...
-                }
-            }
-        }
-        return result;
-    }
-
-    /*
-     * Load the configuration  
-     */
-    private Properties load(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);
-        } finally {
-            if (is != null)
-                try {
-                    is.close();
-                } catch (IOException e) {
-                    //ignore failure to close
-                }
-        }
-        return props;
-    }
-
-    /*
-     * Handle splash screen.
-     * We support 2 startup scenarios:
-     * 
-     * (1) the executable launcher put up the splash screen. In that
-     *     scenario we are invoked with -endsplash command which is
-     *     fully formed to take down the splash screen
-     * 
-     * (2) the executable launcher did not put up the splash screen,
-     *     but invokes Eclipse with partially formed -showsplash command.
-     *     In this scenario we determine which splash to display (based on 
-     *     feature information) and then call -showsplash command. 
-     * 
-     * In both scenarios we pass a handler (Runnable) to the platform.
-     * The handler is called as a result of the launched application calling
-     * Platform.endSplash(). In the first scenario this results in the
-     * -endsplash command being executed. In the second scenarios this
-     * results in the process created as a result of the -showsplash command
-     * being destroyed.
-     * 
-     * @param bootPath search path for the boot plugin
-     */
-    private void handleSplash(URL[] defaultPath) {
-        // run without splash if we are initializing or nosplash 
-        // was specified (splashdown = true)
-        if (initialize || splashDown) {
-            showSplash = null;
-            endSplash = null;
-            return;
-        }
-
-        // if -endsplash is specified, use it and ignore any -showsplash command
-        if (endSplash != null) {
-            showSplash = null;
-            return;
-        }
-
-        // check if we are running without a splash screen
-        if (showSplash == null)
-            return;
-
-        // determine the splash location
-        String location = getSplashLocation(defaultPath);
-        if (debug)
-            System.out.println("Splash location:\n    " + location); //$NON-NLS-1$
-        if (location == null)
-            return;
-        // async call to the launcher
-        showProcess = runCommand(false, new String[] {SHOWSPLASH, showSplash, location}); //$NON-NLS-1$
-    }
-    
-    private Process runCommand(boolean block, String[] extraArgs) {
-        final int NBR_DEFAULT_ARGS = 3;
-        String[] args = new String[NBR_DEFAULT_ARGS + extraArgs.length];
-        args[0] = launcher;
-        args[1] = NAME;
-        args[2] = name;
-
-        for (int i = 0; i < extraArgs.length; i++) {
-            args[i + NBR_DEFAULT_ARGS] = extraArgs[i];
-        }
-
-        if (debug) {
-            System.out.print("runCommand:\n    ");//$NON-NLS-1$ 
-            for (int i = 0; i < args.length; i++) {
-                System.out.print('<' + args[i] + '>');//$NON-NLS-1$ //$NON-NLS-2$ 
-            }
-            System.out.println();
-        }
-
-        Process result = null;
-        try {
-            result = Runtime.getRuntime().exec(args);
-            if (block)
-                result.waitFor();
-        } catch (Exception e) {
-            log("Exception running command: " + extraArgs != null && extraArgs.length > 0 ? extraArgs[0] : null); //$NON-NLS-1$ 
-            log(e);
-        }
-        return result;
-    }
-
-    /*
-     * take down the splash screen. Try both take-down methods just in case
-     * (only one should ever be set)
-     */
-    protected void takeDownSplash() {
-        if (splashDown) // splash is already down
-            return;
-
-        // check if -endsplash was specified
-        if (endSplash != null) {
-            try {
-                Runtime.getRuntime().exec(endSplash);
-            } catch (Exception e) {
-                //ignore failure to end splash
-            }
-        }
-
-        // check if -showsplash was specified and executed
-        if (showProcess != null) {
-            showProcess.destroy();
-            showProcess = null;
-        }
-        splashDown = true;
-    }
-
-    /*
-     * Return path of the splash image to use.  First search the defined splash path.
-     * If that does not work, look for a default splash.  Currently the splash must be in the file system
-     * so the return value here is the file system path.
-     */
-    private String getSplashLocation(URL[] bootPath) {
-        String result = System.getProperty(PROP_SPLASHLOCATION);
-        if (result != null)
-            return result;
-        String splashPath = System.getProperty(PROP_SPLASHPATH);
-        if (splashPath != null) {
-            String[] entries = getArrayFromList(splashPath);
-            ArrayList path = new ArrayList(entries.length);
-            for (int i = 0; i < entries.length; i++) {
-                String entry = resolve(entries[i]);
-                if (entry == null || entry.startsWith(FILE_SCHEME)) {
-                    File entryFile = new File(entry.substring(5).replace('/', File.separatorChar));
-                    entry = searchFor(entryFile.getName(), entryFile.getParent());
-                    if (entry != null)
-                        path.add(entry);
-                } else
-                    log("Invalid splash path entry: " + entries[i]); //$NON-NLS-1$
-            }
-            // see if we can get a splash given the splash path
-            result = searchForSplash((String[]) path.toArray(new String[path.size()]));
-            if (result != null) {
-                System.getProperties().put(PROP_SPLASHLOCATION, result);
-                return result;
-            }
-        }
-
-        // can't find it on the splashPath so look for a default splash
-        String temp = bootPath[0].getFile(); // take the first path element
-        temp = temp.replace('/', File.separatorChar);
-        int ix = temp.lastIndexOf("plugins" + File.separator); //$NON-NLS-1$
-        if (ix != -1) {
-            int pix = temp.indexOf(File.separator, ix + 8);
-            if (pix != -1) {
-                temp = temp.substring(0, pix);
-                result = searchForSplash(new String[] {temp});
-                if (result != null)
-                    System.getProperties().put(PROP_SPLASHLOCATION, result);
-            }
-        }
-        return result;
-    }
-
-    /*
-     * Do a locale-sensitive lookup of splash image
-     */
-    private String searchForSplash(String[] searchPath) {
-        if (searchPath == null)
-            return null;
-
-        // Get the splash screen for the specified locale
-		String locale = (String) System.getProperties().get(PROP_NL);
-		if (locale == null)
-			locale = Locale.getDefault().toString();
-		String[] nlVariants = buildNLVariants(locale);
-
-		for (int i=0; i<nlVariants.length; i++) {
-			for (int j=0; j<searchPath.length; j++) {
-				// do we have a JAR?
-				if (isJAR(searchPath[j])) {
-					String result = extractSplashFromJAR(searchPath[j], nlVariants[i]);
-					if (result != null)
-						return result;
-				} else {
-					// we have a file or a directory
-	                String path = searchPath[j];
-	                if (!path.endsWith(File.separator))
-	                    path += File.separator;
-	                path += nlVariants[i];
-	                File result = new File(path);
-	                if (result.exists())
-	                    return result.getAbsolutePath(); // return the first match found [20063]
-				}
-			}
-		}
-
-        // sorry, could not find splash image
-        return null;
-    }
-
-	/**
-	 * Transfers all available bytes from the given input stream to the given output stream. 
-	 * Regardless of failure, this method closes both streams.
-	 */
-	private static void transferStreams(InputStream source, OutputStream destination) {
-		byte[] buffer = new byte[8096];
-		try {
-			while (true) {
-				int bytesRead = -1;
-				try {
-					bytesRead = source.read(buffer);
-				} catch (IOException e) {
-					return;
-				}
-				if (bytesRead == -1)
-					break;
-				try {
-					destination.write(buffer, 0, bytesRead);
-				} catch (IOException e) {
-					return;
-				}
-			}
-		} finally {
-			try {
-				source.close();
-			} catch (IOException e) {
-				// ignore
-			} finally {
-				//close destination in finally in case source.close fails
-				try {
-					destination.close();
-				} catch (IOException e) {
-					// ignore
-				}
-			}
-		}
-	}
-
-	/*
-	 * Look for the specified spash file in the given JAR and extract it to the config 
-	 * area for caching purposes.
-	 */
-	private String extractSplashFromJAR(String jarPath, String splashPath) {
-		String configLocation = System.getProperty(PROP_CONFIG_AREA);
-		if (configLocation == null) {
-			log("Configuration area not set yet. Unable to extract splash from JAR'd plug-in: " + jarPath); //$NON-NLS-1$
-			return null;
-		}
-		URL configURL = buildURL(configLocation, false);
-		if (configURL == null)
-			return null;
-		// cache the splash in the OSGi sub-dir in the config area
-		File splash = new File(configURL.getPath(), OSGI);
-		splash = new File(splash, splashPath);
-		// if we have already extracted this file before, then return
-		if (splash.exists()) {
-			// if we are running with -clean then delete the cached splash file
-			boolean clean = false;
-			for (int i=0; i<commands.length; i++) {
-				if (CLEAN.equalsIgnoreCase(commands[i])) {
-					clean = true;
-					splash.delete();
-					break;
-				}
-			}
-			if (!clean)
-				return splash.getAbsolutePath();
-		}
-		ZipFile file;
-		try {
-			file = new ZipFile(jarPath);
-		} catch (IOException e) {
-			log("Exception looking for splash  in JAR file: " + jarPath); //$NON-NLS-1$
-			log(e);
-			return null;
-		}
-		ZipEntry entry = file.getEntry(splashPath.replace(File.separatorChar, '/'));
-		if (entry == null)
-			return null;
-		InputStream input = null;
-		try {
-			input = file.getInputStream(entry);
-		} catch (IOException e) {
-			log("Exception opening splash: " + entry.getName() + " in JAR file: " + jarPath);  //$NON-NLS-1$ //$NON-NLS-2$
-			log(e);
-			return null;
-		}
-		splash.getParentFile().mkdirs();
-		OutputStream output;
-		try {
-			output = new BufferedOutputStream(new FileOutputStream(splash));
-		} catch (FileNotFoundException e) {
-			try {
-				input.close();
-			} catch (IOException e1) {
-				// ignore
-			}
-			return null;
-		}
-		transferStreams(input, output);
-		return splash.exists() ? splash.getAbsolutePath() : null;
-	}
-
-	/*
-	 * Return a boolean value indicating whether or not the given
-	 * path represents a JAR file.
-	 */
-	private boolean isJAR(String path) {
-		if (path.endsWith(File.separator))
-			return false;
-		int index = path.lastIndexOf('.');
-		if (index == -1)
-			return false;
-		index++;
-		// handle the case where we have a '.' at the end
-		if (index >= path.length()) 
-			return false;
-		return "JAR".equalsIgnoreCase(path.substring(index)); //$NON-NLS-1$
-	}
-
-	/*
-	 * Build an array of path suffixes based on the given NL which is suitable
-	 * for splash path searching.  The returned array contains paths in order 
-	 * from most specific to most generic. So, in the FR_fr locale, it will return 
-	 * "nl/fr/FR/splash.bmp", then "nl/fr/splash.bmp", and finally "splash.bmp". 
-	 * (we always search the root)
-	 */
-	private static String[] buildNLVariants(String locale) {
-		//build list of suffixes for loading resource bundles
-		String nl = locale;
-		ArrayList result = new ArrayList(4);
-		int lastSeparator;
-		while (true) {
-			result.add("nl" + File.separatorChar + nl.replace('_', File.separatorChar) + File.separatorChar + SPLASH_IMAGE); //$NON-NLS-1$
-			lastSeparator = nl.lastIndexOf('_');
-			if (lastSeparator == -1)
-				break;
-			nl = nl.substring(0, lastSeparator);
-		}
-		//add the empty suffix last (most general)
-		result.add(SPLASH_IMAGE);
-		return (String[]) result.toArray(new String[result.size()]);
-	}
-
-    /*
-     * resolve platform:/base/ URLs
-     */
-    private String resolve(String urlString) {
-        // handle the case where people mistakenly spec a refererence: url.
-        if (urlString.startsWith(REFERENCE_SCHEME)) { //$NON-NLS-1$
-            urlString = urlString.substring(10);
-            System.getProperties().put(PROP_FRAMEWORK, urlString);
-        }
-        if (urlString.startsWith(PLATFORM_URL)) {
-            String path = urlString.substring(PLATFORM_URL.length());
-            return getInstallLocation() + path;
-        } else
-            return urlString;
-    }
-
-    /*
-     * Entry point for logging.
-     */
-    private synchronized void log(Object obj) {
-        if (obj == null)
-            return;
-        try {
-            openLogFile();
-            try {
-                if (newSession) {
-                    log.write(SESSION);
-                    log.write(' ');
-                    String timestamp = new Date().toString();
-                    log.write(timestamp);
-                    log.write(' ');
-                    for (int i = SESSION.length() + timestamp.length(); i < 78; i++)
-                        log.write('-');
-                    log.newLine();
-                    newSession = false;
-                }
-                write(obj);
-            } finally {
-                if (logFile == null) {
-                    if (log != null)
-                        log.flush();
-                } else
-                    closeLogFile();
-            }
-        } 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(obj);
-                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;
-        }
-    }
-
-    /*
-     * This should only be called from #log()
-     */
-    private void write(Object obj) throws IOException {
-        if (obj == null)
-            return;
-        if (obj instanceof Throwable) {
-            log.write(STACK);
-            log.newLine();
-            ((Throwable) obj).printStackTrace(new PrintWriter(log));
-        } else {
-            log.write(ENTRY);
-            log.write(' ');
-            log.write(PLUGIN_ID);
-            log.write(' ');
-            log.write(String.valueOf(ERROR));
-            log.write(' ');
-            log.write(String.valueOf(0));
-            log.write(' ');
-            try {
-                DateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS"); //$NON-NLS-1$
-                log.write(formatter.format(new Date()));
-            } catch (Exception e) {
-                // continue if we can't write out the date
-                log.write(Long.toString(System.currentTimeMillis()));
-            }
-            log.newLine();
-            log.write(MESSAGE);
-            log.write(' ');
-            log.write(String.valueOf(obj));
-        }
-        log.newLine();
-    }
-
-    private void computeLogFileLocation() {
-        String logFileProp = System.getProperty(PROP_LOGFILE);
-        if (logFileProp != null) {
-            if (logFile == null || !logFileProp.equals(logFile.getAbsolutePath())) {
-                logFile = new File(logFileProp);
-                logFile.getParentFile().mkdirs();
-            }
-            return;
-        }
-
-        // compute the base location and then append the name of the log file
-        URL base = buildURL(System.getProperty(PROP_CONFIG_AREA), false);
-        if (base == null)
-            return;
-        logFile = new File(base.getPath(), Long.toString(System.currentTimeMillis()) + ".log"); //$NON-NLS-1$
-        logFile.getParentFile().mkdirs();
-        System.setProperty(PROP_LOGFILE, logFile.getAbsolutePath());
-    }
-
-    /**
-     * Converts an ASCII character representing a hexadecimal
-     * value into its integer equivalent.
-     */
-    private 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$
-        }
-    }
-
-    private void openLogFile() throws IOException {
-        computeLogFileLocation();
-        try {
-            log = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(logFile.getAbsolutePath(), true), "UTF-8")); //$NON-NLS-1$
-        } catch (IOException e) {
-            logFile = null;
-            throw e;
-        }
-    }
-
-    private BufferedWriter logForStream(OutputStream output) {
-        try {
-            return new BufferedWriter(new OutputStreamWriter(output, "UTF-8")); //$NON-NLS-1$
-        } catch (UnsupportedEncodingException e) {
-            return new BufferedWriter(new OutputStreamWriter(output));
-        }
-    }
-
-    private void closeLogFile() throws IOException {
-        try {
-            if (log != null) {
-                log.flush();
-                log.close();
-            }
-        } finally {
-            log = null;
-        }
-    }
-
-    private void mergeProperties(Properties destination, Properties source) {
-        if (destination == null || source == null)
-            return;
-        for (Enumeration e = source.keys(); e.hasMoreElements();) {
-            String key = (String) e.nextElement();
-            if (key.equals(PROP_CLASSPATH)) {
-                String destinationClasspath = destination.getProperty(PROP_CLASSPATH);
-                String sourceClasspath = source.getProperty(PROP_CLASSPATH);
-                if (destinationClasspath == null)
-                    destinationClasspath = sourceClasspath;
-                else
-                    destinationClasspath = destinationClasspath + sourceClasspath;
-                destination.put(PROP_CLASSPATH, destinationClasspath);
-                continue;
-            }
-            if (!key.equals(PROP_EOF)) {
-                String value = source.getProperty(key);
-                if (destination.getProperty(key) == null)
-                    destination.put(key, value);
-            }
-        }
-    }
-
-    private void setupVMProperties() {
-        if (vm != null)
-            System.getProperties().put(PROP_VM, vm);
-        setMultiValueProperty(PROP_VMARGS, vmargs);
-        setMultiValueProperty(PROP_COMMANDS, commands);
-    }
-
-    private void setMultiValueProperty(String property, String[] value) {
-        if (value != null) {
-            StringBuffer result = new StringBuffer(300);
-            for (int i = 0; i < value.length; i++) {
-                if (value[i] != null) {
-                    result.append(value[i]);
-                    result.append('\n');
-                }
-            }
-            System.getProperties().put(property, result.toString());
-        }
-    }
-
-    private class EclipsePolicy extends Policy {
-        // The policy that this EclipsePolicy is replacing
-        private Policy policy;
-
-        // The set of URLs to give AllPermissions to; this is the set of bootURLs
-        private URL[] urls;
-
-        // The AllPermissions collection
-        private PermissionCollection allPermissions;
-
-        // The AllPermission permission
-        private Permission allPermission = new AllPermission();
-
-        EclipsePolicy(Policy policy, URL[] urls) {
-            this.policy = policy;
-            this.urls = urls;
-            allPermissions = new PermissionCollection() {
-                private static final long serialVersionUID = 3258131349494708277L;
-
-                // A simple PermissionCollection that only has AllPermission
-                public void add(Permission permission) {
-                }
-
-                public boolean implies(Permission permission) {
-                    return true;
-                }
-
-                public Enumeration elements() {
-                    return new Enumeration() {
-                        int cur = 0;
-
-                        public boolean hasMoreElements() {
-                            return cur < 1;
-                        }
-
-                        public Object nextElement() {
-                            if (cur == 0) {
-                                cur = 1;
-                                return allPermission;
-                            } else
-                                throw new NoSuchElementException();
-                        }
-                    };
-                }
-            };
-        }
-
-        public PermissionCollection getPermissions(CodeSource codesource) {
-            if (contains(codesource.getLocation()))
-                return allPermissions;
-            return policy == null ? allPermissions : policy.getPermissions(codesource);
-        }
-
-        public PermissionCollection getPermissions(ProtectionDomain domain) {
-            if (contains(domain.getCodeSource().getLocation()))
-                return allPermissions;
-            return policy == null ? allPermissions : policy.getPermissions(domain);
-        }
-
-        public boolean implies(ProtectionDomain domain, Permission permission) {
-            if (contains(domain.getCodeSource().getLocation()))
-                return true;
-            return policy == null ? true : policy.implies(domain, permission);
-        }
-
-        public void refresh() {
-            if (policy != null)
-                policy.refresh();
-        }
-
-        private boolean contains(URL url) {
-            // Check to see if this URL is in our set of URLs to give AllPermissions to.
-            for (int i = 0; i < urls.length; i++) {
-                // We do simple equals test here because we assume the URLs will be the same objects.
-                if (urls[i] == url)
-                    return true;
-            }
-            return false;
-        }
-    }
-
-    private class StartupClassLoader extends URLClassLoader {
-
-        public StartupClassLoader(URL[] urls) {
-            super(urls);
-        }
-
-        public StartupClassLoader(URL[] urls, ClassLoader parent) {
-            super(urls, parent);
-        }
-
-        public StartupClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory) {
-            super(urls, parent, factory);
-        }
-
-        protected String findLibrary(String name) {
-            if (extensionPaths ==  null)
-                return super.findLibrary(name);
-            String libName = System.mapLibraryName(name);
-            for (int i = 0; i < extensionPaths.length; i++) {
-                File libFile = new File(extensionPaths[i], libName);
-                if (libFile.isFile())
-                    return libFile.getAbsolutePath();
-            }
-            return super.findLibrary(name);
-        }       
-    }
-}
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebStartMain.java b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebStartMain.java
deleted file mode 100644
index 9b347c6..0000000
--- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/WebStartMain.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * 
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.core.launcher;
-
-import java.io.IOException;
-import java.net.URL;
-import java.util.*;
-import java.util.jar.JarFile;
-
-/**
- * The launcher ot start eclipse using webstart.
- * To use this launcher, the client must accept to give all security permissions. 
- */
-//The bundles are discovered by finding all the jars on the classpath. Then they are added with their full path to the osgi.bundles list.
-public class WebStartMain extends Main {
-	private static final String PROP_WEBSTART_AUTOMATIC_INSTALLATION = "eclipse.webstart.automaticInstallation"; //$NON-NLS-1$
-	private static final String DEFAULT_OSGI_BUNDLES = "org.eclipse.core.runtime@2:start"; //$NON-NLS-1$
-	private static final String PROP_OSGI_BUNDLES = "osgi.bundles"; //$NON-NLS-1$
-
-	//List all the jars that are on the classpath
-	private String[] allJars = null;
-	//The list all the bundles that have been to the bundle list 
-	private Set onTheBundleList = new HashSet();
-
-	public static void main(String[] args) {
-		System.setSecurityManager(null);	 //Hack so that when the classloader loading the fwk is created we don't have funny permissions. This should be revisited. 
-		int result = new WebStartMain().run(args);
-		System.exit(result);
-	}
-
-	private void setDefaultBundles() {
-		if (System.getProperty(PROP_OSGI_BUNDLES) != null)
-			return;
-		System.getProperties().put(PROP_OSGI_BUNDLES, DEFAULT_OSGI_BUNDLES);
-	}
-
-	protected void basicRun(String[] args) throws Exception {
-		//Set the fwk location since the regular lookup would not find it
-		String fwkURL = searchFor(framework, null);
-		System.setProperty(PROP_FRAMEWORK, fwkURL);
-		onTheBundleList.add(fwkURL);
-		super.basicRun(args);
-	}
-
-	protected URL[] getBootPath(String base) throws IOException {
-		URL[] result = super.getBootPath(base);
-		setDefaultBundles();
-		convertBundleList();
-		addAllBundlesToBundleList();
-		cleanup();
-		return result;
-	}
-
-	/*
-	 * Null out all the fields containing data 
-	 */
-	private void cleanup() {
-		allJars = null;
-		onTheBundleList = null;
-	}
-
-	protected String searchFor(final String target, String start) {
-        //The searching can be improved 
-		String[] jars = getAllJars();
-		ArrayList selected = new ArrayList(3);
-		for (int i = 0; i < jars.length; i++) {
-			if (jars[i].indexOf(target) != -1)
-				selected.add(jars[i]);
-		}
-		if (selected.size() == 0)
-			return null;
-
-		String[] selectedJars = new String[selected.size()];
-		for (int i = 0; i < selected.size(); i++) {
-			selectedJars[i] = extractFileName((String) selected.get(i));
-		}
-		if (debug)
-			System.out.println(extractInnerURL((String) selected.get(findMax(selectedJars))));
-		return extractInnerURL((String) selected.get(findMax(selectedJars)));
-	}
-
-	/*
-	 * Extract the file name of the url - given that a file name
-	 */
-	private String extractFileName(String url) {
-		String innerURL = extractInnerURL(url);
-		return innerURL.substring(innerURL.lastIndexOf("/") + 1);
-	}
-
-	/* 
-	 * Find all the jars available on the webstart classpath
-	 */
-	private String[] getAllJars() {
-		if (allJars != null)
-			return allJars;
-
-		ArrayList collector = new ArrayList();
-		try {
-			Enumeration resources = WebStartMain.class.getClassLoader().getResources(JarFile.MANIFEST_NAME);
-			while (resources.hasMoreElements()) {
-				collector.add(((URL) resources.nextElement()).toExternalForm());
-			}
-		} catch (IOException e) {
-			e.printStackTrace();
-		}
-		allJars = new String[collector.size()];
-		collector.toArray(allJars);
-		if (debug)
-			printArray("Jars found on the webstart path:\n", allJars); //$NON-//$NON-NLS-1$
-
-		return allJars;
-	}
-
-	private String extractInnerURL(String url) {
-		if (url.startsWith(JAR_SCHEME)) {
-			url = url.substring(url.indexOf(JAR_SCHEME) + 4);
-		}
-		int lastBang = url.lastIndexOf('!');
-		if (lastBang != -1) {
-			url = url.substring(0, lastBang);
-		}
-		return decode(url);
-	}
-
-	/*
-	 * convert the values on the osgi bundle list from: name@... to <bundleurl>@...
-	 */
-	private void convertBundleList() {
-		final char SEPARATOR = '@';
-
-		if (debug)
-			System.out.println("Osgi bundles before conversion:\n" + System.getProperty(PROP_OSGI_BUNDLES)); //$NON-NLS-1$
-
-		String[] bundles = getArrayFromList(System.getProperty(PROP_OSGI_BUNDLES));
-		String result = "";
-		for (int i = 0; i < bundles.length; i++) {
-			//a entry in the bundle list is made of two parts: the bundle to install followed by an optional info. The separator for those is @
-			String bundle = bundles[i];
-			int positionExtraInfo = bundle.indexOf(SEPARATOR);
-			String bundleName = null;
-			if (positionExtraInfo == -1)
-				bundleName = bundle;
-			else
-				bundleName = bundle.substring(0, positionExtraInfo);
-
-			String bundleURL = searchFor(bundleName, null);
-			if (bundleURL == null) {
-				if (debug)
-					System.out.println("Could not find " + bundleName); //$NON-NLS-1$
-				continue;
-			}
-			onTheBundleList.add(bundleURL);
-			bundleURL = REFERENCE_SCHEME + bundleURL;
-			result += bundleURL;
-			if (positionExtraInfo != -1)
-				result += bundle.substring(positionExtraInfo);
-			result += ',';
-		}
-		System.setProperty(PROP_OSGI_BUNDLES, result);
-	}
-
-	/*
-	 * Add to the bundle list all the jars found the webstart classpath
-	 */
-    //This code can be improved
-	private void addAllBundlesToBundleList() {
-		if ("false".equalsIgnoreCase(System.getProperties().getProperty(PROP_WEBSTART_AUTOMATIC_INSTALLATION))) //$NON-NLS-1$
-			return;
-
-		String[] jarsOnClasspath = getAllJars();
-		String[] result = new String[jarsOnClasspath.length];
-		for (int i = 0; i < jarsOnClasspath.length; i++) {
-			onTheBundleList.contains(jarsOnClasspath[i]);
-			result[i] = REFERENCE_SCHEME + extractInnerURL(jarsOnClasspath[i]);
-		}
-		System.setProperty(PROP_OSGI_BUNDLES, System.getProperty(PROP_OSGI_BUNDLES) + arrayToString(result, ','));
-
-		if (debug)
-			printArray("Bundles list:\n", result);
-	}
-
-	private void printArray(String header, String[] values) {
-		System.out.println(header); //$NON-NLS-1$
-		for (int i = 0; i < values.length; i++) {
-			System.out.println("\t" + values[i]); //$NON-NLS-1$
-		}
-	}
-
-	private String arrayToString(String[] array, char separator) {
-		StringBuffer result = new StringBuffer();
-		for (int i = 0; i < array.length - 1; i++) {
-			result.append(array[i]).append(separator);
-		}
-		result.append(array[array.length - 1]);
-		return new String(result);
-	}
-
-}
diff --git a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html b/platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html
deleted file mode 100644
index ca2e7ce..0000000
--- a/platform/org.eclipse.platform/src/org/eclipse/core/launcher/package.html
+++ /dev/null
@@ -1,18 +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>
-Launches the Eclipse Platform.
-<h2>
-Package Specification</h2>
-
-This package is the main entry point to the Eclipse Platform.  To start the platform invoke the Main
-class in this package.
-<br>&nbsp;
-</body>
-</html>
diff --git a/platform/org.eclipse.platform/welcome.xml b/platform/org.eclipse.platform/welcome.xml
deleted file mode 100644
index 26eb707..0000000
--- a/platform/org.eclipse.platform/welcome.xml
+++ /dev/null
@@ -1,51 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?> 
-<welcomePage 
-	title="Eclipse Platform"
-	format="nowrap">
-	<intro>This page will help familiarize you with the Eclipse Workbench.
-To get started, read the sections below and click on the related links. </intro>
-
-<item><b>Installed Features </b>
-To find out more about the features installed in your workbench, choose <action pluginId="org.eclipse.ui.ide"  class="org.eclipse.ui.actions.QuickStartAction">Help > Welcome...</action>
-and select the feature you are interested in.</item>
-
-<item><b>Perspectives, views and editors </b>
-A window contains one or more perspectives. A perspective consists of views (e.g. Navigator) 
-and editors for working with your resources.
-
-The shortcut bar at the far left of the window allows you to open new perspectives and move
-between perspectives that are already open. The perspective you are currently working with 
-is shown in the title of the window and in the shortcut bar as a pushed-in icon.</item>
-
-<item><b>Configuring your perspectives</b>
-You can move views and editors around the workbench by dragging their titlebars. You can
-also add more views to your current perspective by using Window > Show View. 
-To reset the perspective to its original state, choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.ResetPerspectiveAction">Window > Reset Perspective</action>. 
-
-Once you have arranged your perspective, you can save it using Window > Save Perspective As.... 
-You can customize the views, perspectives and New menu operations that show up for 
-your perspective. To do this choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.EditActionSetsAction">Window > Customize Perspective...</action> .  A view can
-additionally be converted into a Fast View by dragging it to the shortcut bar (at the 
-far left of the window). </item> 
-
-<item><b>Join a CVS team</b>
-To join a CVS development team, open the <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.actions.ShowCVSPerspectiveAction">CVS Repository Exploring perspective</action>. Next, specify
-the location of your CVS repository. To do this, choose <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.repo.NewCVSRepositoryAction">New > Repository Location...</action> from the
-CVS Repositories view popup menu. When the location wizard opens, fill in the details of your
-CVS repository and click Finish. 
-
-A repository location will appear in the CVS Repositories view. Expand the location, then expand
-the HEAD branch. You will see a list of the modules in that repository. Select a module and choose 
-<b>Checkout as Project</b> from the context menu. This will checkout the module from the CVS 
-repository and create a project by that name in your workspace.</item>
-
-<item><b>Running an Ant Buildfile</b>
-To run an Ant buildfile, click on Run > External Tools > External Tools.... Select Ant Build as the launch
-configuration type and click New. Identify the buildfile in the Location field and then click Run.</item>
-
-<item><b>Learn more </b>
-To learn more you can browse the <topic id="/org.eclipse.platform.doc.user/toc.xml">Workbench User Guide</topic>. Browse the <topic href="/org.eclipse.platform.doc.user/reference/ref-anticons.htm">External Tools and Ant Icons</topic>
-section to recognize the various External Tools and Ant elements. </item>
-
-
-</welcomePage>
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/.project b/platform/org.eclipse.sdk/.project
deleted file mode 100644
index 2e498c2..0000000
--- a/platform/org.eclipse.sdk/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.sdk</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/platform/org.eclipse.sdk/META-INF/MANIFEST.MF b/platform/org.eclipse.sdk/META-INF/MANIFEST.MF
deleted file mode 100644
index 09c5857..0000000
--- a/platform/org.eclipse.sdk/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.sdk; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Require-Bundle: org.eclipse.ui,
- org.eclipse.help.ui,
- org.eclipse.help.base
-Eclipse-AutoStart: true
diff --git a/platform/org.eclipse.sdk/about.html b/platform/org.eclipse.sdk/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/platform/org.eclipse.sdk/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/about.ini b/platform/org.eclipse.sdk/about.ini
deleted file mode 100644
index eaaa6fb..0000000
--- a/platform/org.eclipse.sdk/about.ini
+++ /dev/null
@@ -1,31 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "windowImage" contains path to window icon (16x16)
-# needed for primary features only
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=eclipse32.gif
-
-# Property "aboutImage" contains path to product image (500x330 or 115x164)
-# needed for primary features only
-
-# Property "appName" contains name of the application (translated)
-# needed for primary features only
-
-# Property "welcomePage" contains path to welcome page (special XML-based format)
-# optional
-
-# Property "welcomePerspective" contains the id of the perspective in which the
-# welcome page is to be opened.
-# optional
-
-
-
-
diff --git a/platform/org.eclipse.sdk/about.mappings b/platform/org.eclipse.sdk/about.mappings
deleted file mode 100644
index bddaab4..0000000
--- a/platform/org.eclipse.sdk/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
\ No newline at end of file
diff --git a/platform/org.eclipse.sdk/about.properties b/platform/org.eclipse.sdk/about.properties
deleted file mode 100644
index af5eb08..0000000
--- a/platform/org.eclipse.sdk/about.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-
-blurb=Eclipse Project SDK\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright Eclipse contributors and others 2000, 2004.  All rights reserved.\n\
-Visit http://www.eclipse.org/eclipse
-
diff --git a/platform/org.eclipse.sdk/build.properties b/platform/org.eclipse.sdk/build.properties
deleted file mode 100644
index 6b61713..0000000
--- a/platform/org.eclipse.sdk/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = about.html,\
-               about.ini,\
-               about.mappings,\
-               about.properties,\
-               eclipse32.gif,\
-               plugin.xml,\
-               plugin.properties,\
-               META-INF/
diff --git a/platform/org.eclipse.sdk/eclipse32.gif b/platform/org.eclipse.sdk/eclipse32.gif
deleted file mode 100644
index f71a8f6..0000000
--- a/platform/org.eclipse.sdk/eclipse32.gif
+++ /dev/null
Binary files differ
diff --git a/platform/org.eclipse.sdk/plugin.properties b/platform/org.eclipse.sdk/plugin.properties
deleted file mode 100644
index ab8fe41..0000000
--- a/platform/org.eclipse.sdk/plugin.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-# 
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName=Eclipse Project SDK
-providerName=Eclipse.org
-
-activity.java=Java Development
-activity.java.desc=Develop Java applications.
-activity.plugin=Plug-in Development
-activity.plugin.desc=Develop plug-ins, fragments, and features for Eclipse.
-
-activity.team.cvs=CVS Support
-activity.team.cvs.desc=Use the Concurrent Versions System (CVS) to manage resources.
-activity.team=Core Team Support
-activity.team.desc=Share projects using configuration management systems.
-
-activity.cat.development=Development
-activity.cat.development.desc=Use the Eclipse SDK to develop applications.
-activity.cat.team=Team
-activity.cat.team.desc=Use configuration management systems to manage resources.
-
-PreferencePages.Capabilities = Capabilities
-PreferencePages.Capabilities.activityName = &Capabilities
-PreferencePages.Capabilities.categoryName = &Capabilities
-PreferencePages.Capabilities.activityPromptButton = &Prompt when enabling capabilities
-PreferencePages.Capabilities.activityPromptButtonTooltip = Prompt when a feature is first used that requires enablement of capabilities
-PreferencePages.Capabilities.captionMessage = Capabilities allow you to enable or disable various product components.  These capabilities are grouped according to a set of predefined categories.
-
-helpActivitySupport.showAllMessage = When you choose to show all topics in the table of contents, \
-the headings for documentation about any disabled capabilities are also shown \
-in the table of contents and search results. This documentation may refer \
-to user interface elements that are not visible. To \
-manually enable capabilities, use the "Capabilities" \
-preference page.<br><br>Proceed?
-helpActivitySupport.documentMessage = This topic belongs to a capability that \
-is currently disabled. It may refer to user interface elements that are \
-not visible.<br><br>\
-To manually enable capabilities, use\
-&nbsp;<a href='ACTIVITY_EDITOR'>Capabilities preference page.</a>
-
-TriggerPointAdvisor.proceedMulti = Enable the selected capabilities?
-TriggerPointAdvisor.proceedSingle = Enable the required capability?
-TriggerPointAdvisor.dontAsk = &Always enable capabilities and don't ask me again
-TriggerPointAdvisor.noDetails = Select a capability to view its description.
-
-search.Google.label = Google
-search.Google.desc = Performs a Google web search
-
-search.Eclipse.label = Eclipse.org 
-search.Eclipse.desc = Searches mailing lists, news groups, articles and other documents on Eclipse.org
-
diff --git a/platform/org.eclipse.sdk/plugin.xml b/platform/org.eclipse.sdk/plugin.xml
deleted file mode 100644
index 6366837..0000000
--- a/platform/org.eclipse.sdk/plugin.xml
+++ /dev/null
@@ -1,245 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    <extension
-         point="org.eclipse.ui.activities">
-  
-      <activity
-            name="%activity.java"
-            description="%activity.java.desc"
-            id="org.eclipse.javaDevelopment">
-      </activity>
-      
-      <activity
-            name="%activity.plugin"
-            description="%activity.plugin.desc"
-            id="org.eclipse.plugInDevelopment">
-      </activity>
-      
-      <activityRequirementBinding
-            activityId="org.eclipse.plugInDevelopment"
-            requiredActivityId="org.eclipse.javaDevelopment">
-      </activityRequirementBinding>
-  
-      <activity
-            name="%activity.team.cvs"
-            description="%activity.team.cvs.desc"
-            id="org.eclipse.team.cvs">
-      </activity> 
-      
-      <activity
-            name="%activity.team"
-            description="%activity.team.desc"
-            id="org.eclipse.team">
-      </activity> 
-      
-      <activityRequirementBinding
-            activityId="org.eclipse.team.cvs"
-            requiredActivityId="org.eclipse.team">
-      </activityRequirementBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt\.debug/debugModel">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt\..*/.*">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt/.*">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.javaDevelopment"
-            pattern="org\.eclipse\.jdt\.core/javanature">
-
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.plugInDevelopment"
-            pattern="org\.eclipse\.pde\..*/.*">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.plugInDevelopment"
-            pattern="org\.eclipse\.pde/.*">
-      </activityPatternBinding>
-      
-      <activityPatternBinding
-            activityId="org.eclipse.plugInDevelopment"
-            pattern="org\.eclipse\.pde/PluginNature">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.team"
-            pattern="org\.eclipse\.team\.ui/org.*">
-      </activityPatternBinding> 
-      <activityPatternBinding
-            activityId="org.eclipse.team"
-            pattern="org\.eclipse\.compare/compareWithPatch">
-      </activityPatternBinding>           
-      <activityPatternBinding
-            activityId="org.eclipse.team.cvs"
-            pattern="org\.eclipse\.team\.cvs\.ui/.*">
-      </activityPatternBinding>
-      <activityPatternBinding
-            activityId="org.eclipse.team.cvs"
-            pattern="org\.eclipse\.team\.cvs\.core/.*cvsnature">
-      </activityPatternBinding>
-      
-      <category
-            name="%activity.cat.development"
-            description="%activity.cat.development.desc"
-            id="org.eclipse.categories.developmentCategory">
-      </category>
-
- 	  <category
-            name="%activity.cat.team"
-            description="%activity.cat.team.desc"
-            id="org.eclipse.categories.teamCategory">
-
-      </category>
-      
-      <categoryActivityBinding
-            activityId="org.eclipse.javaDevelopment"
-            categoryId="org.eclipse.categories.developmentCategory">
-      </categoryActivityBinding>
-      
-      <categoryActivityBinding
-            activityId="org.eclipse.plugInDevelopment"
-            categoryId="org.eclipse.categories.developmentCategory">
-      </categoryActivityBinding>
-
-      <categoryActivityBinding
-            activityId="org.eclipse.team"
-            categoryId="org.eclipse.categories.teamCategory">
-      </categoryActivityBinding>        
-      
-      <categoryActivityBinding
-            activityId="org.eclipse.team.cvs"
-            categoryId="org.eclipse.categories.teamCategory">
-      </categoryActivityBinding>
-  
-      <!-- bind all elements that start with "org" -->      
-       
-      <defaultEnablement
-            id="org.eclipse.javaDevelopment">
-      </defaultEnablement>
-      
-      <defaultEnablement
-            id="org.eclipse.plugInDevelopment">
-      </defaultEnablement>
-      
-      <defaultEnablement
-            id="org.eclipse.team">
-      </defaultEnablement>     
-      
-      <defaultEnablement
-            id="org.eclipse.team.cvs">
-      </defaultEnablement>
-   </extension>
-   
-   <extension
-         point="org.eclipse.ui.newWizards">
-      <primaryWizard
-            id="org.eclipse.jdt.ui.wizards.JavaProjectWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.pde.ui.NewProjectWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.jdt.ui.wizards.NewClassCreationWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.jdt.ui.wizards.NewInterfaceCreationWizard">
-      </primaryWizard>
-      <primaryWizard
-            id="org.eclipse.pde.ui.NewProductConfigurationWizard">
-      </primaryWizard>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-	  <page            
-            category="org.eclipse.ui.preferencePages.Workbench"
-            name="%PreferencePages.Capabilities"
-            id="org.eclipse.sdk.capabilities">
-            <class class="org.eclipse.ui.activities.ActivityCategoryPreferencePage">
-                <parameter name="allowAdvanced" value="true"/>
-                <parameter name="captionMessage" value="%PreferencePages.Capabilities.captionMessage" />
-            	<parameter name="activityName" value="%PreferencePages.Capabilities.activityName" />
-                <parameter name="categoryName" value="%PreferencePages.Capabilities.categoryName" />
-            	<parameter name="activityPromptButton" value="%PreferencePages.Capabilities.activityPromptButton"/>
-            	<parameter name="activityPromptButtonTooltip" value="%PreferencePages.Capabilities.activityPromptButtonTooltip"/>
-            </class>
-      </page>   
-   </extension>
-   
-   <extension
-   		point="org.eclipse.help.base.activitySupport">
-      <support productId="org.eclipse.platform.ide">
-         <showAllMessage>
-            %helpActivitySupport.showAllMessage
-         </showAllMessage>
-         <documentMessage
-               class="org.eclipse.help.ui.internal.ShowCapabilitiesPreferenceAction"
-               pluginId="org.eclipse.help.ui">
-            %helpActivitySupport.documentMessage
-         </documentMessage>
-      </support>
-   </extension>
-   
-      <extension
-            point="org.eclipse.ui.activitySupport">
-      <triggerPointAdvisor
-            id="org.eclipse.ui.ide.triggerPointAdvisor">
-            <class class="org.eclipse.ui.activities.WorkbenchTriggerPointAdvisor">
-            	<parameter name="proceedMulti" value="%TriggerPointAdvisor.proceedMulti" />
-            	<parameter name="proceedSingle" value="%TriggerPointAdvisor.proceedSingle" />
-            	<parameter name="dontAsk" value="%TriggerPointAdvisor.dontAsk" />
-            	<parameter name="noDetails" value="%TriggerPointAdvisor.noDetails" />
-            </class>
-      </triggerPointAdvisor>
-   </extension>   
-   
-   <extension
-         point="org.eclipse.ui.activitySupport">
-      <triggerPointAdvisorProductBinding
-            productId="org.eclipse.platform.ide"
-            triggerPointAdvisorId="org.eclipse.ui.ide.triggerPointAdvisor"/>
-   </extension>
-   
-   <extension
-         point="org.eclipse.help.ui.searchEngine">
-      <engine
-            enabled="true"
-            engineTypeId="org.eclipse.help.ui.web"
-            id="org.eclipse.sdk.Google"
-            label="%search.Google.label">
-      		<description>
-	      		%search.Google.desc
-      		</description>
-      		<param 
-      			name="url" 
-      			value="http://www.google.com/search?hl=en&amp;q={expression}&amp;btnG=Google+Search&amp;meta=">
-      		</param>
-      </engine>
-      <engine
-            enabled="true"
-            engineTypeId="org.eclipse.help.ui.web"
-            id="org.eclipse.sdk.Eclipse"
-            label="%search.Eclipse.label">
-      		<description>
-	      		%search.Eclipse.desc
-      		</description>
-      		<param 
-      			name="url" 
-      			value="http://eclipse.org/search/search.cgi?q={expression}&amp;ul=&amp;ps=20&amp;m=all">
-      		</param>
-      </engine>
-    </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.configurator/.classpath b/update/org.eclipse.update.configurator/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.configurator/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.configurator/.cvsignore b/update/org.eclipse.update.configurator/.cvsignore
deleted file mode 100644
index 60463af..0000000
--- a/update/org.eclipse.update.configurator/.cvsignore
+++ /dev/null
@@ -1,2 +0,0 @@
-bin
-build.xml
diff --git a/update/org.eclipse.update.configurator/.options b/update/org.eclipse.update.configurator/.options
deleted file mode 100644
index a2c714f..0000000
--- a/update/org.eclipse.update.configurator/.options
+++ /dev/null
@@ -1,5 +0,0 @@
-# Debugging options for the org.eclipse.update.configurator plugin
-
-# Turn on general debugging for the plugin.
-org.eclipse.update.configurator/debug=false
-
diff --git a/update/org.eclipse.update.configurator/.project b/update/org.eclipse.update.configurator/.project
deleted file mode 100644
index 0f091b2..0000000
--- a/update/org.eclipse.update.configurator/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.update.configurator</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.osgi</project>
-		<project>org.eclipse.osgi.util</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/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF b/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF
deleted file mode 100644
index 9b1aa5c..0000000
--- a/update/org.eclipse.update.configurator/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,13 +0,0 @@
-Manifest-Version: 1.0

-Bundle-ManifestVersion: 2

-Bundle-Name: %pluginName

-Bundle-SymbolicName: org.eclipse.update.configurator; singleton:=true

-Bundle-Version: 3.1.0

-Bundle-Activator: org.eclipse.update.internal.configurator.ConfigurationActivator

-Bundle-Vendor: %providerName

-Bundle-Localization: plugin

-Export-Package: org.eclipse.update.configurator,

- org.eclipse.update.internal.configurator;x-friends:="org.eclipse.update.core",

- org.eclipse.update.internal.configurator.branding;x-friends:="org.eclipse.update.core"

-Require-Bundle: org.eclipse.core.runtime

-Eclipse-AutoStart: true

diff --git a/update/org.eclipse.update.configurator/about.html b/update/org.eclipse.update.configurator/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/update/org.eclipse.update.configurator/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/build.properties b/update/org.eclipse.update.configurator/build.properties
deleted file mode 100644
index cb49fce..0000000
--- a/update/org.eclipse.update.configurator/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = .options,\
-               about.html,\
-               plugin.properties,\
-               plugin.xml,\
-               .,\
-               META-INF/,\
-               config.ini,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/update/org.eclipse.update.configurator/plugin.properties b/update/org.eclipse.update.configurator/plugin.properties
deleted file mode 100644
index 1d91778..0000000
--- a/update/org.eclipse.update.configurator/plugin.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-pluginName= Install/Update Configurator
-providerName= Eclipse.org
-productProviderName= Update Configurator Product Provider
-
diff --git a/update/org.eclipse.update.configurator/plugin.xml b/update/org.eclipse.update.configurator/plugin.xml
deleted file mode 100644
index 0e67546..0000000
--- a/update/org.eclipse.update.configurator/plugin.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-     <extension
-         id="updateConfiguratorProductProvider"
-         name="%productProviderName"
-         point="org.eclipse.core.runtime.products">
-      <provider> 
-         <run class="org.eclipse.update.internal.configurator.ProductProvider"/> 
-      </provider> 
-         
-   </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java
deleted file mode 100644
index 35ac3c4..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/ConfiguratorUtils.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.configurator;
-
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.update.internal.configurator.ConfigurationActivator;
-import org.eclipse.update.internal.configurator.Utils;
-import org.osgi.framework.*;
-
-/**
- * Helper class to get platform configuration data without having to
- * use BootLoader methods from the compatibility layer.
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * @since 3.0
- */
-public class ConfiguratorUtils {
-	/**
-	 * Returns the current platform configuration. This method replaces the one we used
-	 * to call on BootLoader.
-	 * 
-	 * @return platform configuration used in current instance of platform
-	 * @since 3.0
-	 */
-	public static IPlatformConfiguration getCurrentPlatformConfiguration() {
-		// acquire factory service first
-		BundleContext context = ConfigurationActivator.getBundleContext();
-		ServiceReference configFactorySR = context.getServiceReference(IPlatformConfigurationFactory.class.getName());
-		if (configFactorySR == null)
-			throw new IllegalStateException();
-		IPlatformConfigurationFactory configFactory = (IPlatformConfigurationFactory) context.getService(configFactorySR);
-		if (configFactory == null)
-			throw new IllegalStateException();
-		// get the configuration using the factory
-		IPlatformConfiguration currentConfig = configFactory.getCurrentPlatformConfiguration();
-		context.ungetService(configFactorySR);
-		return currentConfig;
-	}
-	
-	/**
-	 * Returns a platform configuration object, optionally initialized with previously saved
-	 * configuration information. We will use this method instead of the old one in BootLoader.
-	 * 
-	 * @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
-	 */
-	public static IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
-		// acquire factory service first
-		BundleContext context = ConfigurationActivator.getBundleContext();
-		ServiceReference configFactorySR = context.getServiceReference(IPlatformConfigurationFactory.class.getName());
-		if (configFactorySR == null)
-			throw new IllegalStateException();
-		IPlatformConfigurationFactory configFactory = (IPlatformConfigurationFactory) context.getService(configFactorySR);
-		if (configFactory == null)
-			throw new IllegalStateException();
-		// get the configuration using the factory
-		IPlatformConfiguration config = configFactory.getPlatformConfiguration(url);
-		context.ungetService(configFactorySR);
-		return config;
-	}
-	
-	/**
-	 * @return the URL of this eclispe installation
-	 */
-	public static URL getInstallURL() {
-		return Utils.getInstallURL();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java
deleted file mode 100644
index a2aff79..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfiguration.java
+++ /dev/null
@@ -1,590 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.configurator;
-
-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.
- * <p>
- * Do not provide implementations of this interface or its nested interfaces. Use the factory methods 
- * on IPlatformConfigurationFactory to create a IPlatformConfiguration, then use the factory methods
- * on the IPlatformConfiguration to create instances of ISiteEntry,IFeatureEntry and ISitePolicy.
- * </p>
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- * @since 3.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
-		 * @deprecated Do not use this method
-		 */
-		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
-		 * @deprecated Do not use this method
-		 */
-		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;
-		
-		/**
-		 * When this site policy is used, only plug-ins specified by the configured features
-		 * are contributed to the runtime.
-		 * @since 3.1
-		 */
-		public static final int MANAGED_ONLY = 2;
-
-		/**
-		 * 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 root 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 root 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  replace 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
-	 * @deprecated Do not use this method.
-	 */
-	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
-	 * @deprecated Do not use this method
-	 */
-	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
-	 * @deprecated Do not use this method. Check the osgi.bundles system property for the
-	 * urls of the automatically started bundles
-	 */
-	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
-	 * @deprecated Do not use this method. Use the osig.bundles system property contains
-	 * the urls of the automatically started bundles.
-	 */
-	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.
-	 * 
-	 * @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/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java
deleted file mode 100644
index c014bc5..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/IPlatformConfigurationFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * Factory for creating platform configurations.
- * <p>
- * <b>Note:</b> This class/interface is part of an interim API that is still under development and expected to
- * change significantly before reaching stability. It is being made available at this early stage to solicit feedback
- * from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
- * (repeatedly) as the API evolves.
- * </p>
- */
-public interface IPlatformConfigurationFactory {
-	/**
-	 * Returns the current platform configuration.
-	 * 
-	 * @return platform configuration used in current instance of platform
-	 */	
-	public IPlatformConfiguration getCurrentPlatformConfiguration();
-	/**
-	 * 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
-	 */	
-	public IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException;
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html b/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/package.html
deleted file mode 100644
index fa0f9f6..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/configurator/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.72 [en] (Windows NT 5.0; U) [Netscape]">
-   <title>Package-level Javadoc</title>
-</head>
-<body>
-Provides support for accessing platform configuration data.
-<h2>
-Package Specification</h2>
-This package contains interfaces for accessing and manipulating the local
-system installation and configuration information. 
-<p>
-<b>Note:</b> This package is part of an interim API that is still under development and expected to
-change significantly before reaching stability. It is being made available at this early stage to solicit feedback
-from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken
-(repeatedly) as the API evolves.
-</p>
-</body>
-</html>
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java
deleted file mode 100644
index 55c2d56..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BootDescriptor.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.net.*;
-
-
-public 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;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java
deleted file mode 100644
index bf07ec8..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/BundleManifest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-import java.io.*;
-import java.util.jar.*;
-
-import org.eclipse.osgi.util.*;
-import org.osgi.framework.*;
-/**
- * Parses MANIFEST.MF
- */
-public class BundleManifest implements IConfigurationConstants {
-	private File manifestFile;
-	private PluginEntry pluginEntry;
-	private IOException exception;
-	private String bundleURL;
-	/**
-	 * Constructor for local file
-	 */
-	public BundleManifest(File manifest) {
-		super();
-		manifestFile = manifest;
-		if (manifest.exists() && !manifest.isDirectory()) {
-			FileInputStream fos = null;
-			try {
-				fos = new FileInputStream(manifest);
-				parse(fos);
-			} catch (IOException ioe) {
-			} finally {
-				if (fos != null) {
-					try {
-						fos.close();
-					} catch (IOException e) {
-					}
-				}
-			}
-		}
-	}
-		/**
-		 * Constructor for local file
-		 */
-		public BundleManifest(InputStream input, String bundleUrl) {
-			super();
-			bundleURL = bundleUrl;
-			if (input != null) {
-				parse(input);
-			}
-		}
-	/**
-	 * Parses manifest, creates PluginEntry if manifest is valid, stores
-	 * exception if any occurs
-	 * 
-	 * @param in
-	 *            InputStream
-	 */
-	private void parse(InputStream in) {
-		try {
-			Manifest m = new Manifest(in);
-			Attributes a = m.getMainAttributes();
-			// plugin id
-			String symbolicName = a.getValue(Constants.BUNDLE_SYMBOLICNAME);
-			if (symbolicName == null) {
-				// In Eclipse manifest must have Bundle-SymbolicName attribute
-				return;
-			}
-			String id;
-			try {
-				ManifestElement[] elements = ManifestElement.parseHeader(
-						Constants.BUNDLE_SYMBOLICNAME, symbolicName);
-				id = elements[0].getValue();
-			} catch (BundleException be) {
-				throw new IOException(be.getMessage());
-			}
-			// plugin version
-			String version = a.getValue(Constants.BUNDLE_VERSION);
-			if (version == null) {
-				Utils.log(NLS.bind(Messages.BundleManifest_noVersion, (new String[] { Constants.BUNDLE_VERSION, id })));
-				return;
-			}
-			String hostPlugin = a.getValue(Constants.FRAGMENT_HOST);
-			pluginEntry = new PluginEntry();
-			pluginEntry.setVersionedIdentifier(new VersionedIdentifier(id,
-					version));
-			pluginEntry.isFragment(hostPlugin != null
-					&& hostPlugin.length() > 0);
-			// Set URL
-			if(bundleURL!=null){
-				pluginEntry.setURL(bundleURL);
-			}else{
-				File pluginDir = manifestFile.getParentFile();
-				if (pluginDir != null) {
-					pluginDir = pluginDir.getParentFile();
-				}
-				if (pluginDir != null){
-					pluginEntry.setURL(PLUGINS + "/" + pluginDir.getName() + "/"); //$NON-NLS-1$ //$NON-NLS-2$
-				}
-			}
-			//
-		} catch (IOException ioe) {
-			exception = ioe;
-		}
-	}
-	public boolean exists() {
-		return exception != null || pluginEntry != null;
-	}
-	/**
-	 * Obtains PluginEntry from a manifest.
-	 * 
-	 * @return PluginEntry or null if valid manifest does not exist
-	 * @throws IOException
-	 *             if exception during parsing
-	 */
-	public PluginEntry getPluginEntry() throws IOException {
-		if (exception != null) {
-			throw exception;
-		} else {
-			return pluginEntry;
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
deleted file mode 100644
index f8b85a9..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Configuration.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-import org.w3c.dom.*;
-
-
-public class Configuration implements IConfigurationConstants {
-	
-	private HashMap sites = new HashMap();
-	private Date date;
-	private long lastModified; // needed to account for file system limitations
-	private URL url;
-	private boolean transientConfig;
-	private boolean isDirty;
-	private Configuration linkedConfig; // shared configuration
-	
-	public Configuration() {
-		this(new Date());
-		// the config is created now or out of a platform.xml without a date
-		isDirty = true;
-	}
-	public Configuration(Date date)  {
-		this.date = date;
-	}
-	
-	public void setURL(URL url) {
-		this.url = url;
-	}
-	
-	public URL getURL() {
-		return url;
-	}
-	
-	public void setLinkedConfig(Configuration linkedConfig) {
-		this.linkedConfig = linkedConfig;
-		// make all the sites read-only
-		SiteEntry[] linkedSites = linkedConfig.getSites();
-		for (int i=0; i<linkedSites.length; i++)
-			linkedSites[i].setUpdateable(false);
-	}
-	
-	public Configuration getLinkedConfig() {
-		return linkedConfig;
-	}
-	
-	/**
-	 * @return true if the config needs to be saved
-	 */
-	public boolean isDirty() {
-		return isDirty;
-	}
-	
-	public void setDirty(boolean dirty) {
-		isDirty = dirty;
-	}
-	
-	public void addSiteEntry(String url, SiteEntry site) {
-		// only add the same site once
-		if (sites.get(url) == null && (linkedConfig == null || linkedConfig.sites.get(url) == null)) {
-			site.setConfig(this);
-			sites.put(url, site);
-		}
-	}
-	
-	public void removeSiteEntry(String url) {
-		sites.remove(url);
-	}
-	
-	public SiteEntry getSiteEntry(String url) {
-		SiteEntry site = (SiteEntry)sites.get(url);
-		if (site == null && linkedConfig != null)
-			site = linkedConfig.getSiteEntry(url);
-		return site;
-	}
-	
-	public SiteEntry[] getSites() {
-		if (linkedConfig == null)
-			return (SiteEntry[]) sites.values().toArray(new SiteEntry[sites.size()]);
-		else {
-			ArrayList combinedSites = new ArrayList(sites.values());
-			combinedSites.addAll(linkedConfig.sites.values());
-			return (SiteEntry[]) combinedSites.toArray(new SiteEntry[combinedSites.size()]);
-		}
-	}
-	
-	public Element toXML(Document doc) throws CoreException {	
-		try {
-			Element configElement = doc.createElement(CFG);
-
-			configElement.setAttribute(CFG_VERSION, VERSION);
-			configElement.setAttribute(CFG_DATE, String.valueOf(date.getTime()));
-			String transitory = isTransient() ? "true" : "false"; //$NON-NLS-1$ //$NON-NLS-2$
-			configElement.setAttribute(CFG_TRANSIENT, transitory);
-						
-			if (linkedConfig != null) {
-				// make externalized URL install relative 
-				configElement.setAttribute(CFG_SHARED_URL, Utils.makeRelative(Utils.getInstallURL(), linkedConfig.getURL()).toExternalForm());
-			}
-
-			// collect site entries
-			SiteEntry[] list = (SiteEntry[]) sites.values().toArray(new SiteEntry[0]);
-			for (int i = 0; i < list.length; i++) {
-				if (linkedConfig != null && linkedConfig.getSiteEntry(list[i].getURL().toExternalForm()) != null)
-					continue;
-				Element siteElement = list[i].toXML(doc);
-				configElement.appendChild(siteElement);
-			}
-			
-			return configElement;
-			
-		} catch (Exception e) {
-			throw Utils.newCoreException("", e); //$NON-NLS-1$
-		} 
-	}
-	
-	public boolean isTransient() {
-		return transientConfig;
-	}
-	
-	public void setTransient(boolean isTransient) {
-		this.transientConfig = isTransient;
-	}
-	
-	public Date getDate() {
-		return date;
-	}
-	
-	public void setDate(Date date) {
-		this.date = date;
-	}
-	
-	public boolean unconfigureFeatureEntry(IPlatformConfiguration.IFeatureEntry feature) {
-		SiteEntry[] sites = getSites();
-		for (int i=0; i<sites.length; i++)
-			if (sites[i].unconfigureFeatureEntry(feature))
-				return true;
-		return false;
-	}
-	
-	public void setLastModified(long lastModified) {
-		this.lastModified = lastModified;
-	}
-	
-	public long lastModified() {
-		if (lastModified != 0)
-			return lastModified;
-		else
-			return date.getTime();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java
deleted file mode 100644
index a4fbaf6..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationActivator.java
+++ /dev/null
@@ -1,468 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.framework.log.*;
-import org.eclipse.osgi.service.datalocation.*;
-import org.eclipse.osgi.service.debug.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.update.configurator.*;
-import org.osgi.framework.*;
-import org.osgi.service.packageadmin.*;
-import org.osgi.service.startlevel.*;
-import org.osgi.util.tracker.*;
-
-public class ConfigurationActivator implements BundleActivator, IBundleGroupProvider, IConfigurationConstants {
-
-	public static String PI_CONFIGURATOR = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	public static final String INSTALL_LOCATION = "osgi.installLocation"; //$NON-NLS-1$
-	public static final String LAST_CONFIG_STAMP = "last.config.stamp"; //$NON-NLS-1$
-	public static final String NAME_SPACE = "org.eclipse.update"; //$NON-NLS-1$
-	public static final String UPDATE_PREFIX = "update@"; //$NON-NLS-1$
-	private static final String INITIAL_PREFIX = "initial@"; //$NON-NLS-1$
-	
-	// debug options
-	public static String OPTION_DEBUG = PI_CONFIGURATOR + "/debug"; //$NON-NLS-1$
-	// debug values
-	public static boolean DEBUG = false;
-	// os
-	private static boolean isWindows = System.getProperty("os.name").startsWith("Win"); //$NON-NLS-1$ //$NON-NLS-2$
-	
-	private static BundleContext context;
-	private ServiceTracker platformTracker;
-	private ServiceRegistration configurationFactorySR;
-	private PlatformConfiguration configuration;
-	
-	// Location of the configuration data
-	private Location configLocation;
-	
-	//Need to store that because it is not provided by the platformConfiguration
-	private long lastTimeStamp;
-
-	// The expected states timestamp
-	private long lastStateTimeStamp;
-	
-	// Singleton
-	private static ConfigurationActivator configurator;
-
-	public ConfigurationActivator() {
-		configurator = this;
-	}
-	
-	public void start(BundleContext ctx) throws Exception {
-		context = ctx;
-		loadOptions();
-		acquireFrameworkLogService();
-		initialize();
-		
-		//Short cut, if the configuration has not changed
-		if (canRunWithCachedData()) {		
-			Utils.debug("Running with cached data"); //$NON-NLS-1$
-			Platform.registerBundleGroupProvider(this);
-			return;
-		}
-
-		Utils.debug("Starting update configurator..."); //$NON-NLS-1$
-
-		installBundles();
-		Platform.registerBundleGroupProvider(this);
-	}
-
-
-	private void initialize() throws Exception {
-		// TODO this test is not really needed any more than any plugin has 
-		// to test to see if the runtime is running.  It was there from earlier days
-		// where startup was much more disjoint.  Some day that level of decoupling
-		// will return but for now...
-		if (!Platform.isRunning())
-			throw new Exception(Messages.ConfigurationActivator_initialize); 
-		
-		configLocation = Platform.getConfigurationLocation();
-		// create the name space directory for update (configuration/org.eclipse.update)
-		if (!configLocation.isReadOnly()) {
-			try {
-				URL privateURL = new URL(configLocation.getURL(), NAME_SPACE);
-				File f = new File(privateURL.getFile());
-				if(!f.exists())
-					f.mkdirs();
-			} catch (MalformedURLException e1) {
-				// ignore
-			}
-		}
-		configurationFactorySR = context.registerService(IPlatformConfigurationFactory.class.getName(), new PlatformConfigurationFactory(), null);
-		configuration = getPlatformConfiguration(Utils.getInstallURL(), configLocation);
-		if (configuration == null)
-			throw Utils.newCoreException(NLS.bind(Messages.ConfigurationActivator_createConfig, (new String[] { configLocation.getURL().toExternalForm() })), null);
-
-		DataInputStream stream = null;
-		try {
-			stream = new DataInputStream(new URL(configLocation.getURL(),NAME_SPACE+'/'+LAST_CONFIG_STAMP).openStream());
-			lastTimeStamp = stream.readLong();
-			lastStateTimeStamp = stream.readLong();
-		} catch (Exception e) {
-			lastTimeStamp = configuration.getChangeStamp() - 1;
-			lastStateTimeStamp = -1;
-		} finally {
-			if (stream != null)
-				try {
-					stream.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-	}
-
-
-	public void stop(BundleContext ctx) throws Exception {
-		// quick fix (hack) for bug 47861
-		try {
-			PlatformConfiguration.shutdown();
-		} catch (IOException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		}
-		configurationFactorySR.unregister();
-	}
-
-	public boolean installBundles() {
-		Utils.debug("Installing bundles..."); //$NON-NLS-1$
-		ServiceReference reference = context.getServiceReference(StartLevel.class.getName());
-		int startLevel = 4;
-		String defaultStartLevel = System.getProperty("osgi.bundles.defaultStartLevel"); //$NON-NLS-1$
-		if (defaultStartLevel != null) {
-			try {
-				startLevel = Integer.parseInt(defaultStartLevel);
-			} catch (NumberFormatException e1) {
-				startLevel = 4;
-			}
-		}
-		if (startLevel < 1)
-			startLevel = 4;
-		
-		StartLevel start = null;
-		if (reference != null)
-			start = (StartLevel) context.getService(reference);
-		try {
-			// Get the list of cached bundles and compare with the ones to be installed.
-			// Uninstall all the cached bundles that do not appear on the new list
-			Bundle[] cachedBundles = context.getBundles();		
-			URL[] plugins = configuration.getPluginPath();
-				
-			// starts the list of bundles to refresh with all currently unresolved bundles (see bug 50680)
-			List toRefresh = getUnresolvedBundles();
-
-			Bundle[] bundlesToUninstall = getBundlesToUninstall(cachedBundles, plugins);
-			for (int i=0; i<bundlesToUninstall.length; i++) {
-				try {
-					if (DEBUG)
-						Utils.debug("Uninstalling " + bundlesToUninstall[i].getLocation()); //$NON-NLS-1$
-					// include every bundle being uninstalled in the list of bundles to refresh (see bug 82393)					
-					toRefresh.add(bundlesToUninstall[i]);					
-					bundlesToUninstall[i].uninstall();
-				} catch (Exception e) {
-					Utils.log(NLS.bind(Messages.ConfigurationActivator_uninstallBundle, (new String[] { bundlesToUninstall[i].getLocation() })));
-				}
-			}
-			
-			// Get the urls to install
-			String[] bundlesToInstall = getBundlesToInstall(cachedBundles, plugins);
-
-			for (int i = 0; i < bundlesToInstall.length; i++) {
-				try {
-					if (DEBUG)
-						Utils.debug("Installing " + bundlesToInstall[i]); //$NON-NLS-1$
-					URL bundleURL = new URL("reference:file:"+bundlesToInstall[i]); //$NON-NLS-1$
-					//Bundle target = context.installBundle(bundlesToInstall[i]);
-					Bundle target = context.installBundle(UPDATE_PREFIX+bundlesToInstall[i], bundleURL.openStream());
-					// any new bundle should be refreshed as well
-					toRefresh.add(target);
-					if (start != null)
-						start.setBundleStartLevel(target, startLevel);
-				
-				} catch (Exception e) {
-					if (!Utils.isAutomaticallyStartedBundle(bundlesToInstall[i]))
-						Utils.log(NLS.bind(Messages.ConfigurationActivator_installBundle, (new String[] { bundlesToInstall[i] })) + "   " + e.getMessage()); //$NON-NLS-1$
-				}
-			}
-			context.ungetService(reference);
-			removeInitialBundles(toRefresh, cachedBundles);
-			refreshPackages((Bundle[]) toRefresh.toArray(new Bundle[toRefresh.size()]));
-			
-			// keep track of the last config successfully processed
-			writePlatformConfigurationTimeStamp();
-			return true;
-		} catch (Exception e) {
-			return false;
-		} 
-	}
-
-	private void removeInitialBundles(List bundles, Bundle[] cachedBundles) {
-		String[] initialSymbolicNames = getInitialSymbolicNames(cachedBundles);
-		Iterator iter = bundles.iterator();
-		while(iter.hasNext()) {
-			Bundle bundle = (Bundle) iter.next();
-			String symbolicName = bundle.getSymbolicName();
-			for(int i = 0; i < initialSymbolicNames.length; i++) {
-				if (initialSymbolicNames[i].equals(symbolicName)) {
-					iter.remove();
-					break;
-				}
-			}
-		}
-	}
-
-	private String[] getInitialSymbolicNames(Bundle[] cachedBundles) {
-		ArrayList initial = new ArrayList();
-		for (int i = 0; i < cachedBundles.length; i++) {
-			Bundle bundle = cachedBundles[i];
-			if (bundle.getLocation().startsWith(INITIAL_PREFIX)) {
-				String symbolicName = bundle.getSymbolicName();
-				if (symbolicName != null)
-					initial.add(symbolicName);
-			}
-		}
-		return (String[]) initial.toArray(new String[initial.size()]);
-	}
-
-	private List getUnresolvedBundles() {
-		Bundle[] allBundles = context.getBundles();
-		List unresolved = new ArrayList(); 
-		for (int i = 0; i < allBundles.length; i++)
-			if (allBundles[i].getState() == Bundle.INSTALLED)
-				unresolved.add(allBundles[i]);
-		return unresolved;
-	}
-
-	private String[] getBundlesToInstall(Bundle[] cachedBundles, URL[] newPlugins) {
-		// First, create a map of the cached bundles, for faster lookup
-		HashSet cachedBundlesSet = new HashSet(cachedBundles.length);
-		int offset = UPDATE_PREFIX.length();
-		for (int i=0; i<cachedBundles.length; i++) {
-			if (cachedBundles[i].getBundleId() == 0)
-				continue; // skip the system bundle
-			String bundleLocation = cachedBundles[i].getLocation();
-			// Ignore bundles not installed by us
-			if (!bundleLocation.startsWith(UPDATE_PREFIX))
-				continue;
-			
-			bundleLocation = bundleLocation.substring(offset);
-			cachedBundlesSet.add(bundleLocation);
-			// On windows, we will be doing case insensitive search as well, so lower it now
-			if (isWindows)
-				cachedBundlesSet.add(bundleLocation.toLowerCase());
-		}
-		
-		ArrayList bundlesToInstall = new ArrayList(newPlugins.length);
-		for (int i = 0; i < newPlugins.length; i++) {
-			String location = Utils.makeRelative(Utils.getInstallURL(), newPlugins[i]).getFile();
-			// check if already installed
-			if (cachedBundlesSet.contains(location))
-				continue;
-			if (isWindows && cachedBundlesSet.contains(location.toLowerCase()))
-				continue;
-			
-			bundlesToInstall.add(location);
-		}
-		return (String[])bundlesToInstall.toArray(new String[bundlesToInstall.size()]);	
-	}
-	
-	
-	private Bundle[] getBundlesToUninstall(Bundle[] cachedBundles, URL[] newPlugins) {
-		// First, create a map for faster lookups
-		HashSet newPluginsSet = new HashSet(newPlugins.length);
-		for (int i=0; i<newPlugins.length; i++) {
-			
-			String pluginLocation = Utils.makeRelative(Utils.getInstallURL(), newPlugins[i]).getFile();
-			newPluginsSet.add(pluginLocation);
-			// On windows, we will be doing case insensitive search as well, so lower it now
-			if (isWindows)
-				newPluginsSet.add(pluginLocation.toLowerCase());
-		}
-		
-		ArrayList bundlesToUninstall = new ArrayList();
-		int offset = UPDATE_PREFIX.length();
-		for (int i=0; i<cachedBundles.length; i++) {
-			if (cachedBundles[i].getBundleId() == 0)
-				continue; // skip the system bundle
-			String cachedBundleLocation = cachedBundles[i].getLocation();
-			// Only worry about bundles we installed
-			if (!cachedBundleLocation.startsWith(UPDATE_PREFIX))
-				continue;
-			cachedBundleLocation = cachedBundleLocation.substring(offset);
-
-			if (newPluginsSet.contains(cachedBundleLocation))
-				continue;
-			if (isWindows && newPluginsSet.contains(cachedBundleLocation.toLowerCase()))
-				continue;
-			
-			bundlesToUninstall.add(cachedBundles[i]);
-		}
-		return (Bundle[])bundlesToUninstall.toArray(new Bundle[bundlesToUninstall.size()]);
-	}
-	
-
-	/**
-	 * Creates and starts the platform configuration.
-	 * @return the just started platform configuration
-	 */
-	private PlatformConfiguration getPlatformConfiguration(URL installURL, Location configLocation) {
-		try {
-			PlatformConfiguration.startup(installURL, configLocation);
-		} catch (Exception e) {
-			if (platformTracker != null) {
-				String message = e.getMessage();
-				if (message == null)
-					message = ""; //$NON-NLS-1$
-				Utils.log(Utils.newStatus(message, e));
-			}
-		}
-		return PlatformConfiguration.getCurrent();
-
-	}
-
-	/**
-	 * Do PackageAdmin.refreshPackages() in a synchronous way.  After installing
-	 * all the requested bundles we need to do a refresh and want to ensure that 
-	 * everything is done before returning.
-	 * @param bundles
-	 */
-	private void refreshPackages(Bundle[] bundles) {
-		if (bundles.length == 0)
-			return;
-		ServiceReference packageAdminRef = context.getServiceReference(PackageAdmin.class.getName());
-		PackageAdmin packageAdmin = null;
-		if (packageAdminRef != null) {
-			packageAdmin = (PackageAdmin) context.getService(packageAdminRef);
-			if (packageAdmin == null)
-				return;
-		}
-		// TODO this is such a hack it is silly.  There are still cases for race conditions etc
-		// but this should allow for some progress...
-		// (patch from John A.)
-		final boolean[] flag = new boolean[] {false};
-		FrameworkListener listener = new FrameworkListener() {
-			public void frameworkEvent(FrameworkEvent event) {
-				if (event.getType() == FrameworkEvent.PACKAGES_REFRESHED)
-					synchronized (flag) {
-						flag[0] = true;
-						flag.notifyAll();
-					}
-			}
-		};
-		context.addFrameworkListener(listener);
-		packageAdmin.refreshPackages(bundles);
-		synchronized (flag) {
-			while (!flag[0]) {
-				try {
-					flag.wait();
-				} catch (InterruptedException e) {
-				}
-			}
-		}
-		context.removeFrameworkListener(listener);
-		context.ungetService(packageAdminRef);
-	}
-	
-	private void writePlatformConfigurationTimeStamp() {
-		DataOutputStream stream = null;
-		try {
-			if (configLocation.isReadOnly())
-				return;
-			
-			String configArea = configLocation.getURL().getFile();
-			lastTimeStamp = configuration.getChangeStamp();
-			lastStateTimeStamp = Platform.getPlatformAdmin().getState(false).getTimeStamp();
-			stream = new DataOutputStream(new FileOutputStream(configArea +File.separator+ NAME_SPACE+ File.separator+ LAST_CONFIG_STAMP));
-			stream.writeLong(lastTimeStamp);
-			stream.writeLong(lastStateTimeStamp);
-		} catch (Exception e) {
-			Utils.log(e.getLocalizedMessage());
-		} finally {
-			if (stream != null)
-				try {
-					stream.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-	}
-
-	private void loadOptions() {
-		// all this is only to get the application args		
-		DebugOptions service = null;
-		ServiceReference reference = context.getServiceReference(DebugOptions.class.getName());
-		if (reference != null)
-			service = (DebugOptions) context.getService(reference);
-		if (service == null)
-			return;
-		try {
-			DEBUG = service.getBooleanOption(OPTION_DEBUG, false);
-		} finally {
-			// we have what we want - release the service
-			context.ungetService(reference);
-		}
-	}
-	
-	private boolean canRunWithCachedData() {
-		return  !"true".equals(System.getProperty("osgi.checkConfiguration")) && //$NON-NLS-1$ //$NON-NLS-2$
-				lastTimeStamp==configuration.getChangeStamp() &&
-				lastStateTimeStamp==Platform.getPlatformAdmin().getState(false).getTimeStamp();
-	}
-				
-	public static BundleContext getBundleContext() {
-		return context;
-	}
-		
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroupProvider#getName()
-	 */
-	public String getName() {
-		return Messages.BundleGroupProvider; 
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroupProvider#getBundleGroups()
-	 */
-	public IBundleGroup[] getBundleGroups() {
-		if (configuration == null)
-			return new IBundleGroup[0];
-		else {
-			IPlatformConfiguration.IFeatureEntry[] features = configuration.getConfiguredFeatureEntries();
-			ArrayList bundleGroups = new ArrayList(features.length);
-			for (int i=0; i<features.length; i++) {
-				if (features[i] instanceof FeatureEntry 
-					&& ((FeatureEntry)features[i]).hasBranding())
-					bundleGroups.add(features[i]);
-			}
-			return (IBundleGroup[])bundleGroups.toArray(new IBundleGroup[bundleGroups.size()]);
-		}
-	}
-
-	public static void setConfigurator(ConfigurationActivator configurator) {
-		ConfigurationActivator.configurator = configurator;
-	}
-
-	public static ConfigurationActivator getConfigurator() {
-		return configurator;
-	}
-	
-	private void acquireFrameworkLogService() throws Exception{
-		ServiceReference logServiceReference = context.getServiceReference(FrameworkLog.class.getName());
-		if (logServiceReference == null)
-			return;
-		Utils.log  = (FrameworkLog) context.getService(logServiceReference);
-	}
-}	
-
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java
deleted file mode 100644
index c97eaa7..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ConfigurationParser.java
+++ /dev/null
@@ -1,367 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-import java.util.*;
-import javax.xml.parsers.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * parse the default site.xml
- */
-
-public class ConfigurationParser extends DefaultHandler implements IConfigurationConstants {
-	
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-	private SAXParser parser;
-	
-	private URL currentSiteURL;
-	private Configuration config;
-	private URL configURL;
-	private InputStream input;
-	
-	/**
-	 * Constructor for ConfigurationParser
-	 */
-	public ConfigurationParser() throws InvocationTargetException {
-
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			Utils.log(Utils.newStatus("ConfigurationParser", e)); //$NON-NLS-1$
-			throw new InvocationTargetException(e);
-		} catch (SAXException e) {
-			Utils.log(Utils.newStatus("ConfigurationParser", e)); //$NON-NLS-1$
-			throw new InvocationTargetException(e);
-		}
-	}
-	
-	public Configuration parse(URL url) throws Exception {
-
-		// DEBUG:		
-		Utils.debug("Start parsing Configuration:" + url); //$NON-NLS-1$	
-		long lastModified = 0;
-		try {
-			configURL = url;
-			if ("file".equals(url.getProtocol())) { //$NON-NLS-1$
-				File inputFile = new File(url.getFile());
-				if (!inputFile.exists() || !inputFile.canRead())
-					return null;
-				lastModified = inputFile.lastModified();
-				input = new FileInputStream(inputFile);
-			} else 
-				input = url.openStream();
-			parser.parse(new InputSource(input), this);
-			return config;
-		} catch (Exception e) {
-			Utils.log(Utils.newStatus("ConfigurationParser.parse() error:", e)); //$NON-NLS-1$
-			throw e;
-		} finally {
-			if (config != null)
-				config.setLastModified(lastModified);
-			try {
-				if (input != null) { 
-					input.close();
-					input = null;
-				}
-			} catch (IOException e1) {
-				Utils.log(e1.getLocalizedMessage());
-			}
-		}
-	}
-
-	/**
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 */
-	public void startElement(
-		String uri,
-		String localName,
-		String qName,
-		Attributes attributes)
-		throws SAXException {
-
-		// DEBUG:		
-		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		try {
-
-			String tag = localName.trim();
-
-			if (tag.equalsIgnoreCase(CFG)) {
-				processConfig(attributes);
-				return;
-			}
-
-			if (tag.equalsIgnoreCase(CFG_SITE)) {
-				processSite(attributes);
-				return;
-			}
-
-			if (tag.equalsIgnoreCase(CFG_FEATURE_ENTRY)) {
-				processFeature(attributes);
-				return;
-			}
-
-		} catch (MalformedURLException e) {
-			throw new SAXException(NLS.bind(Messages.InstalledSiteParser_UnableToCreateURL, (new String[] { e.getMessage() })), e);
-		} catch (CoreException e) {
-			throw new SAXException(NLS.bind(Messages.InstalledSiteParser_ErrorParsingFile, (new String[] { e.toString() })), e);
-		}
-	}
-
-	/** 
-	 * process the Site info
-	 */
-	private void processSite(Attributes attributes)
-		throws MalformedURLException, CoreException {
-
-		if (config == null)
-			return;
-		
-		// reset current site
-		currentSiteURL = null;
-		
-		String urlString = attributes.getValue(CFG_URL); //$NON-NLS-1$
-		if (urlString == null)
-			return;
-
-		URL url = null;
-		try {
-			url = new URL(urlString);
-		} catch (MalformedURLException e) {
-			// try relative to install url
-			url = new URL(PlatformConfiguration.getInstallURL(), urlString);
-			return;
-		}
-		
-		// when reading externalized URLs, need to convert them to absolute form
-		url = Utils.makeAbsolute(Utils.getInstallURL(), url);
-		
-		if (!isValidSite(url))
-			return;
-		
-		// use this new site
-		currentSiteURL = url;
-
-		int policyType;
-		String[] policyList = null;
-		String typeString = attributes.getValue(CFG_POLICY); //$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;
-				String pluginList = attributes.getValue(CFG_LIST);
-				if (pluginList != null) {
-					StringTokenizer st = new StringTokenizer(pluginList,","); //$NON-NLS-1$
-					policyList = new String[st.countTokens()];
-					for (i=0; i<policyList.length; i++)
-						policyList[i] = st.nextToken();
-				}
-			}
-		}
-
-		SitePolicy sp = new SitePolicy(policyType, policyList);
-		SiteEntry site = new SiteEntry(url, sp);
-
-		String flag = attributes.getValue(CFG_UPDATEABLE); //$NON-NLS-1$
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				site.setUpdateable(true);
-			else
-				site.setUpdateable(false);
-		}
-		
-		flag = attributes.getValue(CFG_ENABLED); //$NON-NLS-1$
-		if (flag != null && flag.equals("false")) //$NON-NLS-1$
-			site.setEnabled(false);
-		else
-			site.setEnabled(true);
-
-		String linkname = attributes.getValue(CFG_LINK_FILE); //$NON-NLS-1$
-		if (linkname != null && !linkname.equals("")) { //$NON-NLS-1$
-			site.setLinkFileName(linkname.replace('/', File.separatorChar));
-		}
-
-		// DEBUG:		
-		Utils.debug("End process config site url:" + urlString + " policy:" + typeString + " updatable:"+flag ); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		
-		config.addSiteEntry(url.toExternalForm(), site);
-	}
-	
-	/** 
-	 * process the DefaultFeature info
-	 */
-	private void processFeature(Attributes attributes)
-		throws MalformedURLException, CoreException {
-
-		if (currentSiteURL == null)
-			return; // the site was not correct
-			
-		String id = attributes.getValue(CFG_FEATURE_ENTRY_ID); //$NON-NLS-1$
-		if (id == null)
-			return;
-		String version = attributes.getValue(CFG_FEATURE_ENTRY_VERSION); //$NON-NLS-1$
-		String pluginVersion = attributes.getValue(CFG_FEATURE_ENTRY_PLUGIN_VERSION); //$NON-NLS-1$
-		if (pluginVersion == null || pluginVersion.trim().length() == 0)
-			pluginVersion = version;
-		String pluginIdentifier = attributes.getValue(CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER); //$NON-NLS-1$
-		if (pluginIdentifier != null && pluginIdentifier.trim().length() == 0)
-			pluginIdentifier = null;
-		String application = attributes.getValue(CFG_FEATURE_ENTRY_APPLICATION); //$NON-NLS-1$
-		
-		// get install locations
-		String locations = attributes.getValue(CFG_FEATURE_ENTRY_ROOT);
-		StringTokenizer st = locations != null ? new StringTokenizer(locations,",") : new StringTokenizer(""); //$NON-NLS-1$ //$NON-NLS-2$
-		ArrayList rootList = new ArrayList(st.countTokens());
-		while (st.hasMoreTokens()){
-			try{
-				URL rootEntry = new URL(st.nextToken());
-				rootList.add(rootEntry);
-			} catch (MalformedURLException e) {
-				// skip bad entries ...
-			}
-		}
-		URL[] roots = (URL[]) rootList.toArray(new URL[rootList.size()]);
-
-		// get primary flag
-		boolean primary = false;
-		String flag = attributes.getValue(CFG_FEATURE_ENTRY_PRIMARY); //$NON-NLS-1$
-		if (flag != null) {
-			if (flag.equals("true")) //$NON-NLS-1$
-				primary = true;
-		}
-		
-		FeatureEntry featureEntry =  new FeatureEntry(id, version, pluginIdentifier, pluginVersion, primary, application, roots);
-
-		// set the url
-		String url = attributes.getValue(CFG_URL); //$NON-NLS-1$
-		if (url != null && url.trim().length() > 0)
-			featureEntry.setURL(url);
-		
-		SiteEntry site = config.getSiteEntry(currentSiteURL.toExternalForm());
-		site.addFeatureEntry(featureEntry);
-		
-		// configured ?
-//		String configuredString = attributes.getValue("configured"); //$NON-NLS-1$
-//		boolean configured = configuredString.trim().equalsIgnoreCase("true") ? true : false; //$NON-NLS-1$
-	}
-
-
-	/** 
-	 * process the Config info
-	 */
-	private void processConfig(Attributes attributes) {
-		String date = attributes.getValue(CFG_DATE);
-		if (date == null || date.trim().length() == 0)
-			config = new Configuration(); // constructed with current date
-		else {
-			long time = 0;
-			try {
-				time = Long.parseLong(date);
-				config = new Configuration(new Date(time));
-			} catch (NumberFormatException e1) {
-				time = new Date().getTime();
-				Utils.log(NLS.bind(Messages.InstalledSiteParser_date, (new String[] { date })));
-				config = new Configuration(); // constructed with current date
-			}
-		}
-		
-		config.setURL(configURL);
-		
-		try {
-			String sharedURLString = attributes.getValue(CFG_SHARED_URL);
-			if (sharedURLString != null) {
-				URL sharedURL = Utils.makeAbsolute(Utils.getInstallURL(), new URL(sharedURLString));				
-				ConfigurationParser parser = new ConfigurationParser();
-				Configuration sharedConfig = parser.parse(sharedURL);
-				if (sharedConfig == null)
-					throw new Exception();
-				config.setLinkedConfig(sharedConfig);
-			}
-		} catch (Exception e) {
-			// could not load from shared install
-			Utils.log(Utils.newStatus(Messages.ConfigurationParser_cannotLoadSharedInstall, e)); 
-		}
-
-		String flag = attributes.getValue(CFG_TRANSIENT);
-		if (flag != null) {
-			config.setTransient(flag.equals("true")); //$NON-NLS-1$
-		}
-		
-		// DEBUG:		
-		Utils.debug("End Processing Config Tag: date:" + attributes.getValue(CFG_DATE)); //$NON-NLS-1$
-	}
-	
-	private boolean isValidSite(URL url) {
-		URL resolvedURL=  url;
-		if (url.getProtocol().equals("platform")) { //$NON-NLS-1$
-			try {
-				resolvedURL = PlatformConfiguration.resolvePlatformURL(url); // 19536
-			} catch (IOException e) {
-				// will use the baseline URL ...
-			}
-		}
-		
-		if (!PlatformConfiguration.supportsDetection(resolvedURL))
-			return false;
-
-		File siteRoot = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		if (!siteRoot.exists()) {
-			Utils.debug("Site " + resolvedURL + " does not exist "); //$NON-NLS-1$ //$NON-NLS-2$
-			return false;
-		}
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName)
-			throws SAXException {
-		super.endElement(uri, localName, qName);
-		
-		// DEBUG:		
-		Utils.debug("End Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		try {
-
-			String tag = localName.trim();
-
-			if (tag.equalsIgnoreCase(CFG)) {
-				 // This is a bit of a hack.
-				 // When no features were added to the site, but the site is initialized from platform.xml 
-				 // we need to set the feature set to empty, so we don't try to detect them.
-				SiteEntry[] sites = config.getSites();
-				for (int i=0; i<sites.length; i++)
-					sites[i].initialized();
-				return;
-			}
-		} catch (Exception e) {
-			// silent ignore
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java
deleted file mode 100644
index 22f26c4..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureEntry.java
+++ /dev/null
@@ -1,364 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.configurator.branding.*;
-import org.osgi.framework.*;
-import org.w3c.dom.*;
-
-
-/**
- * 
- * Feature information
- */
-public class FeatureEntry
-		implements
-			IPlatformConfiguration.IFeatureEntry,
-			IConfigurationConstants,
-			IBundleGroup,
-			IBundleGroupConstants,
-			IProduct,
-			IProductConstants {
-	private String id;
-	private String version;
-	private String pluginVersion;
-	private String application;
-	private URL[] root;
-	private boolean primary;
-	private String pluginIdentifier;
-	private String url;
-	private String description;
-	private String licenseURL;
-	private ArrayList plugins;
-	private AboutInfo branding;
-	private SiteEntry site;
-	private ResourceBundle resourceBundle;
-	private boolean fullyParsed;
-
-	public 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);
-	}
-
-	public FeatureEntry( String id, String version, String pluginVersion, boolean primary, String application, URL[] root) {
-		this(id, version, id, pluginVersion, primary, application, root);
-	}
-
-	public void setSite(SiteEntry site) {
-		this.site = site;
-	}
-	
-	public SiteEntry getSite() {
-		return this.site;
-	}
-	
-	public void addPlugin(PluginEntry plugin) {
-		if (plugins == null)
-			plugins = new ArrayList();
-		plugins.add(plugin);
-	}
-	
-	public PluginEntry[] getPluginEntries() {
-		if (plugins == null)
-			fullParse();
-		return (PluginEntry[])plugins.toArray(new PluginEntry[plugins.size()]);
-	}
-	
-	/**
-	 * Sets the url string (relative to the site url)
-	 * @param url
-	 */
-	public void setURL(String url) {
-		this.url = url;
-	}
-	
-	/**
-	 * @return the feature url (relative to the site): features/org.eclipse.platform/
-	 */
-	public String getURL() {
-//		if (url == null)
-//			url = FEATURES + "/" + id + "_" + version + "/";
-		return url;
-	}
-	
-	/*
-	 * @see IFeatureEntry#getFeatureIdentifier()
-	 */
-	public String getFeatureIdentifier() {
-		return id;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeatureVersion()
-	 */
-	public String getFeatureVersion() {
-		return version;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeaturePluginVersion()
-	 */
-	public String getFeaturePluginVersion() {
-		return pluginVersion != null && pluginVersion.length() > 0 ? pluginVersion : null;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeaturePluginIdentifier()
-	 */
-	public String getFeaturePluginIdentifier() {
-		// if no plugin is specified, use the feature id
-		return pluginIdentifier != null && pluginIdentifier.length() > 0 ? pluginIdentifier : id;
-	}
-	
-	/*
-	 * @see IFeatureEntry#getFeatureApplication()
-	 */
-	public String getFeatureApplication() {
-		return application;
-	}
-
-	/*
-	 * @see IFeatureEntry#getFeatureRootURLs()
-	 */
-	public URL[] getFeatureRootURLs() {
-		return root;
-	}
-
-	/*
-	 * @see IFeatureEntry#canBePrimary()
-	 */
-	public boolean canBePrimary() {
-		return primary;
-	}
-
-	public Element toXML(Document doc) {
-		URL installURL = Utils.getInstallURL();	
-		
-		Element featureElement = doc.createElement(CFG_FEATURE_ENTRY);		
-		// write out feature entry settings
-		if (id != null)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_ID, id); 
-		if (primary)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_PRIMARY, "true"); //$NON-NLS-1$
-		if (version != null)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_VERSION, version); 
-		if (pluginVersion != null && !pluginVersion.equals(version) && pluginVersion.length() > 0)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_PLUGIN_VERSION, pluginVersion); 
-		if (pluginIdentifier != null && !pluginIdentifier.equals(id) && pluginIdentifier.length() > 0)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER, pluginIdentifier);
-		if (application != null)
-			featureElement.setAttribute(CFG_FEATURE_ENTRY_APPLICATION, application);
-		if (url != null)
-			// make externalized URL install relative
-			featureElement.setAttribute(CFG_URL, Utils.makeRelative(installURL, url));
-		
-		URL[] roots = getFeatureRootURLs();
-		for (int i=0; i<roots.length; i++) {
-			// make externalized URL install relative
-			String root = Utils.makeRelative(installURL, roots[i]).toExternalForm();
-			if (root.trim().length() > 0){
-				Element rootElement = doc.createElement(CFG_FEATURE_ENTRY_ROOT);
-				rootElement.appendChild(doc.createTextNode(root));
-				featureElement.appendChild(rootElement);
-			}
-		}
-		
-		return featureElement;
-	}
-	
-	public void setDescription(String description) {
-		this.description = description;
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getBundles()
-	 */
-	public Bundle[] getBundles() {
-		if (plugins == null)
-			fullParse();
-		
-		ArrayList bundles = new ArrayList(plugins.size());
-		for (int i=0; i<plugins.size(); i++) {
-			PluginEntry plugin = (PluginEntry)plugins.get(i);
-			// get the highest version for the plugin
-			Bundle bundle = Platform.getBundle(plugin.getPluginIdentifier());
-			if (bundle != null)
-				bundles.add(bundle);
-		}
-		return (Bundle[])bundles.toArray(new Bundle[bundles.size()]);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getDescription()
-	 */
-	public String getDescription() {
-		if (description == null)
-			fullParse();
-		return description;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getIdentifier()
-	 */
-	public String getIdentifier() {
-		return id;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getName()
-	 */
-	public String getName() {
-		if (branding == null)
-			branding = AboutInfo.readFeatureInfo(id, version, getFeaturePluginIdentifier());
-		return branding.getProductName();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getProperty(java.lang.String)
-	 */
-	public String getProperty(String key) {
-		if (key == null)
-			return null;
-		
-		if (branding == null)
-			branding = AboutInfo.readFeatureInfo(id, version, getFeaturePluginIdentifier());
-		
-		// IBundleGroupConstants
-		if (key.equals(FEATURE_IMAGE))
-			return branding.getFeatureImageURL() == null ? null : branding.getFeatureImageURL().toExternalForm();
-		else if (key.equals(TIPS_AND_TRICKS_HREF)) 
-			return branding.getTipsAndTricksHref();
-		else if (key.equals(IBundleGroupConstants.WELCOME_PAGE)) // same value is used by product and bundle group
-			return branding.getWelcomePageURL() == null ? null : branding.getWelcomePageURL().toExternalForm();
-		else if (key.equals(WELCOME_PERSPECTIVE))
-			return branding.getWelcomePerspectiveId();
-		// IProductConstants
-		else if (key.equals(APP_NAME)) 
-			return branding.getAppName();
-		else if (key.equals(ABOUT_TEXT))
-			return branding.getAboutText();
-		else if (key.equals(ABOUT_IMAGE))
-			return branding.getAboutImageURL() == null ? null : branding.getAboutImageURL().toExternalForm();
-		else if (key.equals(WINDOW_IMAGE))
-			return branding.getWindowImageURL()== null ? null : branding.getWindowImageURL().toExternalForm();
-		else if (key.equals(WINDOW_IMAGES)) {
-			URL[] urls = branding.getWindowImagesURLs();
-			if (urls == null)
-				return null;
-			StringBuffer windowImagesURLs = new StringBuffer();
-			for (int i=0; i<urls.length; i++){
-				windowImagesURLs.append(urls[i].toExternalForm());
-				if (i != urls.length-1)
-					windowImagesURLs.append(',');
-			}
-			return windowImagesURLs.toString();
-		} else if (key.equals(LICENSE_HREF))
-			return getLicenseURL();
-		
-		return null;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getProviderName()
-	 */
-	public String getProviderName() {
-		if (branding == null)
-			branding = AboutInfo.readFeatureInfo(id, version, getFeaturePluginIdentifier());
-		return branding.getProviderName();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IBundleGroup#getVersion()
-	 */
-	public String getVersion() {
-		return version;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProduct#getApplication()
-	 */
-	public String getApplication() {
-		return application;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProduct#getId()
-	 */
-	public String getId() {
-		return id;
-	}
-	
-	public ResourceBundle getResourceBundle(){
-		if (resourceBundle != null)
-			return resourceBundle;
-		
-		// Determine the properties file location
-		if (site == null)
-			return null;
-		
-		ResourceBundle bundle = null;
-		try {
-			URL propertiesURL = new URL(site.getResolvedURL(), getURL());
-			ClassLoader l = new URLClassLoader(new URL[] { propertiesURL }, null);
-			bundle = ResourceBundle.getBundle(IConfigurationConstants.CFG_FEATURE_ENTRY, Utils.getDefaultLocale(), l);
-		} catch (MissingResourceException e) {
-			Utils.log(e.getLocalizedMessage()); 
-		} catch (MalformedURLException e) {
-			Utils.log(e.getLocalizedMessage()); 
-		}
-		return bundle;
-	}
-	
-	public void setLicenseURL(String licenseURL) {
-		this.licenseURL = licenseURL;
-	}
-	
-	public String getLicenseURL() {
-		if (licenseURL == null)
-			fullParse();
-		if (licenseURL == null)
-			return null;
-		
-		String resolvedURL = Utils.getResourceString(getResourceBundle(), licenseURL);
-		if (resolvedURL.startsWith("http://")) //$NON-NLS-1$
-			return resolvedURL;
-		else {
-			try {
-				return new URL(getSite().getResolvedURL(), getURL() + resolvedURL).toExternalForm();
-			} catch (MalformedURLException e) {
-				return resolvedURL;
-			}
-		}
-	}
-	
-	private void fullParse() {
-		if (fullyParsed)
-			return;
-		fullyParsed = true;
-		if (plugins == null) 
-			plugins = new ArrayList();
-		FullFeatureParser parser = new FullFeatureParser(this);
-		parser.parse();
-	}
-	
-	public Bundle getDefiningBundle() {
-		return Platform.getBundle(getFeaturePluginIdentifier());
-	}
-	
-	public boolean hasBranding() {
-        String bundleId = getFeaturePluginIdentifier();
-		return bundleId != null && Platform.getBundle(bundleId) != null;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java
deleted file mode 100644
index 9608bdb..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FeatureParser.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-
-import java.io.*;
-import java.net.*;
-
-import javax.xml.parsers.*;
-
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * Default feature parser.
- * Parses the feature manifest file as defined by the platform.
- * 
- * @since 3.0
- */
-public class FeatureParser extends DefaultHandler {
-
-	private SAXParser parser;
-	private FeatureEntry feature;
-	private URL url;
-
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-
-	/**
-	 * Constructs a feature parser.
-	 */
-	public FeatureParser() {
-		super();
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-	/**
-	 * Parses the specified url and constructs a feature
-	 */
-	public FeatureEntry parse(URL featureURL){
-		feature=null;
-		InputStream in = null;
-		try {
-			this.url = featureURL;
-			in = featureURL.openStream();
-			parser.parse(new InputSource(in), this);
-		} catch (SAXException e) {
-		} catch (IOException e) {
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-		return feature;
-	}
-
-	/**
-	 * Handle start of element tags
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 * @since 2.0
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		if ("feature".equals(localName)) { //$NON-NLS-1$
-			processFeature(attributes);
-			// stop parsing now
-			throw new SAXException(""); //$NON-NLS-1$
-		} else {
-		}
-		
-	}
-
-	/*
-	 * Process feature information
-	 */
-	private void processFeature(Attributes attributes) {
-
-		// identifier and version
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") //$NON-NLS-1$
-		|| ver == null || ver.trim().equals("")) { //$NON-NLS-1$
-			System.out.println(NLS.bind(Messages.FeatureParser_IdOrVersionInvalid, (new String[] { id, ver})));
-		} else {
-//			String label = attributes.getValue("label"); //$NON-NLS-1$
-//			String provider = attributes.getValue("provider-name"); //$NON-NLS-1$
-//			String imageURL = attributes.getValue("image"); //$NON-NLS-1$
-			String os = attributes.getValue("os"); //$NON-NLS-1$
-			String ws = attributes.getValue("ws"); //$NON-NLS-1$
-			String nl = attributes.getValue("nl"); //$NON-NLS-1$
-			String arch = attributes.getValue("arch"); //$NON-NLS-1$
-			if (!Utils.isValidEnvironment(os, ws, arch, nl)) 
-				return;
-//			String exclusive = attributes.getValue("exclusive"); //$NON-NLS-1$
-//			String affinity = attributes.getValue("colocation-affinity"); //$NON-NLS-1$
-
-			String primary = attributes.getValue("primary"); //$NON-NLS-1$
-			boolean isPrimary = "true".equals(primary); //$NON-NLS-1$
-			String application = attributes.getValue("application"); //$NON-NLS-1$
-			String plugin = attributes.getValue("plugin"); //$NON-NLS-1$
-
-			//TODO rootURLs
-			feature = new FeatureEntry(id, ver, plugin, "", isPrimary, application, null ); //$NON-NLS-1$
-			if ("file".equals(url.getProtocol())) { //$NON-NLS-1$
-				File f = new File(url.getFile().replace('/', File.separatorChar));
-				feature.setURL("features" + "/" + f.getParentFile().getName() + "/");// + f.getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			} else {
-				// externalized URLs might be in relative form, ensure they are absolute				
-				feature.setURL(Utils.makeAbsolute(Utils.getInstallURL(), url).toExternalForm());
-			}
-
-			Utils.
-				debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); 	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java
deleted file mode 100644
index b848747..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/FullFeatureParser.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import javax.xml.parsers.*;
-
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * A more complete feature parser. It adds the plugins listed to the feature.
- */
-public class FullFeatureParser extends DefaultHandler implements IConfigurationConstants{
-
-	private SAXParser parser;
-	private FeatureEntry feature;
-	private URL url;
-	private boolean isDescription;
-	private StringBuffer description = new StringBuffer();
-
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-
-	/**
-	 * Constructs a feature parser.
-	 */
-	public FullFeatureParser(FeatureEntry feature) {
-		super();
-		this.feature = feature;
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-	/**
-	 */
-	public void parse(){
-		InputStream in = null;
-		try {
-			if (feature.getSite() == null)
-				return;
-			this.url = new URL(feature.getSite().getResolvedURL(), feature.getURL() + FEATURE_XML);
-			in = url.openStream();
-			parser.parse(new InputSource(in), this);
-		} catch (SAXException e) {
-		} catch (IOException e) {
-		} finally {
-			if (in != null)
-				try {
-					in.close();
-				} catch (IOException e1) {
-					Utils.log(e1.getLocalizedMessage());
-				}
-		}
-	}
-
-	/**
-	 * Handle start of element tags
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 * @since 2.0
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		Utils.debug("Start Element: uri:" + uri + " local Name:" + localName + " qName:" + qName); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-
-		if ("plugin".equals(localName)) { //$NON-NLS-1$
-			processPlugin(attributes);
-		} else if ("description".equals(localName)){ //$NON-NLS-1$
-			isDescription = true;
-		} else if ("license".equals(localName)) { //$NON-NLS-1$
-			processLicense(attributes);
-		}
-	}
-
-	/*
-	 * Process feature information
-	 */
-	private void processPlugin(Attributes attributes) {
-
-		// identifier and version
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String ver = attributes.getValue("version"); //$NON-NLS-1$
-
-		if (id == null || id.trim().equals("") //$NON-NLS-1$
-		|| ver == null || ver.trim().equals("")) { //$NON-NLS-1$
-			System.out.println(NLS.bind(Messages.FeatureParser_IdOrVersionInvalid, (new String[] { id, ver})));
-		} else {
-//			String label = attributes.getValue("label"); //$NON-NLS-1$
-//			String provider = attributes.getValue("provider-name"); //$NON-NLS-1$
-			String nl = attributes.getValue("nl"); //$NON-NLS-1$
-			String os = attributes.getValue("os"); //$NON-NLS-1$
-			String ws = attributes.getValue("ws"); //$NON-NLS-1$
-			String arch = attributes.getValue("arch"); //$NON-NLS-1$
-			if (!Utils.isValidEnvironment(os, ws, arch,nl))
-				return;
-
-			PluginEntry plugin = new PluginEntry();
-			plugin.setPluginIdentifier(id);
-			plugin.setPluginVersion(ver);
-			feature.addPlugin(plugin);
-			
-			Utils.
-				debug("End process DefaultFeature tag: id:" +id + " ver:" +ver + " url:" + feature.getURL()); 	 //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-	}
-	
-	private void processLicense(Attributes attributes ){
-		feature.setLicenseURL(attributes.getValue("url")); //$NON-NLS-1$
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#characters(char[], int, int)
-	 */
-	public void characters(char[] ch, int start, int length)
-			throws SAXException {
-		if (!isDescription)
-			return;
-		description.append(ch, start, length);
-	}
-	/* (non-Javadoc)
-	 * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
-	 */
-	public void endElement(String uri, String localName, String qName)
-			throws SAXException {
-		if ("description".equals(localName)) { //$NON-NLS-1$
-			isDescription = false;
-			String d = description.toString().trim();
-			ResourceBundle bundle = feature.getResourceBundle();
-			feature.setDescription(Utils.getResourceString(bundle, d));
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java
deleted file mode 100644
index 416ab5d..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/IConfigurationConstants.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-
-/**
- * Constants
- */
-public interface IConfigurationConstants {
-	public static final String ECLIPSE_PRODUCT = "eclipse.product"; //$NON-NLS-1$
-	public static final String ECLIPSE_APPLICATION = "eclipse.application"; //$NON-NLS-1$
-	public static final String CFG = "config"; //$NON-NLS-1$
-	public static final String CFG_BOOT_PLUGIN = "bootstrap"; //$NON-NLS-1$
-	public static final String CFG_SITE = "site"; //$NON-NLS-1$
-	public static final String CFG_URL = "url"; //$NON-NLS-1$
-	public static final String CFG_POLICY = "policy"; //$NON-NLS-1$
-	public static final String[] CFG_POLICY_TYPE = { "USER-INCLUDE", "USER-EXCLUDE", "MANAGED-ONLY" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	public static final String CFG_POLICY_TYPE_UNKNOWN = "UNKNOWN"; //$NON-NLS-1$
-	public static final String CFG_LIST = "list"; //$NON-NLS-1$
-	public static final String CFG_STAMP = "stamp"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_STAMP = "stamp.features"; //$NON-NLS-1$
-	public static final String CFG_PLUGIN_STAMP = "stamp.plugins"; //$NON-NLS-1$
-	public static final String CFG_UPDATEABLE = "updateable"; //$NON-NLS-1$
-	public static final String CFG_LINK_FILE = "linkfile"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY = "feature"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_ID = "id"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_PRIMARY = "primary"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_VERSION = "version"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_PLUGIN_VERSION = "plugin-version"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_PLUGIN_IDENTIFIER = "plugin-identifier"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_APPLICATION = "application"; //$NON-NLS-1$
-	public static final String CFG_FEATURE_ENTRY_ROOT = "root"; //$NON-NLS-1$
-	public static final String CFG_DATE = "date"; //$NON-NLS-1$
-	public static final String CFG_PLUGIN = "plugin"; //$NON-NLS-1$
-	public static final String CFG_FRAGMENT = "fragment"; //$NON-NLS-1$
-	public static final String CFG_ENABLED = "enabled"; //$NON-NLS-1$
-	public static final String CFG_SHARED_URL = "shared_ur"; //$NON-NLS-1$
-	
-
-	public static final String CFG_VERSION = "version"; //$NON-NLS-1$
-	public static final String CFG_TRANSIENT = "transient"; //$NON-NLS-1$
-	public static final String VERSION = "3.0"; //$NON-NLS-1$
-//	public static final String EOF = "eof"; //$NON-NLS-1$
-	public static final int CFG_LIST_LENGTH = 10;
-
-	public static final int DEFAULT_POLICY_TYPE = ISitePolicy.USER_EXCLUDE;
-	public static final String[] DEFAULT_POLICY_LIST = new String[0];
-	
-	public static final String PLUGINS = "plugins"; //$NON-NLS-1$
-	public static final String FEATURES = "features"; //$NON-NLS-1$
-	public static final String PLUGIN_XML = "plugin.xml"; //$NON-NLS-1$
-	public static final String FRAGMENT_XML = "fragment.xml"; //$NON-NLS-1$
-	public static final String META_MANIFEST_MF = "META-INF/MANIFEST.MF"; //$NON-NLS-1$
-	public static final String FEATURE_XML = "feature.xml"; //$NON-NLS-1$
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java
deleted file mode 100644
index 9a49dfe..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.IOException;
-
-/**
- * Internal class.
- */
-public interface Locker {
-	public boolean lock() throws IOException;
-	public void release();
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java
deleted file mode 100644
index 1dabd57..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaIo.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-
-/**
- * Internal class.
- */
-public class Locker_JavaIo implements Locker {
-	private File lockFile;
-	private RandomAccessFile lockRAF;
-
-	public Locker_JavaIo(File lockFile) {
-		this.lockFile = lockFile;
-	}
-
-	public synchronized boolean lock() throws IOException {
-		//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())
-			return false;
-
-		//open the lock file so other instances can't co-exist
-		lockRAF = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
-		lockRAF.writeByte(0);
-
-		return true;
-	}
-
-	public synchronized void release() {
-		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();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java
deleted file mode 100644
index 479f9cf..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Locker_JavaNio.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-import java.nio.channels.FileLock;
-
-/**
- * Internal class.
- */
-public class Locker_JavaNio implements Locker {
-	private File lockFile;
-	private FileLock fileLock;
-
-	public Locker_JavaNio(File lockFile) {
-		this.lockFile = lockFile;
-	}
-
-	public synchronized boolean lock() throws IOException {
-		RandomAccessFile raf = new RandomAccessFile(lockFile, "rw"); //$NON-NLS-1$
-		fileLock = raf.getChannel().lock();
-		
-		if (fileLock != null)
-			return true;
-		return false;
-	}
-
-	public synchronized void release() {
-		if (fileLock != null) {
-			try {
-				fileLock.release();
-			} catch (IOException e) {
-				//don't complain, we're making a best effort to clean up
-			}
-			fileLock = null;
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java
deleted file mode 100644
index b2f2e42..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Messages.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class Messages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.update.internal.configurator.messages";//$NON-NLS-1$
-
-	private Messages() {
-		// Do not instantiate
-	}
-
-	public static String ok;
-	public static String url_badVariant;
-	public static String url_invalidURL;
-	public static String url_createConnection;
-	public static String url_noaccess;
-	public static String cfig_inUse;
-	public static String cfig_failCreateLock;
-	public static String cfig_badUrlArg;
-	public static String cfig_unableToLoad_incomplete;
-	public static String cfig_unableToLoad_noURL;
-	public static String cfig_unableToSave_noURL;
-	public static String cfig_unableToSave;
-	public static String cfig_badVersion;
-	public static String cfg_unableToCreateConfig_ini;
-	public static String platform_running;
-	public static String platform_mustNotBeRunning;
-	public static String platform_notRunning;
-	public static String ignore_plugin;
-	public static String application_notFound;
-	public static String error_fatal;
-	public static String error_boot;
-	public static String error_runtime;
-	public static String error_xerces;
-	public static String error_badNL;
-	public static String InstalledSiteParser_DirectoryDoesNotExist;
-	public static String InstalledSiteParser_UnableToCreateURL;
-	public static String InstalledSiteParser_FileDoesNotExist;
-	public static String InstalledSiteParser_UnableToCreateURLForFile;
-	public static String InstalledSiteParser_ErrorParsingFile;
-	public static String InstalledSiteParser_ErrorAccessing;
-	public static String InstalledSiteParser_date;
-	public static String BundleManifest_noVersion;
-	public static String FeatureParser_IdOrVersionInvalid;
-	public static String BundleGroupProvider;
-	public static String ProductProvider;
-	public static String AboutInfo_notSpecified;
-	public static String ConfigurationActivator_initialize;
-	public static String ConfigurationActivator_createConfig;
-	public static String ConfigurationActivator_uninstallBundle;
-	public static String ConfigurationParser_cannotLoadSharedInstall;
-	public static String ConfigurationActivator_installBundle;
-	public static String PluginEntry_versionError;
-	public static String IniFileReader_MissingDesc;
-	public static String IniFileReader_OpenINIError;
-	public static String IniFileReader_OpenPropError;
-	public static String IniFileReader_OpenMapError;
-	public static String IniFileReader_ReadIniError;
-	public static String IniFileReader_ReadPropError;
-	public static String IniFileReader_ReadMapError;
-	public static String SiteEntry_computePluginStamp;
-	public static String SiteEntry_cannotFindFeatureInDir;
-	public static String SiteEntry_duplicateFeature;
-	public static String SiteEntry_pluginsDir;
-	public static String PlatformConfiguration_expectingPlatformXMLorDirectory;
-	public static String PlatformConfiguration_cannotBackupConfig;
-	public static String PlatformConfiguration_cannotCloseStream;
-	public static String PlatformConfiguration_cannotCloseTempFile;
-	public static String PlatformConfiguration_cannotRenameTempFile;
-	public static String PlatformConfiguration_cannotLoadConfig;
-	public static String PlatformConfiguration_cannotLoadDefaultSite;
-	public static String PlatformConfiguration_cannotFindConfigFile;
-	public static String PlatformConfiguration_cannotSaveNonExistingConfig;
-	public static String HttpResponse_rangeExpected;
-	public static String HttpResponse_wrongRange;
-	public static String PluginParser_plugin_no_id;
-	public static String PluginParser_plugin_no_version;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	public static String XMLPrintHandler_unsupportedNodeType;
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
deleted file mode 100644
index 18b967d..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfiguration.java
+++ /dev/null
@@ -1,1184 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-//PAL nio optional
-//import java.nio.channels.*;
-import java.util.*;
-
-import javax.xml.parsers.*;
-//PAL cdcFoundation
-//import javax.xml.transform.*;
-//import javax.xml.transform.dom.*;
-//import javax.xml.transform.stream.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.datalocation.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.update.configurator.*;
-import org.w3c.dom.*;
-
-/**
- * This class is responsible for providing the features and plugins (bundles) to 
- * the runtime. Configuration data is stored in the configuration/org.eclipse.update/platform.xml file.
- * When eclipse starts, it tries to load the config info from platform.xml.
- * If the file does not exist, then it also tries to read it from a temp or backup file.
- * If this does not succeed, a platform.xml is created by inspecting the eclipse 
- * installation directory (its features and plugin folders).
- * If platform.xml already exists, a check is made to see when it was last modified
- * and whether there are any file system changes that are newer (users may manually unzip 
- * features and plugins). In this case, the newly added features and plugins are picked up.
- * A check for existence of features and plugins is also performed, to detect deletions.
- */
-public class PlatformConfiguration implements IPlatformConfiguration, IConfigurationConstants {
-
-	private static PlatformConfiguration currentPlatformConfiguration = null;
-	//private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-//	private static final TransformerFactory transformerFactory = TransformerFactory.newInstance();
-	private static final String XML_ENCODING = "UTF-8"; //$NON-NLS-1$
-
-	private Configuration config;
-	private URL configLocation;
-	private HashMap externalLinkSites; // used to restore prior link site state
-	private long changeStamp;
-	private long featuresChangeStamp;
-	private boolean featuresChangeStampIsValid;
-	private long pluginsChangeStamp;
-	private boolean pluginsChangeStampIsValid;
-	//PAL nio optional
-	//private FileLock lock;
-	private Locker lock = null;
-	private static boolean checkNio = false;
-	private static boolean useNio;
-
-	private static final String ECLIPSE = "eclipse"; //$NON-NLS-1$
-	private static final String CONFIG_HISTORY = "history"; //$NON-NLS-1$
-	private static final String PLATFORM_XML = "platform.xml"; //$NON-NLS-1$
-	private static final String CONFIG_NAME = ConfigurationActivator.NAME_SPACE + "/" + PLATFORM_XML; //$NON-NLS-1$
-	private static final String CONFIG_INI = "config.ini"; //NON-NLS-1$ //$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 LINKS = "links"; //$NON-NLS-1$
-	private static final String[] BOOTSTRAP_PLUGINS = {}; //$NON-NLS-1$
-
-	private static final String DEFAULT_FEATURE_APPLICATION = "org.eclipse.ui.ide.workbench"; //$NON-NLS-1$
-
-	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 URL installURL;
-	
-	private PlatformConfiguration(Location platformConfigLocation) throws CoreException, IOException {
-
-		this.externalLinkSites = new HashMap();
-		this.config = null;
-		
-		// initialize configuration
-		initializeCurrent(platformConfigLocation);
-
-		// 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.
-		// Note: don't do it for self hosting
-		if (!isTransient())
-			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)
-		// Note: when the config is transient (generated by PDE, etc.) we don't reconcile
-		if (isTransient())
-			return;
-		
-		changeStamp = computeChangeStamp();
-		if (changeStamp > config.getDate().getTime())
-			reconcile();
-	}
-
-	PlatformConfiguration(URL url) throws Exception {
-		this.externalLinkSites = new HashMap();
-		initialize(url);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createSiteEntry(URL, ISitePolicy)
-	 */
-	public ISiteEntry createSiteEntry(URL url, ISitePolicy policy) {
-		return new SiteEntry(url, policy);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#createSitePolicy(int, String[])
-	 */
-	public ISitePolicy createSitePolicy(int type, String[] list) {
-		return new 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 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 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 (config.getSiteEntry(key) != null && !replace)
-			return;
-	
-		if (entry instanceof SiteEntry)
-			config.addSiteEntry(key, (SiteEntry)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();	
-		if (entry instanceof SiteEntry)
-			config.removeSiteEntry(key);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfiguredSites()
-	 */
-	public ISiteEntry[] getConfiguredSites() {
-		if (config == null)
-			return new ISiteEntry[0];
-		
-		SiteEntry[] sites = config.getSites();
-		ArrayList enabledSites = new ArrayList(sites.length);
-		for (int i=0; i<sites.length; i++) {
-			if (sites[i].isEnabled())
-				enabledSites.add(sites[i]);
-		}
-		return (ISiteEntry[])enabledSites.toArray(new ISiteEntry[enabledSites.size()]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#findConfiguredSite(URL)
-	 */
-	public ISiteEntry findConfiguredSite(URL url) {
-		return findConfiguredSite(url, true);
-	}
-	
-	/**
-	 * 
-	 * @param url site url
-	 * @param checkPlatformURL if true, check for url format that is platform:/...
-	 * @return
-	 */
-	public SiteEntry findConfiguredSite(URL url, boolean checkPlatformURL) {
-		if (url == null)
-			return null;
-		String key = url.toExternalForm();
-
-		SiteEntry result = config.getSiteEntry(key);	
-		if (result == null) { // retry with decoded URL string
-			try {
-				//PAL foundation
-				//key = URLDecoder.decode(key, "UTF-8"); //$NON-NLS-1$
-				key = UpdateURLDecoder.decode(key, "UTF-8"); //$NON-NLS-1$
-			} catch (UnsupportedEncodingException e) {
-				// ignore
-			}
-			result = config.getSiteEntry(key);
-		}
-			
-		if (result == null && checkPlatformURL) {
-			try {
-				result = findConfiguredSite(Utils.asPlatformURL(url), false);
-			} catch (Exception e) {
-				//ignore
-			}
-		}
-		return result;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#configureFeatureEntry(IFeatureEntry)
-	 */
-	public synchronized void configureFeatureEntry(IFeatureEntry entry) {
-		if (entry == null)
-			return;
-
-		String key = entry.getFeatureIdentifier();
-		if (key == null)
-			return;
-
-		// we should check each site and find where the feature is
-		// located and then configure it
-		if (config == null)
-			config = new Configuration();
-
-		SiteEntry[] sites = config.getSites();
-		for (int i=0; i<sites.length; i++) {
-			// find out what site contains the feature and configure it
-			try {
-				URL url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier()+ "_" + entry.getFeatureVersion() + "/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-				if (new File(url.getFile()).exists())
-					sites[i].addFeatureEntry(entry);
-				else  {
-					url = new URL(sites[i].getURL(), FEATURES + "/" + entry.getFeatureIdentifier() + "/"); //$NON-NLS-1$ //$NON-NLS-2$
-					if (new File(url.getFile()).exists())
-						sites[i].addFeatureEntry(entry);
-				}
-			} catch (MalformedURLException e) {
-			}
-		}
-	}
-
-	/*
-	 * @see IPlatformConfiguration#unconfigureFeatureEntry(IFeatureEntry)
-	 */
-	public synchronized void unconfigureFeatureEntry(IFeatureEntry entry) {
-		if (entry == null)
-			return;
-
-		String key = entry.getFeatureIdentifier();
-		if (key == null)
-			return;
-
-		config.unconfigureFeatureEntry(entry);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfiguredFeatureEntries()
-	 */
-	public IFeatureEntry[] getConfiguredFeatureEntries() {
-		ArrayList configFeatures = new ArrayList();
-		SiteEntry[] sites = config.getSites();
-		for (int i=0; i<sites.length; i++) {
-			FeatureEntry[] features = sites[i].getFeatureEntries();
-			for (int j=0; j<features.length; j++)
-				configFeatures.add(features[j]);
-		}
-		return (IFeatureEntry[])configFeatures.toArray(new FeatureEntry[configFeatures.size()]);
-	}
-
-	/*
-	 * @see IPlatformConfiguration#findConfiguredFeatureEntry(String)
-	 */
-	public IFeatureEntry findConfiguredFeatureEntry(String id) {
-		if (id == null)
-			return null;
-
-		SiteEntry[] sites = config.getSites();
-		for (int i=0; i<sites.length; i++) {
-			FeatureEntry f = sites[i].getFeatureEntry(id);
-			if (f != null)
-				return f;
-		}
-		return null;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getConfigurationLocation()
-	 */
-	public URL getConfigurationLocation() {
-		return configLocation;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getChangeStamp()
-	 */
-	public long getChangeStamp() {
-		if (config.getLinkedConfig() == null)
-			return config.getDate().getTime();
-		else
-			return Math.max(config.getDate().getTime(), config.getLinkedConfig().getDate().getTime());
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getFeaturesChangeStamp()
-	 * @deprecated Don't use this method
-	 */
-	public long getFeaturesChangeStamp() {
-		return 0;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPluginsChangeStamp()
-	 * @deprecated Don't use this method
-	 */
-	public long getPluginsChangeStamp() {
-		return 0;
-	}
-
-
-	public String getApplicationIdentifier() {
-		// Return the app if defined in system properties
-		String application = System.getProperty(ECLIPSE_APPLICATION);
-		if (application != null)
-			return application;
-
-		// Otherwise, try to get it from the primary feature (aka product)
-		String feature = getPrimaryFeatureIdentifier();
-
-		// 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() {
-		// Return the product if defined in system properties
-		String primaryFeatureId = System.getProperty(ECLIPSE_PRODUCT);
-		if (primaryFeatureId != null) {
-			// check if feature exists
-			IFeatureEntry feature = findConfiguredFeatureEntry(primaryFeatureId);
-			if (feature != null && feature.canBePrimary())
-				return primaryFeatureId;
-		}
-		return null;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#getPluginPath()
-	 */
-	public URL[] getPluginPath() {
-		ArrayList path = new ArrayList();
-		Utils.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);
-					Utils.debug("   " + pathURL.toString()); //$NON-NLS-1$
-				} catch (MalformedURLException e) {
-					// skip entry ...
-					Utils.debug("   bad URL: " + e); //$NON-NLS-1$
-				}
-			}
-		}
-		return (URL[]) path.toArray(new URL[0]);
-	}
-	
-
-	/*
-	 * A variation of the getPluginPath, but it returns the actual plugin entries
-	 */
-	public PluginEntry[] getPlugins() {
-		ArrayList allPlugins = new ArrayList();
-		Utils.debug("computed plug-ins:"); //$NON-NLS-1$
-
-		ISiteEntry[] sites = getConfiguredSites();
-		for (int i = 0; i < sites.length; i++) {
-			if (!(sites[i] instanceof SiteEntry)) {
-				Utils.debug("Site " + sites[i].getURL() + " is not a SiteEntry"); //$NON-NLS-1$ //$NON-NLS-2$
-				continue;
-			}
-			PluginEntry[] plugins = ((SiteEntry)sites[i]).getPluginEntries();
-			for (int j = 0; j < plugins.length; j++) {
-				allPlugins.add(plugins[j]);
-				Utils.debug("   " + plugins[j].getURL()); //$NON-NLS-1$
-			}
-		}
-		return (PluginEntry[]) allPlugins.toArray(new PluginEntry[0]);
-	}
-	
-
-	/*
-	 * @see IPlatformConfiguration#getBootstrapPluginIdentifiers()
-	 */
-	public String[] getBootstrapPluginIdentifiers() {
-		return BOOTSTRAP_PLUGINS;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#setBootstrapPluginLocation(String, URL)
-	 */
-	public void setBootstrapPluginLocation(String id, URL location) {
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isUpdateable()
-	 */
-	public boolean isUpdateable() {
-		return true;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isTransient()
-	 */
-	public boolean isTransient() {
-		if (config != null)
-			return config.isTransient();
-		else
-			return false;
-	}
-
-	/*
-	 * @see IPlatformConfiguration#isTransient(boolean)
-	 */
-	public void isTransient(boolean value) {
-		if (this != getCurrent() && config != null)
-			config.setTransient(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();
-		}
-	}
-
-	/*
-	 * @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(Messages.cfig_unableToSave_noURL); 
-
-		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();
-			try {
-				saveAsXML(os);
-				config.setDirty(false);
-			} catch (CoreException e) {
-				Utils.log(e.getMessage());
-				Utils.log(e.getStatus());
-				throw new IOException(NLS.bind(Messages.cfig_unableToSave, (new String[] { url.toExternalForm() })));
-			} finally {
-				os.close();
-			}
-		} else {
-			// file protocol - do safe i/o
-			File cfigFile = new File(url.getFile().replace('/', File.separatorChar));
-			if (!cfigFile.getName().equals(PLATFORM_XML)) {
-				if (cfigFile.exists() && cfigFile.isFile()) {
-					Utils.log(Messages.PlatformConfiguration_expectingPlatformXMLorDirectory + cfigFile.getName()); 
-					cfigFile = cfigFile.getParentFile();
-				}
-				cfigFile = new File(cfigFile, CONFIG_NAME);
-			}
-			File workingDir = cfigFile.getParentFile();
-			if (workingDir != null && !workingDir.exists())
-				workingDir.mkdirs();
-
-			// Do safe i/o: 
-			//    - backup current config, by moving it to the history folder
-			//    - write new config to platform.xml.tmp file
-			//    - rename the temp file to platform.xml
-			File cfigFileOriginal = new File(cfigFile.getAbsolutePath());
-			File cfigTmp = new File(cfigFile.getAbsolutePath() + CONFIG_FILE_TEMP_SUFFIX);
-			
-			// Backup old file
-			if (cfigFile.exists()){
-				File backupDir = new File(workingDir, CONFIG_HISTORY);
-				if (!backupDir.exists())
-					backupDir.mkdir();
-				long timestamp = cfigFile.lastModified();
-				File preservedFile = new File(backupDir, String.valueOf(timestamp)+".xml"); //$NON-NLS-1$
-				// If the target file exists, increment the timestamp. Try at most 100 times.
-				long increment = 1;
-				while (preservedFile.exists() && increment < 100){
-					preservedFile = new File(backupDir, String.valueOf(timestamp+increment++)+".xml"); //$NON-NLS-1$
-				}
-				if (!preservedFile.exists()) {
-					// try renaming current config to backup copy
-					if (!cfigFile.renameTo(preservedFile))
-						Utils.log(Messages.PlatformConfiguration_cannotBackupConfig); 
-				}
-			}
-
-			// first save the file as temp
-			os = new FileOutputStream(cfigTmp);
-			
-			try {
-				saveAsXML(os);
-				// Try flushing any internal buffers, and synchronize with the disk
-				try {
-					os.flush();
-					((FileOutputStream)os).getFD().sync();
-				} catch (SyncFailedException e2) {
-					Utils.log(e2.getMessage());
-				} catch (IOException e2) {
-					Utils.log(e2.getMessage());
-				}
-				try {
-					os.close();
-					os = null;
-				} catch (IOException e1) {
-					Utils.log(Messages.PlatformConfiguration_cannotCloseStream + cfigTmp); 
-					Utils.log(e1.getMessage());
-				}
-				// set file time stamp to match that of the config element
-				cfigTmp.setLastModified(config.getDate().getTime());
-				// set this on config, in case the value was rounded off
-				config.setLastModified(cfigTmp.lastModified());
-				// make the change stamp to be the same as the config file
-				changeStamp = config.getDate().getTime();
-				config.setDirty(false);
-			} catch (CoreException e) {
-				throw new IOException(NLS.bind(Messages.cfig_unableToSave, (new String[] { cfigTmp.getAbsolutePath() })));
-			} finally {
-				if (os != null)
-					try {
-						os.close();
-					} catch (IOException e1) {
-						Utils.log(Messages.PlatformConfiguration_cannotCloseTempFile + cfigTmp); 
-					}
-			}
-
-			// at this point we have old config (if existed) as "bak" and the
-			// new config as "tmp".
-			boolean ok = cfigTmp.renameTo(cfigFileOriginal);
-			if (!ok) {
-				// 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.
-				Utils.log(Messages.PlatformConfiguration_cannotRenameTempFile); 
-				
-				throw new IOException(NLS.bind(Messages.cfig_unableToSave, (new String[] { cfigTmp.getAbsolutePath() })));
-			}
-		}
-	}
-
-
-	public static PlatformConfiguration getCurrent() {
-		return currentPlatformConfiguration;
-	}
-
-	/**
-	 * Starts a platform installed at specified installURL using configuration located at platformConfigLocation.
-	 */
-	public static synchronized void startup(URL installURL, Location platformConfigLocation) throws Exception {
-		PlatformConfiguration.installURL = installURL;
-	
-		// create current configuration
-		if (currentPlatformConfiguration == null) {
-			currentPlatformConfiguration = new PlatformConfiguration(platformConfigLocation);
-			if (currentPlatformConfiguration.config == null)
-				throw new Exception(Messages.PlatformConfiguration_cannotLoadConfig + platformConfigLocation.getURL()); 
-			if (currentPlatformConfiguration.config.isDirty())
-				// If this is a transient config (generated by PDE),do nothing
-				// otherwise, save the configuration with proper date
-				if (!currentPlatformConfiguration.isTransient())
-					currentPlatformConfiguration.save();
-		}
-	}
-
-	public static synchronized void shutdown() throws IOException {
-
-		// save platform configuration
-		PlatformConfiguration config = getCurrent();
-		if (config != null) {
-			// only save if there are changes in the config
-			if (config.config.isDirty() && !config.isTransient()) {
-				try {
-					config.save();
-				} catch (IOException e) {
-					Utils.debug("Unable to save configuration " + e.toString()); //$NON-NLS-1$
-					// will recover on next startup
-				}
-			}
-		}
-	}
-
-
-	private synchronized void initializeCurrent(Location platformConfigLocation) throws IOException {
-
-		// Configuration URL was is specified by the OSGi layer. 
-		// Default behavior is to look
-		// for configuration in the specified 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 specified configuration area.
-
-		URL configFileURL = new URL(platformConfigLocation.getURL(), CONFIG_NAME);
-		try {	
-			// check concurrent use lock
-			getConfigurationLock(platformConfigLocation.getURL());
-
-			// try loading the configuration
-			try {
-				config = loadConfig(configFileURL);
-				Utils.debug("Using configuration " + configFileURL.toString()); //$NON-NLS-1$
-			} catch (Exception e) {
-				// failed to load, see if we can find pre-initialized configuration.
-				try {
-					Location parentLocation = platformConfigLocation.getParentLocation();
-					if (parentLocation == null)
-						throw new IOException(); // no platform.xml found, need to create default site
-					
-					URL sharedConfigFileURL = new URL(parentLocation.getURL(), CONFIG_NAME);
-					config = loadConfig(sharedConfigFileURL);
-					
-					// pre-initialized config loaded OK ... copy any remaining update metadata
-					// Only copy if the default config location is not the install location
-					if (!sharedConfigFileURL.equals(configFileURL)) {
-						// need to link config info instead of using a copy
-						linkInitializedState(config, parentLocation, platformConfigLocation);
-						Utils.debug("Configuration initialized from    " + sharedConfigFileURL.toString()); //$NON-NLS-1$
-					}
-					return;
-				} catch (Exception ioe) {
-					Utils.debug("Creating default configuration from " + configFileURL.toExternalForm()); //$NON-NLS-1$
-					createDefaultConfiguration(configFileURL);
-				}
-			}
-		} finally {
-			configLocation = configFileURL;
-			if (config.getURL() == null)
-				config.setURL(configFileURL);
-			verifyPath(configLocation);
-			Utils.debug("Creating configuration " + configFileURL.toString()); //$NON-NLS-1$
-			// releaes concurrent use lock
-			clearConfigurationLock();
-		}
-	}
-
-	
-	private synchronized void initialize(URL url) throws Exception {
-		if (url != null) {
-			config = loadConfig(url);	
-			Utils.debug("Using configuration " + url.toString()); //$NON-NLS-1$
-		}
-		if (config == null) {
-			config = new Configuration();		
-			Utils.debug("Creating empty configuration object"); //$NON-NLS-1$
-		}
-		config.setURL(url);
-		configLocation = url;
-	}
-
-	private void createDefaultConfiguration(URL url)throws IOException{
-		// we are creating new configuration
-		config = new Configuration();
-		config.setURL(url);
-		SiteEntry defaultSite = (SiteEntry)getRootSite();
-		configureSite(defaultSite);
-		try {
-			// parse the site directory to discover features
-			defaultSite.loadFromDisk(0);
-		} catch (CoreException e1) {
-			Utils.log(Messages.PlatformConfiguration_cannotLoadDefaultSite + defaultSite.getResolvedURL()); 
-			return;
-		}
-	}
-	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("platform:/base/"); //$NON-NLS-1$  // try using platform-relative URL
-		} catch (MalformedURLException e) {
-			siteURL = getInstallURL(); // ensure we come up ... use absolute file URL
-		}
-		ISiteEntry defaultSite = createSiteEntry(siteURL, defaultPolicy);
-		return defaultSite;
-	}
-	
-	/**
-	 * Gets the configuration lock
-	 * @param url configuration directory
-	 */
-	private void getConfigurationLock(URL url) {
-		if (!url.getProtocol().equals("file")) //$NON-NLS-1$
-			return;
-
-		File lockFile = new File(url.getFile(), ConfigurationActivator.NAME_SPACE+ File.separator+CONFIG_FILE_LOCK_SUFFIX);
-		verifyPath(url);
-		// PAL nio optional
-		lock = createLocker(lockFile); 
-		try {
-			lock.lock();
-		} catch (IOException ioe) {
-			lock = null;
-		}	
-	}
-	
-	private void clearConfigurationLock() {
-		// PAL nio optional
-		if (lock != null) {
-			lock.release();
-		}
-	}
-	
-	/**
-	 * Create a locker using java new I/O or regular I/O
-	 * depending whether we run in J2SE or cdcFoundation
-	 * PAL nio optional
-	 */
-	private static Locker createLocker(File lock) {
-		if (!checkNio) {
-			useNio = true;
-			try {
-				 Class.forName("java.nio.channels.FileLock"); //$NON-NLS-1$
-			} catch (ClassNotFoundException e) {
-				useNio = false;
-			}
-		}
-		if (useNio)
-			return new Locker_JavaNio(lock);
-		else
-			return new Locker_JavaIo(lock);
-	}
-	
-	private long computeChangeStamp() {
-		featuresChangeStamp = computeFeaturesChangeStamp();
-		pluginsChangeStamp = computePluginsChangeStamp();
-		changeStamp = Math.max(featuresChangeStamp, pluginsChangeStamp);
-		// round off to seconds
-		changeStamp = (changeStamp/1000)*1000;
-		return changeStamp;
-	}
-
-	private long computeFeaturesChangeStamp() {
-		if (featuresChangeStampIsValid)
-			return featuresChangeStamp;
-
-		long result = 0;
-		ISiteEntry[] sites = config.getSites();
-		for (int i = 0; i < sites.length; i++) {
-			result = Math.max(result, sites[i].getFeaturesChangeStamp());
-		}
-		featuresChangeStamp = result;
-		featuresChangeStampIsValid = true;
-		return featuresChangeStamp;
-	}
-
-	private long computePluginsChangeStamp() {
-		if (pluginsChangeStampIsValid)
-			return pluginsChangeStamp;
-
-		long result = 0;
-		ISiteEntry[] sites = config.getSites();
-		for (int i = 0; i < sites.length; i++) {
-			result = Math.max(result, sites[i].getPluginsChangeStamp());
-		}
-		pluginsChangeStamp = result;
-		pluginsChangeStampIsValid = true;
-		return pluginsChangeStamp;
-	}
-
-	private void configureExternalLinks() {
-		URL linkURL = getInstallURL();
-		if (!supportsDetection(linkURL))
-			return;
-
-		try {
-			linkURL = new URL(linkURL, LINKS + "/"); //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-			// skip bad links ...
-			Utils.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) {
-			Utils.debug("No links detected in " + linkURL.toExternalForm()); //$NON-NLS-1$
-			return;
-		}
-
-		for (int i = 0; i < links.length; i++) {
-			if (links[i].isDirectory())
-				continue;
-			Utils.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);
-				configureExternalLinkSite(links[i], props);
-			} catch (IOException e) {
-				// skip bad links ...
-				Utils.debug("   unable to load link file " + e); //$NON-NLS-1$
-				continue;
-			} finally {
-				if (is != null) {
-					try {
-						is.close();
-					} catch (IOException e) {
-						// ignore ...
-					}
-				}
-			}
-		}
-	}
-
-	private void configureExternalLinkSite(File linkFile, Properties props) {
-		String path = props.getProperty(LINK_PATH);
-		if (path == null) {
-			Utils.debug("   no path definition"); //$NON-NLS-1$
-			return;
-		}
-
-		String link;
-		boolean updateable = true;
-		URL siteURL;
-
-		// 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.trim();
-		}
-
-		// 	make sure we have a valid link specification
-		try {
-			File siteFile = new File(link);
-			siteFile = new File(siteFile, ECLIPSE);
-			siteURL = siteFile.toURL();
-			if (findConfiguredSite(siteURL, true) != null)
-				// linked site is already known
-				return;
-		} catch (MalformedURLException e) {
-			// ignore bad links ...
-			Utils.debug("  bad URL " + e); //$NON-NLS-1$
-			return;
-		}
-		
-		// process the link
-		SiteEntry linkSite = (SiteEntry) externalLinkSites.get(siteURL);
-		if (linkSite == null) {
-			// this is a link to a new target so create site for it
-			ISitePolicy linkSitePolicy = createSitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-			linkSite = (SiteEntry) createSiteEntry(siteURL, linkSitePolicy);
-		}
-		// update site entry if needed
-		linkSite.setUpdateable(updateable);
-		linkSite.setLinkFileName(linkFile.getAbsolutePath());
-
-		// configure the new site
-		// NOTE: duplicates are not replaced (first one in wins)
-		configureSite(linkSite);
-		// there are changes in the config
-		config.setDirty(true);
-		Utils.debug("   " + (updateable ? "R/W -> " : "R/O -> ") + siteURL.toString()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-	}
-
-	private void validateSites() {
-
-		// check to see if all sites are valid. Remove any sites that do not exist.
-		SiteEntry[] list = config.getSites();
-		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]);
-				Utils.debug("Site " + siteURL + " does not exist ... removing from configuration"); //$NON-NLS-1$ //$NON-NLS-2$
-			}
-			
-			// If multiple paths are defined in the same link file
-			// or if the path changes, the old site will still be kept.
-			// A better algorithm could be implemented by keeping track 
-			// of the previous content of the link file.
-			// TODO do the above
-			String linkName = list[i].getLinkFileName();
-			if (linkName != null) {
-				File linkFile = new File(linkName);
-				if (!linkFile.exists())  {
-					unconfigureSite(list[i]);
-					config.setDirty(true);
-					Utils.debug("Site " + siteURL + " is no longer linked ... removing from configuration"); //$NON-NLS-1$ //$NON-NLS-2$	
-				}
-			}
-		}
-	}
-	
-	private void linkInitializedState(Configuration sharedConfig, Location sharedConfigLocation, Location newConfigLocation) {
-		try {
-			URL newConfigIniURL = new URL(newConfigLocation.getURL(), CONFIG_INI);
-			if (!newConfigIniURL.getProtocol().equals("file")) //$NON-NLS-1$
-				return; // need to be able to do write
-
-			// modify config.ini and platform.xml to only link original files
-			File configIni = new File(newConfigIniURL.getFile());
-			Properties props = new Properties();
-			String externalForm = Utils.makeRelative(Utils.getInstallURL(), sharedConfigLocation.getURL()).toExternalForm();
-			props.put("osgi.sharedConfiguration.area", externalForm); //$NON-NLS-1$
-			props.store(new FileOutputStream(configIni), "Linked configuration"); //$NON-NLS-1$
-			
-			config = new Configuration(new Date());
-			config.setURL(new URL(newConfigLocation.getURL(), CONFIG_NAME));
-			config.setLinkedConfig(sharedConfig);
-			config.setDirty(true);
-		} catch (IOException e) {
-			// this is an optimistic copy. If we fail, the state will be reconciled
-			// when the update manager is triggered.
-			System.out.println(e);
-		}
-	}
-	
-	private Configuration loadConfig(URL url) throws Exception {
-		if (url == null)
-			throw new IOException(Messages.cfig_unableToLoad_noURL); 
-
-		// try to load saved configuration file (watch for failed prior save())
-		ConfigurationParser parser = null;
-		try {
-			parser = new ConfigurationParser();
-		} catch (InvocationTargetException e) {
-			throw (Exception)e.getTargetException();
-		}
-		
-		config = null;
-		Exception originalException = null;
-		try {
-			config = parser.parse(url);
-			if (config == null)
-				throw new Exception(Messages.PlatformConfiguration_cannotFindConfigFile); 
-		} catch (Exception e1) {
-			// check for save failures, so open temp and backup configurations
-			originalException = e1;
-			try {
-				URL tempURL = new URL(url.toExternalForm()+CONFIG_FILE_TEMP_SUFFIX);
-				config = parser.parse(tempURL); 
-				if (config == null)
-					throw new Exception();
-				else
-					config.setDirty(true); // force saving to platform.xml
-			} catch (Exception e2) {
-				try {
-					// check the backup
-					if ("file".equals(url.getProtocol())) { //$NON-NLS-1$
-						File cfigFile = new File(url.getFile().replace('/', File.separatorChar));
-						File workingDir = cfigFile.getParentFile();
-						if (workingDir != null && workingDir.exists()) {
-							File[] backups = workingDir.listFiles(new FileFilter(){
-								public boolean accept(File pathname) {
-									return pathname.isFile() && pathname.getName().endsWith(".xml"); //$NON-NLS-1$
-								}});
-							if (backups != null && backups.length > 0) {
-								URL backupUrl = backups[backups.length-1].toURL();
-								config = parser.parse(backupUrl);
-							}
-						}
-					}
-					if (config == null)
-						throw originalException; // we tried, but no config here ...
-					else
-						config.setDirty(true); // force saving to platform.xml
-				} catch (IOException e3) {
-					throw originalException; // we tried, but no config here ...
-				}
-			}
-		}
-
-		return config;
-	}
-
-	public static boolean supportsDetection(URL url) {
-		String protocol = url.getProtocol();
-		if (protocol.equals("file")) //$NON-NLS-1$
-			return true;
-		else if (protocol.equals("platform")) { //$NON-NLS-1$
-			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("platform")) { //$NON-NLS-1$
-			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();
-		}
-	}
-
-	public static URL resolvePlatformURL(URL url) throws IOException {
-		// 19536
-		if (url.getProtocol().equals("platform")) { //$NON-NLS-1$
-			url = Platform.asLocalURL(url);
-			// TODO URL resolution by platform returns url file:d:/path as opposed to file:/d:/path
-			File f = new File(url.getFile());
-			url = f.toURL();
-		}
-		return url;
-	}
-	
-	public static URL getInstallURL() {
-		return installURL;
-	}
-	
-	// Patch from Phil to support cdc/foundation: will use the method below instead of this one.
-//	private void saveAsXML(OutputStream stream) throws CoreException {	
-//		StreamResult result = null;
-//		try {
-//			DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder();
-//			Document doc = docBuilder.newDocument();
-//
-//			if (config == null)
-//				throw Utils.newCoreException(Messages.getString("PlatformConfiguration.cannotSaveNonExistingConfig"),null); //$NON-NLS-1$
-//			
-//			config.setDate(new Date());
-//			doc.appendChild(doc.createComment("Created on " + config.getDate().toString())); //$NON-NLS-1$
-//			Element configElement = config.toXML(doc);
-//			doc.appendChild(configElement);
-//
-//			// Write out to a file
-//			
-//			Transformer transformer=transformerFactory.newTransformer();
-//			transformer.setOutputProperty(OutputKeys.METHOD, "xml"); //$NON-NLS-1$
-//			transformer.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //$NON-NLS-1$
-//			transformer.setOutputProperty(OutputKeys.INDENT, "yes"); //$NON-NLS-1$
-//			DOMSource source = new DOMSource(doc);
-//			result = new StreamResult(stream);
-//
-//			transformer.transform(source,result);
-//			//will close the stream in the caller
-//			//stream.close();
-//		} catch (Exception e) {
-//			throw Utils.newCoreException("", e); //$NON-NLS-1$
-//		} finally {
-//			result.setOutputStream(null);
-//			result = null;
-//		}
-//	}
-
-	private void saveAsXML(OutputStream stream) throws CoreException,IOException {			
-		BufferedWriter xmlWriter = new BufferedWriter(new OutputStreamWriter(stream,XML_ENCODING));
-		try {
-			DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-			factory.setExpandEntityReferences(false);
-			factory.setValidating(false);
-			factory.setIgnoringComments(true);
-			DocumentBuilder docBuilder = factory.newDocumentBuilder();
-			Document doc = docBuilder.newDocument();
-			
-			if (config == null)
-				throw Utils.newCoreException(Messages.PlatformConfiguration_cannotSaveNonExistingConfig,null); 
-			
-			config.setDate(new Date());
-			Element configElement = config.toXML(doc);
-			doc.appendChild(configElement);
-			
-			// This is not DBCS friendly... PAL
-			//XMLPrintHandler.printComment(xmlWriter,"Created on " + config.getDate().toString());
-			XMLPrintHandler.printNode(xmlWriter,doc,XML_ENCODING);
-			
-		} catch (Exception e) {
-			throw Utils.newCoreException("", e); //$NON-NLS-1$
-		} finally {
-			xmlWriter.flush();
-			// will close the stream in the caller	
-			//xmlWriter.close();
-		}
-	} 
-	
-	private void reconcile() throws CoreException {
-		long lastChange = config.getDate().getTime();
-		SiteEntry[] sites = config.getSites();
-		for (int s=0; s<sites.length; s++) {
-			long siteTimestamp = sites[s].getChangeStamp();
-			if (siteTimestamp > lastChange)
-				sites[s].loadFromDisk(lastChange);
-		}
-		config.setDirty(true);
-	}
-	
-	public Configuration getConfiguration() {
-		return config;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java
deleted file mode 100644
index 6be1716..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PlatformConfigurationFactory.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.IOException;
-import java.net.URL;
-
-import org.eclipse.update.configurator.*;
-
-
-
-public class PlatformConfigurationFactory implements IPlatformConfigurationFactory {
-	public IPlatformConfiguration getCurrentPlatformConfiguration() {
-		return PlatformConfiguration.getCurrent();
-	}
-	public IPlatformConfiguration getPlatformConfiguration(URL url) throws IOException {
-		try {
-			return new PlatformConfiguration(url);
-		} catch (Exception e) {
-			if(e instanceof IOException)
-				throw (IOException)e;
-			else
-				throw new IOException(e.getMessage());
-		}
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java
deleted file mode 100644
index dcc0189..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginEntry.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import org.eclipse.osgi.util.NLS;
-
-
-/**
- */
-public class PluginEntry {
-
-	private String pluginId;
-	private String pluginVersion;
-	private boolean isFragment = false;
-	private VersionedIdentifier versionId;
-	private String url;
-	
-	public PluginEntry() {
-		super();
-	}
-
-	/**
-	 * @return url relative to the site location: plugins/org.eclipse.foo/plugin.xml
-	 * Note: to do: we should probably only use plugins/org.eclipse.foo/ in the future
-	 */
-	public String getURL() {
-		return url;
-	}
-	
-	/**
-	 * url is relative to the site
-	 */
-	public void setURL(String url) {
-		this.url = url;
-	}
-
-	/**
-	 * Returns the plug-in identifier for this entry.
-	 * 
-	 * @return the plug-in identifier, or <code>null</code>
-	 */
-	public String getPluginIdentifier() {
-		return pluginId;
-	}
-
-	/**
-	 * Returns the plug-in version for this entry.
-	 * 
-	 * @return the plug-in version, or <code>null</code>
-	 */
-	public String getPluginVersion() {
-		return pluginVersion;
-	}
-
-	/**
-	 * Indicates whether the entry describes a full plug-in, or 
-	 * a plug-in fragment.
-	 * 
-	 * @return <code>true</code> if the entry is a plug-in fragment, 
-	 * <code>false</code> if the entry is a plug-in
-	 */
-	public boolean isFragment() {
-		return isFragment;
-	}
-
-	/**
-	 * Sets the entry plug-in identifier.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param pluginId the entry identifier.
-	 */
-	void setPluginIdentifier(String pluginId) {
-		this.pluginId = pluginId;
-	}
-
-	/**
-	 * Sets the entry plug-in version.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param pluginVersion the entry version.
-	 */
-	void setPluginVersion(String pluginVersion) {
-		this.pluginVersion = pluginVersion;
-	}
-
-	/**
-	 * Indicates whether this entry represents a fragment or plug-in.
-	 * Throws a runtime exception if this object is marked read-only.
-	 *
-	 * @param isFragment fragment setting
-	 */
-	public void isFragment(boolean isFragment) {
-		this.isFragment = isFragment;
-	}
-
-	/**
-	 * @see Object#toString()
-	 */
-	public String toString() {
-		String msg = (getPluginIdentifier()!=null)?getPluginIdentifier().toString():""; //$NON-NLS-1$
-		msg += getPluginVersion()!=null?" "+getPluginVersion().toString():""; //$NON-NLS-1$ //$NON-NLS-2$
-		msg += isFragment()?" fragment":" plugin"; //$NON-NLS-1$ //$NON-NLS-2$
-		return msg;
-	}
-
-
-	/**
-	 * Returns the identifier of this plugin entry
-	 */
-	public VersionedIdentifier getVersionedIdentifier() {
-		if (versionId != null)
-			return versionId;
-
-		String id = getPluginIdentifier();
-		String ver = getPluginVersion();
-		if (id != null && ver != null) {
-			try {
-				versionId = new VersionedIdentifier(id, ver);
-				return versionId;
-			} catch (Exception e) {
-				Utils.log(NLS.bind(Messages.PluginEntry_versionError, (new String[] { id, ver })));
-			}
-		}
-
-		versionId = new VersionedIdentifier("",null); //$NON-NLS-1$
-		return versionId;
-	}
-
-	/**
-	 * Sets the identifier of this plugin entry. 
-	 * 
-	 */
-	void setVersionedIdentifier(VersionedIdentifier identifier) {
-		setPluginIdentifier(identifier.getIdentifier());
-		setPluginVersion(identifier.getVersion().toString());
-	}	
-
-	/**
-	 * Compares two plugin entries for equality
-	 * 
-	 * @param object plugin entry object to compare with
-	 * @return <code>true</code> if the two entries are equal, 
-	 * <code>false</code> otherwise
-	 */
-	public boolean equals(Object object) {
-		if (!(object instanceof PluginEntry))
-			return false;
-		PluginEntry e = (PluginEntry) object;
-		return getVersionedIdentifier().equals(e.getVersionedIdentifier());
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return getVersionedIdentifier().hashCode();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java
deleted file mode 100644
index 1188a64..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/PluginParser.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-
-import java.io.*;
-
-import javax.xml.parsers.*;
-
-import org.eclipse.osgi.util.NLS;
-import org.xml.sax.*;
-import org.xml.sax.helpers.*;
-
-/**
- * Parse default feature.xml
- */
-
-public class PluginParser extends DefaultHandler implements IConfigurationConstants {
-	private final static SAXParserFactory parserFactory =
-		SAXParserFactory.newInstance();
-	private SAXParser parser;
-	private PluginEntry pluginEntry;
-    private String location;
-
-	private class ParseCompleteException extends SAXException {
-		
-        private static final long serialVersionUID = 1L;
-
-        public ParseCompleteException(String arg0) {
-			super(arg0);
-		}
-	}
-
-	/**
-	 * Constructor for DefaultFeatureParser
-	 */
-	public PluginParser() {
-		super();
-		try {
-			parserFactory.setNamespaceAware(true);
-			this.parser = parserFactory.newSAXParser();
-		} catch (ParserConfigurationException e) {
-			System.out.println(e);
-		} catch (SAXException e) {
-			System.out.println(e);
-		}
-	}
-
-	/**
-	 * @since 2.0
-	 */
-	public synchronized PluginEntry parse(File pluginFile) throws SAXException, IOException {
-		FileInputStream in = null;
-		try{
-			in = new FileInputStream(pluginFile);
-			return parse(in, PLUGINS + "/" + pluginFile.getParentFile().getName() + "/"); //$NON-NLS-1$ //$NON-NLS-2$
-		}finally{
-			if (in != null){
-				try{
-					in.close();
-				}catch(IOException e){
-				}
-			}
-		}
-	}
-	/**
-	 * @since 3.0
-	 */
-	public synchronized PluginEntry parse(InputStream in, String bundleUrl) throws SAXException, IOException {
-		try {
-            location = bundleUrl;
-			pluginEntry = new PluginEntry();
-			pluginEntry.setURL(bundleUrl);
-			parser.parse(new InputSource(in), this);
-		} catch (ParseCompleteException e) {
-			// expected, we stopped the parsing when we have the information we need
-			/// no need to pursue the parsing
-		}
-		return pluginEntry;
-	}
-
-	/**
-	 * @see DefaultHandler#startElement(String, String, String, Attributes)
-	 */
-	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
-
-		String tag = localName.trim();
-
-		if (tag.equalsIgnoreCase(CFG_PLUGIN)) {
-			pluginEntry.isFragment(false);			
-			processPlugin(attributes);
-			return;
-		}
-
-		if (tag.equalsIgnoreCase(CFG_FRAGMENT)) {
-			pluginEntry.isFragment(true);			
-			processPlugin(attributes);
-			return;
-		}
-	}
-
-	/** 
-	 * process plugin entry info
-	 */
-	private void processPlugin(Attributes attributes) throws ParseCompleteException {
-		String id = attributes.getValue("id"); //$NON-NLS-1$
-		String version = attributes.getValue("version"); //$NON-NLS-1$
-		if (id == null || id.trim().length() == 0) {
-			id = "_no_id_"; //$NON-NLS-1$
-            Utils.log(NLS.bind(Messages.PluginParser_plugin_no_id, (new String[] { location })));
-        }
-        if (version == null || version.trim().length() == 0) {
-            version = "0.0.0"; //$NON-NLS-1$
-            Utils.log(NLS.bind(Messages.PluginParser_plugin_no_version, (new String[] { location })));
-        }
-		pluginEntry.setVersionedIdentifier(new VersionedIdentifier(id, version));
-		
-		// stop parsing now
-		throw new ParseCompleteException(""); //$NON-NLS-1$
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java
deleted file mode 100644
index 1360194..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/ProductProvider.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-
-/**
- * Maps primary features to IProduct
- */
-public class ProductProvider implements IProductProvider{
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProductProvider#getProducts()
-	 */
-	public IProduct[] getProducts() {
-		IPlatformConfiguration configuration = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		if (configuration == null)
-			return new IProduct[0];
-		else {
-			IPlatformConfiguration.IFeatureEntry[] features = configuration.getConfiguredFeatureEntries();
-			ArrayList primaryFeatures = new ArrayList();
-			for (int i=0; i<features.length; i++)
-				if (features[i].canBePrimary())
-					primaryFeatures.add(features[i]);
-			// TODO handle unmanaged plugins later
-			return (IProduct[])primaryFeatures.toArray(new IProduct[primaryFeatures.size()]);
-		}
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.IProductProvider#getName()
-	 */
-	public String getName() {
-		return Messages.ProductProvider; 
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
deleted file mode 100644
index b936dcd..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SiteEntry.java
+++ /dev/null
@@ -1,757 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.util.zip.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.service.environment.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-
-public class SiteEntry implements IPlatformConfiguration.ISiteEntry, IConfigurationConstants{	
-	private static final String MAC_OS_MARKER = ".DS_Store"; //$NON-NLS-1$
-	
-	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 Map featureEntries;
-	private ArrayList pluginEntries;
-	private long changeStamp;
-	private long featuresChangeStamp;
-	private long pluginsChangeStamp;
-	private String linkFileName;
-	private boolean enabled = true;
-	private Configuration config;
-	
-	private static FeatureParser featureParser = new FeatureParser();
-	private static PluginParser pluginParser = new PluginParser();
-	private static boolean isMacOS = Platform.getOS().equals(Constants.OS_MACOSX);
-
-	public SiteEntry(URL url) {
-		this(url,null);
-	}
-	
-	public SiteEntry(URL url, ISitePolicy policy) {
-		if (url == null)
-			try {
-				url = new URL("platform:/base/"); //$NON-NLS-1$ try using platform-relative URL
-			} catch (MalformedURLException e) {
-				url = PlatformConfiguration.getInstallURL(); // ensure we come up ... use absolute file URL
-			}
-			
-		if (policy == null)
-			policy = new SitePolicy(DEFAULT_POLICY_TYPE, DEFAULT_POLICY_LIST);
-
-		if (url.getProtocol().equals("file")) { //$NON-NLS-1$
-			try {
-				// TODO remove this when platform fixes local file url's
-				this.url = new File(url.getFile()).toURL(); 
-			} catch (MalformedURLException e1) {
-				this.url = url;
-			}
-		} else
-			this.url = url;
-		
-		this.policy = policy;
-		this.resolvedURL = this.url;
-		if (url.getProtocol().equals("platform")) { //$NON-NLS-1$
-			try {
-				resolvedURL = PlatformConfiguration.resolvePlatformURL(url); // 19536
-			} catch (IOException e) {
-				// will use the baseline URL ...
-			}
-		}
-	}
-
-	public void setConfig(Configuration config) {
-		this.config = config;
-	}
-	
-	public Configuration getConfig() {
-		return config;
-	}
-	
-	/*
-	 * @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]);
-		}
-		
-		if (policy.getType() == ISitePolicy.MANAGED_ONLY) {
-			PluginEntry[] managedPlugins = getManagedPlugins();
-			String[] managedPluginsURLs = new String[managedPlugins.length];
-			for (int i=0; i<managedPlugins.length; i++)
-				managedPluginsURLs[i] = managedPlugins[i].getURL();
-			
-			return managedPluginsURLs;
-		}
-
-		// bad policy type
-		return new String[0];
-	}
-
-	private PluginEntry[] getManagedPlugins() {
-		// Note:
-		// We detect all the plugins on the site, but it would be faster
-		// to just lookup the plugins that correspond to the entries found in each feature.
-		// TODO fix the above
-		if (pluginEntries == null)
-			detectPlugins();
-		if (featureEntries == null)
-			detectFeatures();
-		
-		// cache all the plugin entries for faster lookup later
-		Map cachedPlugins = new HashMap(pluginEntries.size());
-		for (int i=0; i<pluginEntries.size(); i++) {
-			PluginEntry p = (PluginEntry)pluginEntries.get(i);
-			cachedPlugins.put(p.getVersionedIdentifier(), p);
-		}
-		
-		ArrayList managedPlugins = new ArrayList();
-		for (Iterator iterator=featureEntries.values().iterator(); iterator.hasNext();) {
-			Object feature = iterator.next();
-			if (!(feature instanceof FeatureEntry))
-				continue;
-			
-			PluginEntry[] plugins = ((FeatureEntry)feature).getPluginEntries();
-			for (int i=0; i<plugins.length; i++)
-				if (cachedPlugins.containsKey(plugins[i].getVersionedIdentifier()))
-					managedPlugins.add(cachedPlugins.get(plugins[i].getVersionedIdentifier()));
-					
-		}
-		return (PluginEntry[])managedPlugins.toArray(new PluginEntry[managedPlugins.size()]);
-	}
-	
-	public PluginEntry[] getPluginEntries() {
-		String[] pluginURLs = getPlugins();
-		// hash the array, for faster lookups
-		HashMap map = new HashMap(pluginURLs.length);
-		for (int i=0; i<pluginURLs.length; i++)
-			map.put(pluginURLs[i], pluginURLs[i]);
-		
-		if (pluginEntries == null)
-				detectPlugins();
-		
-		ArrayList plugins = new ArrayList(pluginURLs.length);
-		for (int i=0; i<pluginEntries.size(); i++) {
-			PluginEntry p = (PluginEntry)pluginEntries.get(i);
-			if (map.containsKey(p.getURL()))
-				plugins.add(p);
-		}
-		return (PluginEntry[])plugins.toArray(new PluginEntry[plugins.size()]);
-	}
-	
-	/*
-	 * @see ISiteEntry#getChangeStamp()
-	 */
-	public long getChangeStamp() {
-		if (changeStamp == 0)
-			computeChangeStamp();
-		return changeStamp;
-	}
-
-	/*
-	 * @see ISiteEntry#getFeaturesChangeStamp()
-	 */
-	public long getFeaturesChangeStamp() {
-		if (featuresChangeStamp == 0)
-			computeFeaturesChangeStamp();
-		return featuresChangeStamp;
-	}
-
-	/*
-	 * @see ISiteEntry#getPluginsChangeStamp()
-	 */
-	public long getPluginsChangeStamp() {
-		if (pluginsChangeStamp == 0)
-			computePluginsChangeStamp();
-		return pluginsChangeStamp;
-	}
-
-	/*
-	 * @see ISiteEntry#isUpdateable()
-	 */
-	public boolean isUpdateable() {
-		return updateable;
-	}
-	
-	public void setUpdateable(boolean updateable) {
-		this.updateable = updateable;
-	}
-
-	/*
-	 * @see ISiteEntry#isNativelyLinked()
-	 */
-	public boolean isNativelyLinked() {
-		return isExternallyLinkedSite();
-	}
-
-	public URL getResolvedURL() {
-		return resolvedURL;
-	}
-	
-	/**
-	 * Detect new features (timestamp > current site timestamp)
-	 * and validates existing features (they might have been removed)
-	 */
-	private void detectFeatures() {
-
-		if (featureEntries != null)
-			validateFeatureEntries();
-		else
-			featureEntries = new HashMap();
-
-		if (!PlatformConfiguration.supportsDetection(resolvedURL))
-			return;
-
-		// locate feature entries on site
-		File siteRoot = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		File featuresDir = new File(siteRoot, FEATURES);
-		if (featuresDir.exists()) {
-			// handle the installed features under the features directory
-			File[] dirs = featuresDir.listFiles(new FileFilter() {
-				public boolean accept(File f) {
-					// mac os folders contain a file .DS_Store in each folder, and we need to skip it (bug 76869) 
-					if (isMacOS && f.getName().equals(MAC_OS_MARKER))
-						return false;
-					boolean valid = f.isDirectory() && (new File(f,FEATURE_XML).exists());
-					if (!valid)
-						Utils.log(NLS.bind(Messages.SiteEntry_cannotFindFeatureInDir, (new String[] { f.getAbsolutePath() })));
-					return valid;
-				}
-			});
-		
-			for (int index = 0; index < dirs.length; index++) {
-				try {
-					File featureXML = new File(dirs[index], FEATURE_XML);
-					if (featureXML.lastModified() <= featuresChangeStamp &&
-						dirs[index].lastModified() <= featuresChangeStamp)
-						continue;
-					URL featureURL = featureXML.toURL();
-					FeatureEntry featureEntry = featureParser.parse(featureURL);
-					if (featureEntry != null)
-						addFeatureEntry(featureEntry);
-				} catch (MalformedURLException e) {
-					Utils.log(NLS.bind(Messages.InstalledSiteParser_UnableToCreateURLForFile, (new String[] { featuresDir.getAbsolutePath() })));
-				}
-			}
-		}
-		
-		Utils.debug(resolvedURL.toString() + " located  " + featureEntries.size() + " feature(s)"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-	
-	/**
-	 * Detect new plugins (timestamp > current site timestamp)
-	 * and validates existing plugins (they might have been removed)
-	 */
-	private void detectPlugins() {
-		boolean compareTimeStamps = false;
-		if (pluginEntries != null) {
-			validatePluginEntries();
-			compareTimeStamps = true; // only pick up newer plugins
-		} else
-			pluginEntries = new ArrayList();
-
-		if (!PlatformConfiguration.supportsDetection(resolvedURL))
-			return;
-
-		// locate plugin entries on site
-		File pluginsDir = new File(resolvedURL.getFile(), PLUGINS);
-		
-		if (pluginsDir.exists() && pluginsDir.isDirectory()) {
-			File[] files = pluginsDir.listFiles();
-			for (int i = 0; i < files.length; i++) {
-				if(files[i].isDirectory()){
-					detectUnpackedPlugin(files[i], compareTimeStamps);
-				}else if(files[i].getName().endsWith(".jar")){ //$NON-NLS-1$
-					detectPackedPlugin(files[i], compareTimeStamps);
-				}else{
-					// not bundle file
-				}
-			}
-		} 
-		
-		Utils.debug(resolvedURL.toString() + " located  " + pluginEntries.size() + " plugin(s)"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	/**
-	 * @param file a plugin jar
-	 * @param compareTimeStamps set to true when looking for plugins changed since last time they were detected
-	 */
-	private void detectPackedPlugin(File file, boolean compareTimeStamps) {
-		// plugin to run directly from jar
-		if (compareTimeStamps && file.lastModified() <= pluginsChangeStamp) {
-			return;
-		}
-		String entryName = META_MANIFEST_MF;
-		ZipFile z = null;
-		InputStream bundleManifestIn = null;
-		InputStream pluginManifestIn = null;
-		String pluginURL = PLUGINS + "/" + file.getName(); //$NON-NLS-1$
-		try {
-			// First, check if has valid bundle manifest
-			z = new ZipFile(file);
-			if (z.getEntry(entryName) != null) {
-				bundleManifestIn = z.getInputStream(new ZipEntry(entryName));
-				BundleManifest manifest = new BundleManifest(bundleManifestIn,
-						pluginURL);
-				if (manifest.exists()) {
-					addPluginEntry(manifest.getPluginEntry());
-					return;
-				}
-			}
-			// no bundle manifest, check for plugin.xml or fragment.xml
-			entryName = PLUGIN_XML;
-			if (z.getEntry(entryName) == null) {
-				entryName = FRAGMENT_XML;
-			}
-			if (z.getEntry(entryName) != null) {
-				pluginManifestIn = z.getInputStream(new ZipEntry(entryName));
-				PluginEntry entry1 = pluginParser.parse(pluginManifestIn,
-						pluginURL);
-				addPluginEntry(entry1);
-			}
-		} catch (IOException e5) {
-			String pluginFileString2 = pluginURL + "!" + entryName; //$NON-NLS-1$
-			Utils.log(NLS.bind(Messages.InstalledSiteParser_ErrorAccessing, (new String[] { pluginFileString2 })));
-		} catch (SAXException e3) {
-			String pluginFileString1 = pluginURL + "!" + entryName; //$NON-NLS-1$
-			Utils.log(NLS.bind(Messages.InstalledSiteParser_ErrorParsingFile, (new String[] { pluginFileString1 })));
-		} finally {
-			if (bundleManifestIn != null) {
-				try {
-					bundleManifestIn.close();
-				} catch (IOException e4) {
-				}
-			}
-			if (pluginManifestIn != null) {
-				try {
-					pluginManifestIn.close();
-				} catch (IOException e2) {
-				}
-			}
-			if (z != null) {
-				try {
-					z.close();
-				} catch (IOException e1) {
-				}
-			}
-		}
-	}
-	/**
-	 * @param file a plugin directory
-	 * @param compareTimeStamps set to true when looking for plugins changed since last time they were detected
-	 */
-	private void detectUnpackedPlugin(File file, boolean compareTimeStamps) {
-		// unpacked plugin
-		long dirTimestamp = file.lastModified();
-		File pluginFile = new File(file, META_MANIFEST_MF);
-		try {
-			// First, check if has valid bundle manifest
-			BundleManifest bundleManifest = new BundleManifest(pluginFile);
-			if (bundleManifest.exists()) {
-				if (compareTimeStamps
-						&& dirTimestamp <= pluginsChangeStamp
-						&& pluginFile.lastModified() <= pluginsChangeStamp)
-					return;
-				PluginEntry entry = bundleManifest.getPluginEntry();
-				addPluginEntry(entry);
-			} else {
-				// no bundle manifest, check for plugin.xml or fragment.xml
-				pluginFile = new File(file, PLUGIN_XML);
-				if (!pluginFile.exists()) { //$NON-NLS-1$
-					pluginFile = new File(file, FRAGMENT_XML); //$NON-NLS-1$
-				}
-				if (pluginFile.exists() && !pluginFile.isDirectory()) {
-					// TODO in the future, assume that the timestamps are not
-					// reliable,
-					// or that the user manually modified an existing plugin,
-					// so
-					// the apparently modifed plugin may actually be configured
-					// already.
-					// We will need to double check for this. END to do.
-					if (compareTimeStamps 
-							&& dirTimestamp <= pluginsChangeStamp
-							&& pluginFile.lastModified() <= pluginsChangeStamp)
-						return;
-					PluginEntry entry = pluginParser.parse(pluginFile);
-					addPluginEntry(entry);
-				}
-			}
-		} catch (IOException e) {
-			String pluginFileString = pluginFile.getAbsolutePath();
-			if (ConfigurationActivator.DEBUG)
-				Utils.log(Utils.newStatus(NLS.bind(Messages.InstalledSiteParser_ErrorParsingFile, (new String[] { pluginFileString })), e));
-			else
-				Utils.log(NLS.bind(Messages.InstalledSiteParser_ErrorAccessing, (new String[] { pluginFileString })));
-		} catch (SAXException e) {
-			String pluginFileString = pluginFile.getAbsolutePath();
-			Utils.log(NLS.bind(Messages.InstalledSiteParser_ErrorParsingFile, (new String[] { pluginFileString })));
-        }
-	}
-
-	/**
-	 * @return list of feature url's (relative to site)
-	 */
-	private synchronized String[] getDetectedFeatures() {
-		if (featureEntries == null)
-			detectFeatures();
-		String[] features = new String[featureEntries.size()];
-		Iterator iterator = featureEntries.values().iterator();
-		for (int i=0; i<features.length; i++)
-			features[i] = ((FeatureEntry)iterator.next()).getURL();
-		return features;
-	}
-
-	/**
-	 * @return list of plugin url's (relative to site)
-	 */
-	private synchronized String[] getDetectedPlugins() {
-		if (pluginEntries == null)
-			detectPlugins();
-		
-		String[] plugins = new String[pluginEntries.size()];
-		for (int i=0; i<plugins.length; i++)
-			plugins[i] = ((PluginEntry)pluginEntries.get(i)).getURL();
-		return plugins;
-	}
-
-	private void computeChangeStamp() {
-		changeStamp = Math.max(computeFeaturesChangeStamp(), computePluginsChangeStamp());
-//		changeStampIsValid = true;
-	}
-
-	private synchronized long computeFeaturesChangeStamp() {
-		if (featuresChangeStamp > 0)
-			return featuresChangeStamp;
-		
-		long start = 0;
-		if (ConfigurationActivator.DEBUG)
-			start = (new Date()).getTime();
-		String[] features = getFeatures();
-	
-		// compute stamp for the features directory
-		long dirStamp = 0;
-		if (PlatformConfiguration.supportsDetection(resolvedURL)) {
-			File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-			File featuresDir = new File(root, FEATURES);
-			dirStamp = featuresDir.lastModified();
-		}
-		featuresChangeStamp = Math.max(dirStamp, computeStamp(features));
-		if (ConfigurationActivator.DEBUG) {
-			long end = (new Date()).getTime();
-			Utils.debug(resolvedURL.toString() + " feature stamp: " + featuresChangeStamp + " in " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-		}
-		return featuresChangeStamp;
-	}
-
-	private synchronized long computePluginsChangeStamp() {
-		if (pluginsChangeStamp > 0)
-			return pluginsChangeStamp;
-		
-		if (!PlatformConfiguration.supportsDetection(resolvedURL)) {
-			Utils.log(NLS.bind(Messages.SiteEntry_computePluginStamp, (new String[] { resolvedURL.toExternalForm() })));
-			return 0;
-		}
-
-		// compute stamp for the plugins directory
-		File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		File pluginsDir = new File(root, PLUGINS);
-		if (!pluginsDir.exists() || !pluginsDir.isDirectory()) {
-			Utils.log(NLS.bind(Messages.SiteEntry_pluginsDir, (new String[] { pluginsDir.getAbsolutePath() })));
-			return 0;
-		}
-
-		pluginsChangeStamp = pluginsDir.lastModified();
-		return pluginsChangeStamp;
-	}
-
-	private long computeStamp(String[] targets) {
-
-		long result = 0;
-		if (!PlatformConfiguration.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.
-			// In fact, we should get the last modified from the connection
-			for (int i = 0; i < targets.length; i++)
-				result ^= targets[i].hashCode();
-			Utils.debug("*WARNING* computing stamp using URL hashcodes only"); //$NON-NLS-1$
-		} else {
-			// compute stamp across local targets
-			File rootFile = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-			if (rootFile.exists()) {
-				File f = null;
-				for (int i = 0; i < targets.length; i++) {
-					f = new File(rootFile, targets[i]);
-					if (f.exists())
-						result = Math.max(result, f.lastModified());
-				}
-			}
-		}
-
-		return result;
-	}
-	
-	public void setLinkFileName(String linkFileName) {
-		this.linkFileName = linkFileName;
-	}
-	
-	public String getLinkFileName() {
-		return linkFileName;
-	}
-
-	public boolean isExternallyLinkedSite() {
-		return (linkFileName != null && !linkFileName.trim().equals("")); //$NON-NLS-1$
-	}
-
-	public synchronized void refresh() {
-		// reset computed values. Will be updated on next access.
-		featuresChangeStamp = 0;
-		pluginsChangeStamp = 0;
-		changeStamp = 0;
-		featureEntries = null;
-		pluginEntries = null;
-	}
-	
-	public void refreshPlugins() {
-		// reset computed values. Will be updated on next access.
-		pluginsChangeStamp = 0;
-		changeStamp = 0;
-		pluginEntries = null;
-	}
-	
-	public void addFeatureEntry(IFeatureEntry feature) {
-		if (featureEntries == null)
-			featureEntries = new HashMap();
-		// Make sure we keep the larger version of same feature
-		IFeatureEntry existing = (FeatureEntry)featureEntries.get(feature.getFeatureIdentifier());
-		if (existing != null) {
-			VersionedIdentifier existingVersion = new VersionedIdentifier(existing.getFeatureIdentifier(), existing.getFeatureVersion());
-			VersionedIdentifier newVersion = new VersionedIdentifier(feature.getFeatureIdentifier(), feature.getFeatureVersion());
-			if (existingVersion.compareVersion(newVersion) == VersionedIdentifier.LESS_THAN) {
-				featureEntries.put(feature.getFeatureIdentifier(), feature);
-				pluginsChangeStamp = 0;
-			} else if (existingVersion.equals(newVersion)) {
-				// log error if same feature version/id but a different url
-				if (feature instanceof FeatureEntry && existing instanceof FeatureEntry &&
-						!((FeatureEntry)feature).getURL().equals(((FeatureEntry)existing).getURL()))
-				Utils.log(NLS.bind(Messages.SiteEntry_duplicateFeature, (new String[] { getURL().toExternalForm(), existing.getFeatureIdentifier() })));
-			}
-		} else {
-			featureEntries.put(feature.getFeatureIdentifier(), feature);
-			pluginsChangeStamp = 0;
-		}
-		if (feature instanceof FeatureEntry)
-			((FeatureEntry)feature).setSite(this);
-	}
-	
-	public FeatureEntry[] getFeatureEntries() {
-		if (featureEntries == null)
-			detectFeatures();
-		
-		if (featureEntries == null)
-			return new FeatureEntry[0];
-		else
-			return (FeatureEntry[])featureEntries.values().toArray(new FeatureEntry[featureEntries.size()]);
-	}
-	
-	public void addPluginEntry(PluginEntry plugin) {
-		if (pluginEntries == null)
-			pluginEntries = new ArrayList();
-		// Note: we could use the latest version of the same plugin, like we do for features, but we let the runtime figure it out
-		pluginEntries.add(plugin);
-	}
-	
-	public PluginEntry[] getAllPluginEntries() {
-		if (pluginEntries == null)
-			detectPlugins();
-		return (PluginEntry[])pluginEntries.toArray(new PluginEntry[pluginEntries.size()]);
-	}
-	
-	public void loadFromDisk(long lastChange) throws CoreException{
-		featuresChangeStamp = lastChange;
-		pluginsChangeStamp = lastChange;
-		detectFeatures();
-		detectPlugins();
-	}
-	
-	/**
-	 * Saves state as xml content in a given parent element
-	 * @param doc
-	 */
-	public Element toXML(Document doc) {
-
-		Element siteElement = doc.createElement(CFG_SITE);
-		
-		if (getURL() != null)
-			siteElement.setAttribute(CFG_URL, Utils.makeRelative(Utils.getInstallURL(), getURL()).toString());
-
-		siteElement.setAttribute(CFG_ENABLED, isEnabled() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		siteElement.setAttribute(CFG_UPDATEABLE, isUpdateable() ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
-		if (isExternallyLinkedSite()) 
-			siteElement.setAttribute(CFG_LINK_FILE, getLinkFileName().trim().replace(File.separatorChar, '/')); 
-
-		int type = getSitePolicy().getType();
-		String typeString = CFG_POLICY_TYPE_UNKNOWN;
-		try {
-			typeString = CFG_POLICY_TYPE[type];
-		} catch (IndexOutOfBoundsException e) {
-			// ignore bad attribute ...
-		}
-		siteElement.setAttribute(CFG_POLICY, typeString); 
-		String[] list = getSitePolicy().getList();
-		if (list.length > 0) {
-			StringBuffer sb = new StringBuffer(256);
-			for (int i=0; i<list.length-1; i++) {
-				sb.append(list[i]);
-				sb.append(',');
-			}
-			sb.append(list[list.length-1]);
-			siteElement.setAttribute(CFG_LIST, sb.toString());
-		}
-//		// note: we don't save features inside the site element.
-		
-		// collect feature entries
-//		configElement.setAttribute(CFG_FEATURE_ENTRY_DEFAULT, defaultFeature);
-		FeatureEntry[] feats = getFeatureEntries();
-		for (int i = 0; i < feats.length; i++) {
-			Element featureElement = feats[i].toXML(doc);
-			siteElement.appendChild(featureElement);
-		}
-		
-		return siteElement;
-	}
-	
-	private void validateFeatureEntries() {
-		File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		Iterator iterator = featureEntries.values().iterator();
-		Collection deletedFeatures = new ArrayList();
-		while(iterator.hasNext()) {
-			FeatureEntry feature = (FeatureEntry)iterator.next();
-			// Note: in the future, we can check for absolute url as well.
-			//       For now, feature url is features/org.eclipse.foo/feature.xml
-			File featureXML = new File(root, feature.getURL());
-			if (!featureXML.exists())
-				deletedFeatures.add(feature.getFeatureIdentifier());
-		}
-		for(Iterator it=deletedFeatures.iterator(); it.hasNext();){
-			featureEntries.remove(it.next());
-		}
-	}
-	
-	private void validatePluginEntries() {
-		File root = new File(resolvedURL.getFile().replace('/', File.separatorChar));
-		Collection deletedPlugins = new ArrayList();
-		for (int i=0; i<pluginEntries.size(); i++) {
-			PluginEntry plugin = (PluginEntry)pluginEntries.get(i);
-			// Note: in the future, we can check for absolute url as well.
-			//       For now, feature url is plugins/org.eclipse.foo/plugin.xml
-			File pluginLocation = new File(root, plugin.getURL());
-			if (!pluginLocation.exists())
-				deletedPlugins.add(plugin);
-		}
-		for(Iterator it=deletedPlugins.iterator(); it.hasNext();){
-			pluginEntries.remove(it.next());
-		}
-	}
-	
-	public boolean isEnabled() {
-		return enabled;
-	}
-	
-	public void setEnabled(boolean enable) {
-		this.enabled = enable;
-	}
-	
-	public FeatureEntry getFeatureEntry(String id) {
-		FeatureEntry[] features = getFeatureEntries();
-		for (int i=0; i<features.length; i++)
-			if (features[i].getFeatureIdentifier().equals(id)) 
-				return features[i];
-		return null;
-	}
-	
-	
-	public boolean unconfigureFeatureEntry(IFeatureEntry feature) {
-		FeatureEntry existingFeature = getFeatureEntry(feature.getFeatureIdentifier());
-		if (existingFeature != null)
-			featureEntries.remove(existingFeature.getFeatureIdentifier());
-		return existingFeature != null;
-	}
-	
-	/*
-	 * This is a bit of a hack.
-	 * When no features were added to the site, but the site is initialized from platform.xml 
-	 * we need to set the feature set to empty, so we don't try to detect them.
-	 */
-	void initialized() { 
-		if (featureEntries == null)
-			featureEntries = new HashMap();
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java
deleted file mode 100644
index 2978c36..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/SitePolicy.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-
-
-public class SitePolicy implements IPlatformConfiguration.ISitePolicy {
-
-	private int type;
-	private String[] list;
-
-	public SitePolicy() {
-	}
-	public SitePolicy(int type, String[] list) {
-		if (type != ISitePolicy.USER_INCLUDE && type != ISitePolicy.USER_EXCLUDE && type != ISitePolicy.MANAGED_ONLY)
-			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;
-	}
-
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java
deleted file mode 100644
index aacff28..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/UpdateURLDecoder.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-
-public class UpdateURLDecoder {
-	static boolean init=false;
-	static boolean useEnc=true;
-	
-	public static String decode(String s, String enc) throws UnsupportedEncodingException {
-		if (!init) {
-			init = true;
-			try {
-				return URLDecoder.decode(s, enc);
-			} catch (NoSuchMethodError e) {
-				useEnc=false;				
-			}
-		}
-		
-		if (useEnc) {
-			return URLDecoder.decode(s, enc);
-		} else {
-			return URLDecoder.decode(s);
-		}
-
-	}
-
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java
deleted file mode 100644
index e7ce765..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/Utils.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.framework.log.*;
-
-public class Utils {
-	private static final String KEY_PREFIX = "%"; //$NON-NLS-1$
-	private static final String KEY_DOUBLE_PREFIX = "%%"; //$NON-NLS-1$
-	static FrameworkLog log;
-	// Install location	
-	private static URL installURL;
-
-	public static void debug(String s) {
-		if (ConfigurationActivator.DEBUG)
-			System.out.println("PlatformConfig: " + s); //$NON-NLS-1$
-	}
-	
-	/**
-	 * Creates a CoreException from some other exception.
-	 * The type of the CoreException is <code>IStatus.ERROR</code>
-	 * If the exception passed as a parameter is also a CoreException,
-	 * the new CoreException will contain all the status of the passed
-	 * CoreException.
-	 * 
-	 * @see IStatus#ERROR
-	 * @param s exception string
-	 * @param e actual exception being reported
-	 * @return a CoreException
-	 * @since 2.0
-	 */
-	public static CoreException newCoreException(String s, Throwable e) {
-
-		// check the case of a multistatus
-		IStatus status;
-		if (e instanceof CoreException) {
-			if (s == null)
-				s = ""; //$NON-NLS-1$
-			status = new MultiStatus("org.eclipse.update.configurator", 0, s, e); //$NON-NLS-1$
-			IStatus childrenStatus = ((CoreException) e).getStatus();
-			((MultiStatus) status).add(childrenStatus);
-			((MultiStatus) status).addAll(childrenStatus);
-		} else {
-			StringBuffer completeString = new StringBuffer(""); //$NON-NLS-1$
-			if (s != null)
-				completeString.append(s);
-			if (e != null) {
-				completeString.append(" ["); //$NON-NLS-1$
-				String msg = e.getLocalizedMessage();
-				completeString.append(msg!=null?msg:e.toString());
-				completeString.append("]"); //$NON-NLS-1$
-			}
-			status = newStatus(completeString.toString(), e);
-		}
-		return new CoreException(status); //$NON-NLS-1$
-	}
-
-	public static IStatus newStatus(String message, Throwable e) {
-		return new Status(IStatus.ERROR, "org.eclipse.update.configurator", IStatus.OK, message, e); //$NON-NLS-1$
-	}
-	
-	public static void log(String message) {
-		log(newStatus(message, null));
-	}
-	
-	public static void log(IStatus status) {
-		if (log != null) {
-			log.log(new FrameworkLogEntry(ConfigurationActivator.PI_CONFIGURATOR, status.getMessage(), 0, status.getException(), null));
-		} else {
-			System.out.println(status.getMessage());
-			if (status.getException() != null)
-				status.getException().printStackTrace();
-		}
-	}
-	
-	/**
-	 * Returns the url as a platform:/ url, if possible, else leaves it unchanged
-	 * @param url
-	 * @return
-	 */
-	public static URL asPlatformURL(URL url) {
-		try {
-			URL platformURL = new URL("platform:/base/"); //$NON-NLS-1$  // try using platform-relative URL
-			URL resolvedPlatformURL = Platform.asLocalURL(platformURL);
-			// TODO workaround bug in platform url resolution
-			if (resolvedPlatformURL.getProtocol().equals("file")) //$NON-NLS-1$
-				resolvedPlatformURL = new File(resolvedPlatformURL.getFile()).toURL();
-			String platformURLAsString = resolvedPlatformURL.toExternalForm();
-			String urlAsString = url.toExternalForm();
-			if (urlAsString.startsWith(platformURLAsString))
-				return new URL(platformURL.toExternalForm() + urlAsString.substring(platformURLAsString.length()) );
-			else
-				return url;
-		} catch (Exception e) {
-			return url;
-		}
-	}
-	
-
-	/**
-	 * 
-	 */
-	public static boolean isValidEnvironment(String os, String ws, String arch, String nl) {
-		if (os!=null && !isMatching(os, Platform.getOS())) return false;
-		if (ws!=null && !isMatching(ws, Platform.getWS())) return false;
-		if (arch!=null && !isMatching(arch, Platform.getOSArch())) return false;
-		if (nl!=null && !isMatchingLocale(nl, Platform.getNL())) return false;
-		return true;
-	}
-
-	/**
-	 * 
-	 */	
-	private static boolean isMatching(String candidateValues, String siteValues) {
-		if (siteValues==null) return false;
-		if ("*".equalsIgnoreCase(candidateValues)) return true; //$NON-NLS-1$
-		siteValues = siteValues.toUpperCase();		
-		StringTokenizer stok = new StringTokenizer(candidateValues, ","); //$NON-NLS-1$
-		while (stok.hasMoreTokens()) {
-			String token = stok.nextToken().toUpperCase();
-			if (siteValues.indexOf(token)!=-1) return true;
-		}
-		return false;
-	}
-	
-	/**
-	 * 
-	 */	
-	private static boolean isMatchingLocale(String candidateValues, String locale) {
-		if (locale==null) return false;
-		if ("*".equalsIgnoreCase(candidateValues)) return true; //$NON-NLS-1$
-		
-		locale = locale.toUpperCase();
-		candidateValues = candidateValues.toUpperCase();	
-		StringTokenizer stok = new StringTokenizer(candidateValues, ","); //$NON-NLS-1$
-		while (stok.hasMoreTokens()) {
-			String candidate = stok.nextToken();
-			if (locale.indexOf(candidate) == 0)
-				return true;
-			if (candidate.indexOf(locale) == 0)
-				return true;
-		}
-		return false;
-	}
-	
-	public static Locale getDefaultLocale() {
-		String nl = Platform.getNL();
-		// sanity test
-		if (nl == null)
-			return Locale.getDefault();
-		
-		// break the string into tokens to get the Locale object
-		StringTokenizer locales = new StringTokenizer(nl,"_"); //$NON-NLS-1$
-		if (locales.countTokens() == 1)
-			return new Locale(locales.nextToken(), ""); //$NON-NLS-1$
-		else if (locales.countTokens() == 2)
-			return new Locale(locales.nextToken(), locales.nextToken());
-		else if (locales.countTokens() == 3)
-			return new Locale(locales.nextToken(), locales.nextToken(), locales.nextToken());
-		else
-			return Locale.getDefault();
-	}
-	
-	
-	/**
-	 * 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>
-	 *     resolveNLString(b,"Hello World") returns "Hello World"</li>
-	 *     resolveNLString(b,"%name") returns "Project Name"</li>
-	 *     resolveNLString(b,"%name Hello World") returns "Project Name"</li>
-	 *     resolveNLString(b,"%abcd Hello World") returns "Hello World"</li>
-	 *     resolveNLString(b,"%abcd") returns "%abcd"</li>
-	 *     resolveNLString(b,"%%name") returns "%name"</li>
-	 * </pre>
-	 * </p>
-	 * 
-	 * @param resourceBundle resource bundle.
-	 * @param string translatable string from model
-	 * @return string, or <code>null</code>
-	 * @since 2.0
-	 */
-	public static String getResourceString(ResourceBundle resourceBundle, String string) {
-
-		if (string == null)
-			return null;
-
-		String s = string.trim();
-
-		if (s.equals("")) //$NON-NLS-1$
-			return string;
-
-		if (!s.startsWith(KEY_PREFIX))
-			return string;
-
-		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 (resourceBundle == null)
-			return dflt;
-
-		try {
-			return resourceBundle.getString(key.substring(1));
-		} catch (MissingResourceException e) {
-			return dflt;
-		}
-	}
-
-	public static boolean isAutomaticallyStartedBundle(String bundleURL) {
-		if (bundleURL.indexOf("org.eclipse.osgi") != -1) //$NON-NLS-1$
-			return true;
-		
-		String osgiBundles = System.getProperty("osgi.bundles"); //$NON-NLS-1$
-		StringTokenizer st = new StringTokenizer(osgiBundles, ","); //$NON-NLS-1$
-		while (st.hasMoreTokens()) {
-			String token = st.nextToken().trim();
-			int index = token.indexOf('@');
-			if (index != -1)
-				token = token.substring(0,index);
-			if (token.startsWith("reference:file:")) { //$NON-NLS-1$
-				File f = new File(token.substring(15));
-				if (bundleURL.indexOf(f.getName()) != -1)
-					return true;
-			}
-			if (bundleURL.indexOf(token) != -1)
-				return true;
-		}
-		return false;
-	}
-
-	/**
-	 * Returns an absolute URL by combining a base absolute URL and another URL relative to the first one.
-	 * If the relative URL protocol does not match the base URL protocol, or if the relative URL path is not relative, 
-	 * return it as is. 
-	 */
-	public static URL makeAbsolute(URL base, URL relativeLocation) {
-		if (relativeLocation.getProtocol() != null && !relativeLocation.getProtocol().equals(base.getProtocol()))
-			// it is not relative, return as is (avoid creating garbage)
-			return relativeLocation;
-		IPath relativePath = new Path(relativeLocation.getPath());
-		if (relativePath.isAbsolute())
-			return relativeLocation;
-		try {
-			IPath absolutePath = new Path(base.getPath()).append(relativeLocation.getPath());
-			return new URL(base.getProtocol(), base.getHost(), base.getPort(), absolutePath.toString());
-		} catch (MalformedURLException e) {
-			// cannot happen since we are building from two existing valid URLs
-			Utils.log(e.getLocalizedMessage());
-			return relativeLocation;
-		}
-	}
-
-	/**
-	 * Returns a URL which is equivalent to the given URL relative to the
-	 * specified base URL. Works only for file: URLs
-	 */
-	public static URL makeRelative(URL base, URL location) {
-		if (base == null)
-			return location;
-		if (!"file".equals(base.getProtocol())) //$NON-NLS-1$
-			return location;
-		if (!base.getProtocol().equals(location.getProtocol()))
-			return location;
-		if (base.getHost() == null ^ location.getHost() == null)
-			return location;
-		if (base.getHost() != null && !base.getHost().equals(location.getHost()))
-			return location;
-		if (base.getPort() != location.getPort())
-			return location;
-		IPath locationPath = new Path(location.getPath());
-		if (!locationPath.isAbsolute())
-			return location;
-		IPath relativePath = makeRelative(new Path(base.getPath()), locationPath);
-		try {
-			return new URL(base.getProtocol(), base.getHost(), base.getPort(), relativePath.toString());
-		} catch (MalformedURLException e) {
-			String message = e.getMessage();
-			if (message == null)
-				message = ""; //$NON-NLS-1$
-			Utils.log(Utils.newStatus(message, e));
-		}
-		return location;
-	}
-
-	/**
-	 * Returns a path which is equivalent to the given location relative to the
-	 * specified base path.
-	 */
-	public static IPath makeRelative(IPath base, IPath location) {
-		if (location.getDevice() != null && !location.getDevice().equalsIgnoreCase(base.getDevice()))
-			return location;
-		int baseCount = base.segmentCount();
-		int count = base.matchingFirstSegments(location);
-		String temp = ""; //$NON-NLS-1$
-		for (int j = 0; j < baseCount - count; j++)
-			temp += "../"; //$NON-NLS-1$
-		return new Path(temp).append(location.removeFirstSegments(count));
-	}
-
-	/**
-	 * Returns a string URL which is equivalent to the given absolute location 
-	 * made relative to the specified base path.
-	 */
-	public static String makeRelative(URL base, String absolute) {
-		try {
-			return makeRelative(base, new URL(absolute)).toExternalForm();
-		} catch (MalformedURLException e) {
-			// returns the original string if is invalid
-			return absolute;
-		}
-	}
-
-	public static URL getInstallURL() {
-		if (installURL == null)
-			installURL = Platform.getInstallLocation().getURL();
-		return installURL;
-	}
-
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java
deleted file mode 100644
index 4ea06a1..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/VersionedIdentifier.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator;
-
-import java.util.*;
-
-
-public 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 String version;
-
-	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);
-			version = s.substring(loc + 1);
-			if(version==null)
-				version = "0.0.0"; //$NON-NLS-1$
-			parseVersion(version);
-		} else
-			this.identifier = s;
-	}
-	
-	public VersionedIdentifier(String id, String version) {
-		this(id+ID_SEPARATOR+ (version==null?"0.0.0":version) ); //$NON-NLS-1$
-		this.version = version;
-	}
-	
-	public String getVersion() {
-		return version;
-	}
-	
-	public String getIdentifier() {
-		return identifier;
-	}
-
-	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;
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#equals(java.lang.Object)
-	 */
-	public boolean equals(Object obj) {
-		if (this == obj)
-			return true;
-		if (!(obj instanceof VersionedIdentifier))
-			return false;
-		
-		VersionedIdentifier other = (VersionedIdentifier)obj;
-		return equalIdentifiers(other) &&
-			this.major == other.major &&
-			this.minor == other.minor &&
-			this.service == other.service &&
-			compareQualifiers(this.qualifier, other.qualifier) == EQUAL;
-	}
-	
-	/* (non-Javadoc)
-	 * @see java.lang.Object#hashCode()
-	 */
-	public int hashCode() {
-		return (identifier + "_" + version).hashCode(); //$NON-NLS-1$
-	}
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
-	 */
-	public String toString() {
-		return identifier + "_" + version; //$NON-NLS-1$
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java
deleted file mode 100644
index ffa74cd..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/XMLPrintHandler.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.internal.configurator;
-
-import java.io.*;
-
-import org.w3c.dom.*;
-
-
-public class XMLPrintHandler {
-	//	used to print XML file
-	public static final String XML_COMMENT_END_TAG = "-->"; //$NON-NLS-1$
-	public static final String XML_COMMENT_BEGIN_TAG = "<!--"; //$NON-NLS-1$
-	public static final String XML_HEAD = "<?xml version=\"1.0\" encoding=\""; //$NON-NLS-1$
-	public static final String XML_HEAD_END_TAG = "?>"; //$NON-NLS-1$
-	public static final String XML_DBL_QUOTES = "\""; //$NON-NLS-1$
-	public static final String XML_SPACE = " "; //$NON-NLS-1$
-	public static final String XML_BEGIN_TAG = "<"; //$NON-NLS-1$
-	public static final String XML_END_TAG = ">"; //$NON-NLS-1$
-	public static final String XML_EQUAL = "="; //$NON-NLS-1$
-	public static final String XML_SLASH = "/"; //$NON-NLS-1$
-
-	public static void printBeginElement(Writer xmlWriter, String elementString) throws IOException{
-		StringBuffer temp = new StringBuffer(XML_BEGIN_TAG);
-		temp.append(elementString).append(XML_END_TAG).append("\n"); //$NON-NLS-1$
-		xmlWriter.write(temp.toString());
-
-	}
-
-	public static void printEndElement(Writer xmlWriter, String elementString) throws IOException{
-		StringBuffer temp = new StringBuffer(XML_BEGIN_TAG);
-		temp.append(XML_SLASH).append(elementString).append(XML_END_TAG).append("\n"); //$NON-NLS-1$
-		xmlWriter.write(temp.toString());
-
-	}
-
-	
-	public static void printText(Writer xmlWriter, String text) throws IOException{
-		xmlWriter.write(encode(text).toString());
-	}
-
-	public static void printComment(Writer xmlWriter, String comment)throws IOException {
-		StringBuffer temp = new StringBuffer(XML_COMMENT_BEGIN_TAG);
-		temp.append(encode(comment).toString()).append(XML_COMMENT_END_TAG).append("\n"); //$NON-NLS-1$
-		xmlWriter.write(temp.toString());
-	}
-
-	public static void printHead(Writer xmlWriter, String encoding) throws IOException {
-		StringBuffer temp = new StringBuffer(XML_HEAD);
-		temp.append(encoding).append(XML_DBL_QUOTES).append(XML_HEAD_END_TAG).append("\n"); //$NON-NLS-1$
-		xmlWriter.write(temp.toString());
-	}
-
-	public static String wrapAttributeForPrint(String attribute, String value) throws IOException {
-		StringBuffer temp = new StringBuffer(XML_SPACE);
-		temp.append(attribute).append(XML_EQUAL).append(XML_DBL_QUOTES)
-				.append(encode(value).toString()).append(XML_DBL_QUOTES);
-		return temp.toString();
-
-	}
-
-	public static void printNode(Writer xmlWriter, Node node,String encoding)  throws Exception{
-		if (node == null) {
-			return;
-		}
-
-		switch (node.getNodeType()) {
-		case Node.DOCUMENT_NODE: {
-			printHead(xmlWriter,encoding);
-			printNode(xmlWriter, ((Document) node).getDocumentElement(),encoding);
-			break;
-		}
-		case Node.ELEMENT_NODE: {
-			//get the attribute list for this node.
-			StringBuffer tempElementString = new StringBuffer(node.getNodeName());
-			NamedNodeMap attributeList = node.getAttributes();
-			if ( attributeList != null ) {
-				for(int i= 0; i <attributeList.getLength();i++){
-					Node attribute = attributeList.item(i);
-					tempElementString.append(wrapAttributeForPrint(attribute.getNodeName(),attribute.getNodeValue()));
-				}
-			}
-			printBeginElement(xmlWriter,tempElementString.toString());
-			
-			// do this recursively for the child nodes.
-			NodeList childNodes = node.getChildNodes();
-			if (childNodes != null) {
-				int length = childNodes.getLength();
-				for (int i = 0; i < length; i++) {
-					printNode(xmlWriter, childNodes.item(i),encoding);
-				}
-			}
-			
-			printEndElement(xmlWriter,node.getNodeName());
-			break;
-		}
-		
-		case Node.TEXT_NODE: {
-			xmlWriter.write(encode(node.getNodeValue()).toString());
-			break;
-		}
-		default: {
-			throw new UnsupportedOperationException(Messages.XMLPrintHandler_unsupportedNodeType);
-			
-		}
-		}
-
-	}
-
-	public static StringBuffer encode(String value) {
-		StringBuffer buf = new StringBuffer();
-		for (int i = 0; i < value.length(); i++) {
-			char c = value.charAt(i);
-			switch (c) {
-				case '&' :
-					buf.append("&amp;"); //$NON-NLS-1$
-					break;
-				case '<' :
-					buf.append("&lt;"); //$NON-NLS-1$
-					break;
-				case '>' :
-					buf.append("&gt;"); //$NON-NLS-1$
-					break;
-				case '\'' :
-					buf.append("&apos;"); //$NON-NLS-1$
-					break;
-				case '\"' :
-					buf.append("&quot;"); //$NON-NLS-1$
-					break;
-				default :
-					buf.append(c);
-					break;
-			}
-		}
-		return buf;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java
deleted file mode 100644
index b031f2c..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/AboutInfo.java
+++ /dev/null
@@ -1,254 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator.branding;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-
-
-/**
- * The information within this object is obtained from the about INI file.
- * This file resides within an install configurations directory and must be a 
- * standard java property file.  
- * <p>
- * This class is not intended to be instantiated or subclassed by clients.
- * </p>
- */
-public final class AboutInfo {
-	private final static String INI_FILENAME = "about.ini"; //$NON-NLS-1$
-	private final static String PROPERTIES_FILENAME = "about.properties"; //$NON-NLS-1$
-	private final static String MAPPINGS_FILENAME = "about.mappings"; //$NON-NLS-1$
-
-	private String featureId;
-	private String versionId = ""; //$NON-NLS-1$
-	private String featurePluginLabel;
-	private String providerName;
-	private String appName;
-	private URL windowImageURL;
-	private URL[] windowImagesURLs;
-	private URL aboutImageURL;
-	private URL featureImageURL;
-	private URL welcomePageURL;
-	private String aboutText;
-	private String welcomePerspective;
-	private String tipsAndTricksHref;
-
-
-	/*
-	 * Create a new about info for a feature with the given id.
-	 */
-	/* package */ AboutInfo(String featureId) {
-		super();
-		this.featureId = featureId;
-	}
-
-	/**
-	 * Returns the configuration information for the feature with the 
-	 * given id.
-	 * 
-	 * @param featureId the feature id
-	 * @param versionId the version id (of the feature)
-	 * @param pluginId the plug-in id
-	 * @return the configuration information for the feature
-	 */
-	public static AboutInfo readFeatureInfo(String featureId, String versionId, String pluginId) {
-//		Assert.isNotNull(featureId);
-//		Assert.isNotNull(versionId);
-//		Assert.isNotNull(pluginId);
-		IniFileReader reader = new IniFileReader(featureId, pluginId, INI_FILENAME, PROPERTIES_FILENAME, MAPPINGS_FILENAME);
-		reader.load();
-// bug 78031
-//		if (!status.isOK()) {
-//			//return null;
-//			return new AboutInfo(featureId); // dummy about info
-//		}
-		
-		AboutInfo info = new AboutInfo(featureId);
-		Hashtable runtimeMappings  = new Hashtable();
-		runtimeMappings.put("{featureVersion}", versionId); //$NON-NLS-1$
-		info.versionId = versionId;
-		info.featurePluginLabel = reader.getFeaturePluginLabel();
-		info.providerName = reader.getProviderName();
-		info.appName = reader.getString("appName", true, runtimeMappings); //$NON-NLS-1$
-		info.aboutText = reader.getString("aboutText", true, runtimeMappings); //$NON-NLS-1$
-		info.windowImageURL = reader.getURL("windowImage"); //$NON-NLS-1$
-		// look for the newer array, but if its not there then use the older,
-		// single image definition
-		info.windowImagesURLs = reader.getURLs("windowImages"); //$NON-NLS-1$
-		info.aboutImageURL = reader.getURL("aboutImage"); //$NON-NLS-1$
-		info.featureImageURL = reader.getURL("featureImage"); //$NON-NLS-1$
-		info.welcomePageURL = reader.getURL("welcomePage"); //$NON-NLS-1$
-		info.welcomePerspective = reader.getString("welcomePerspective", false, runtimeMappings); //$NON-NLS-1$
-		info.tipsAndTricksHref = reader.getString("tipsAndTricksHref", false, runtimeMappings); //$NON-NLS-1$
-		return info;
-	}
-	
-	/**
-	 * Returns the URL for an image which can be shown in an "about" dialog 
-	 * for this product. Products designed to run "headless" typically would not 
-	 * have such an image.
-	 * 
-	 * @return the URL for an about image, or <code>null</code> if none
-	 */
-	public URL getAboutImageURL() {
-		return aboutImageURL;
-	}
-
-	/**
-	 * Returns the URL for an image which can be shown in an "about features" 
-	 * dialog. Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the URL for a feature image, or <code>null</code> if none
-	 */
-	public URL getFeatureImageURL() {
-		return featureImageURL;
-	}
-
-	/**
-	 * Returns the simple name of the feature image file.
-	 * 
-	 * @return the simple name of the feature image file,
-	 * or <code>null</code> if none
-	 */
-	public String getFeatureImageName() {
-		if (featureImageURL != null) {
-			IPath path = new Path(featureImageURL.getPath());
-			return path.lastSegment();
-		} else {
-			return null;
-		}
-	}
-
-		
-	/**
-	 * Returns a label for the feature plugn, or <code>null</code>.
-	 */
-	public String getFeatureLabel() {
-		return featurePluginLabel;
-	}
-
-	/**
-	 * Returns the id for this feature.
-	 * 
-	 * @return the feature id
-	 */
-	public String getFeatureId() {
-		return featureId;
-	}
-	
-	/**
-	 * Returns the text to show in an "about" dialog for this product.
-	 * Products designed to run "headless" typically would not have such text.
-	 * 
-	 * @return the about text, or <code>null</code> if none
-	 */
-	public String getAboutText() {
-		return aboutText;
-	}
-
-	/**
-	 * Returns the application name or <code>null</code>.
-	 * Note this is never shown to the user.
-	 * It is used to initialize the SWT Display.
-	 * <p>
-	 * On Motif, for example, this can be used
-	 * to set the name used for resource lookup.
-	 * </p>
-	 *
-	 * @return the application name, or <code>null</code>
-	 */
-	public String getAppName() {
-		return appName;
-	}
-
-	/**
-	 * Returns the product name or <code>null</code>.
-	 * This is shown in the window title and the About action.
-	 *
-	 * @return the product name, or <code>null</code>
-	 */
-	public String getProductName() {
-		return featurePluginLabel;
-	}
-
-	/**
-	 * Returns the provider name or <code>null</code>.
-	 *
-	 * @return the provider name, or <code>null</code>
-	 */
-	public String getProviderName() {
-		return providerName;
-	}
-
-	/**
-	 * Returns the feature version id.
-	 *
-	 * @return the version id of the feature
-	 */
-	public String getVersionId() {
-		return versionId;
-	}
-
-	/**
-	 * Returns a <code>URL</code> for the welcome page.
-	 * Products designed to run "headless" typically would not have such an page.
-	 * 
-	 * @return the welcome page, or <code>null</code> if none
-	 */
-	public URL getWelcomePageURL() {
-		return welcomePageURL;
-	}
-
-	/**
-	 * Returns the ID of a perspective in which to show the welcome page.
-	 * May be <code>null</code>.
-	 * 
-	 * @return the welcome page perspective id, or <code>null</code> if none
-	 */
-	public String getWelcomePerspectiveId() {
-		return welcomePerspective;
-	}
-
-	/**
-	 * Returns a <code>String</code> for the tips and trick href.
-	 * 
-	 * @return the tips and tricks href, or <code>null</code> if none
-	 */
-	public String getTipsAndTricksHref() {
-		return tipsAndTricksHref;
-	}
-
-	/**
-	 * Returns the image url for the window image to use for this product.
-	 * Products designed to run "headless" typically would not have such an image.
-	 * 
-	 * @return the image url for the window image, or <code>null</code> if none
-	 */
-	public URL getWindowImageURL() {
-		return windowImageURL;
-	}
-	
-	/**
-	 * Return an array of image URLs for the window images to use for
-	 * this product. The expectations is that the elements will be the same
-	 * image rendered at different sizes. Products designed to run "headless"
-	 * typically would not have such images.
-	 * 
-	 * @return an array of the image descriptors for the window images, or
-	 *         <code>null</code> if none
-	 * @since 3.0
-	 */
-	public URL[] getWindowImagesURLs() {
-		return windowImagesURLs;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java
deleted file mode 100644
index 400c829..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IBundleGroupConstants.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator.branding;
-
-/**
- * These constants define the set of properties that the UI expects to
- * be available via <code>IBundleGroup.getProperty(String)</code>.
- * 
- * @since 3.0
- * @see org.eclipse.core.runtime.IBundleGroup#getProperty(String)
- */
-public interface IBundleGroupConstants {
-	/**
-	 * An image which can be shown in an "about features" dialog (32x32).
-	 */
-	public static final String FEATURE_IMAGE = "featureImage"; //$NON-NLS-1$
-
-	/**
-	 * A help reference for the feature's tips and tricks page (optional).
-	 */
-	public static final String TIPS_AND_TRICKS_HREF = "tipsAndTricksHref"; //$NON-NLS-1$
-
-	/**
-	 * A URL for the feature's welcome page (special XML-based format)
-     * ($nl$/ prefix to permit locale-specific translations of entire file).
-	 * Products designed to run "headless" typically would not have such a page.
-	 */
-	public static final String WELCOME_PAGE = "welcomePage"; //$NON-NLS-1$
-
-	/**
-	 * The id of a perspective in which to show the welcome page
-	 * (optional).
-	 */
-	public static final String WELCOME_PERSPECTIVE = "welcomePerspective"; //$NON-NLS-1$
-	
-	/**
-	 * The URL of the license page for the feature
-	 * (optional).
-	 */
-	public static final String LICENSE_HREF = "licenseHref"; //$NON-NLS-1$
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java
deleted file mode 100644
index 9019992..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IProductConstants.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator.branding;
-
-/**
- * These constants define the set of properties that the UI expects to
- * be available via <code>IProduct.getProperty(String)</code>.
- * 
- * @since 3.0
- * @see org.eclipse.core.runtime.IProduct#getProperty(String)
- */
-public interface IProductConstants {
-	/**
-	 * The application name, used to initialize the SWT Display.  This
-	 * value is distinct from the string displayed in the application
-	 * title bar.
-	 * <p>
-	 * E.g., On motif, this can be used to set the name used for
-	 * resource lookup.
-	 * </p>
-	 */
-	public static final String APP_NAME = "appName"; //$NON-NLS-1$
-
-	/**
-	 * The text to show in an "about" dialog for this product.
-	 * Products designed to run "headless" typically would not
-	 * have such text.
-	 */
-	public static final String ABOUT_TEXT = "aboutText"; //$NON-NLS-1$
-
-	/**
-	 * An image which can be shown in an "about" dialog for this
-	 * product. Products designed to run "headless" typically would not 
-	 * have such an image.
-	 * <p>
-     * A full-sized product image (no larger than 500x330 pixels) is
-     * shown without the "aboutText" blurb.  A half-sized product image
-     * (no larger than 250x330 pixels) is shown with the "aboutText"
-     * blurb beside it.
-     */
-	public static final String ABOUT_IMAGE = "aboutImage"; //$NON-NLS-1$
-
-	/**
-	 * An image to be used as the window icon for this product (16x16).  
-	 * Products designed to run "headless" typically would not have such an image.
-	 * <p>
-	 * If the <code>WINDOW_IMAGES</code> property is given, then it supercedes
-	 * this one.
-	 * </p>
-	 */
-	public static final String WINDOW_IMAGE = "windowImage"; //$NON-NLS-1$
-
-	/**
-	 * An array of one or more images to be used for this product.  The
-	 * expectation is that the array will contain the same image rendered
-	 * at different sizes (16x16 and 32x32).  
-	 * Products designed to run "headless" typically would not have such images.
-	 * <p>
-	 * If this property is given, then it supercedes <code>WINDOW_IMAGE</code>.
-	 * </p>
-	 */
-	public static final String WINDOW_IMAGES = "windowImages"; //$NON-NLS-1$
-	/**
-	 * A URL for the products's welcome page (special XML-based format)
-	 * ($nl$/ prefix to permit locale-specific translations of entire file).
-	 * Products designed to run "headless" typically would not have such a page.
-	 */
-	public static final String WELCOME_PAGE = "welcomePage";  //$NON-NLS-1$
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java
deleted file mode 100644
index 539d7bf..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/branding/IniFileReader.java
+++ /dev/null
@@ -1,379 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.configurator.branding;
-
-import java.io.*;
-import java.net.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.update.internal.configurator.Messages;
-import org.osgi.framework.*;
-
-/**
- * Reads the information found in an "INI" file. This file must be in a
- * standard Java properties format. A properties file may also be provided
- * to NL values in the INI file - values must start with the % prefix. A
- * mapping file may also be provided that contains "fill-ins" for the
- * properties file - format being "n = some text", where n is a number.
- */
-public class IniFileReader {
-	private static final String PID = "org.eclipse.update.configurator"; //$NON-NLS-1$
-	private static final Status OK_STATUS = new Status(IStatus.OK, PID, 0, "", null); //$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 NLS_TAG = "$nl$"; //$NON-NLS-1$
-
-	private String featureId;
-	private String pluginId;
-	private String iniFilename;
-	private String propertiesFilename;
-	private String mappingsFilename;
-	private Properties ini = null;
-	private PropertyResourceBundle properties = null;
-	private String[] mappings = null;
-	private Bundle bundle;
-
-	/**
-	 * Creates an INI file reader that can parse the contents into key,value pairs.
-	 * 
-	 * @param featureId the unique identifier of the feature, must not be <code>null</code>
-	 * @param pluginId the unique identifier of the feature plug-in, must not be <code>null</code>
-	 * @param iniFilename the INI file name, must not be <code>null</code>
-	 * @param propertiesFilename the properties filename, can be <code>null</code> if not required
-	 * @param mappingsFilename the mappings filename, can be <code>null</code> if not required
-	 */
-	public IniFileReader(String featureId, String pluginId, String iniFilename, String propertiesFilename, String mappingsFilename) {
-		super();
-		
-		if (featureId == null || pluginId == null || iniFilename == null) {
-			throw new IllegalArgumentException();
-		}
-			
-		this.featureId = featureId;
-		this.pluginId = pluginId;
-		this.iniFilename = iniFilename;
-		this.propertiesFilename = propertiesFilename;
-		this.mappingsFilename = mappingsFilename;
-	}
-
-	/**
-	 * Read the contents of the INI, properties, and mappings files.
-	 * Does nothing if the content has already been read and parsed.
-	 * 
-	 * @return an <code>IStatus</code> indicating the success or failure
-	 * 	of reading and parsing the INI file content
-	 */
-	public IStatus load() {
-		if (ini != null)
-			return OK_STATUS;
-			
-		// attempt to locate the corresponding plugin
-		bundle = Platform.getBundle(pluginId);
-		if (bundle == null || bundle.getState() == Bundle.UNINSTALLED || bundle.getState() == Bundle.INSTALLED) {
-			bundle = null; // make it null for other test down the road
-			String message = NLS.bind(Messages.IniFileReader_MissingDesc, (new String[] { featureId }));
-			return new Status(IStatus.ERROR, PID, 0, message, null);
-		}
-
-		// Determine the ini file location
-		URL iniURL = null;
-		IOException ioe = null;
-		try {
-			iniURL = Platform.find(bundle, new Path(NLS_TAG).append(iniFilename));
-			if (iniURL != null)
-				iniURL = Platform.resolve(iniURL);
-		} catch (IOException e) {
-			ioe = e;
-		}
-		if (iniURL == null) {
-			String message = NLS.bind(Messages.IniFileReader_OpenINIError, (new String[] { iniFilename }));
-			return new Status(IStatus.ERROR, PID, 0, message, ioe);
-		}
-		
-		// Determine the properties file location
-		URL propertiesURL = null;
-		if (propertiesFilename != null & propertiesFilename.length() > 0) {
-			try {
-				propertiesURL = Platform.find(bundle, new Path(NLS_TAG).append(propertiesFilename));
-				if (propertiesURL != null)
-					propertiesURL = Platform.resolve(propertiesURL);
-			} catch (IOException e) {
-				String message = NLS.bind(Messages.IniFileReader_OpenPropError, (new String[] { propertiesFilename }));
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			}
-		}
-
-		// Determine the mappings file location
-		URL mappingsURL = null;
-		if (mappingsFilename != null && mappingsFilename.length() > 0) {
-			try {
-				mappingsURL = Platform.find(bundle, new Path(NLS_TAG).append(mappingsFilename));
-				if (mappingsURL != null)
-					mappingsURL = Platform.resolve(mappingsURL);
-			} catch (IOException e) {
-				String message = NLS.bind(Messages.IniFileReader_OpenMapError, (new String[] { mappingsFilename }));
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			}
-		}
-
-		// OK to pass null properties and/or mapping file
-		return load(iniURL, propertiesURL, mappingsURL);
-	}
-		
-	/**
-	 * Returns the string value for the given key, or <code>null</code>.
-	 * The string value is NLS if requested.
-	 * 
-	 * @return the string value for the given key, or <code>null</code>
-	 */
-	public String getString(String key, boolean doNls, Hashtable runtimeMappings) {
-		if (ini == null)
-			return null;
-		String value = ini.getProperty(key);
-		if (value != null && doNls)
-			return getResourceString(value, runtimeMappings);
-		return value;
-	}
-
-
-	/**
-	 * Returns a URL for the given key, or <code>null</code>.
-	 * 
-	 * @return a URL for the given key, or <code>null</code>
-	 */
-	public URL getURL(String key) {
-		if (ini == null)
-			return null;
-
-		URL url = null;
-		String fileName = ini.getProperty(key);
-		if (fileName != null) {
-			if (bundle == null)
-				return null;
-			url = Platform.find(bundle, new Path(fileName));
-		}
-		return url;
-	}
-	
-	/**
-	 * Returns a array of URL for the given key, or <code>null</code>. The
-	 * property value should be a comma separated list of urls, tokens for
-	 * which bundle cannot build an url will have a null entry.
-	 * 
-	 * @param key name of the property containing the requested urls
-	 * @return a URL for the given key, or <code>null</code>
-	 * @since 3.0
-	 */
-	public URL[] getURLs(String key) {
-		if (ini == null || bundle == null)
-			return null;
-
-		String value = ini.getProperty(key);
-		if (value == null)
-			return null;
-
-		StringTokenizer tokens = new StringTokenizer(value, ","); //$NON-NLS-1$
-		ArrayList array = new ArrayList(10);
-		while (tokens.hasMoreTokens()) {
-			String str = tokens.nextToken().trim();
-			array.add(Platform.find(bundle, new Path(str)));
-		}
-
-		URL[] urls = new URL[array.size()];
-		array.toArray(urls);
-		return urls;
-	}
-
-	/**
-	 * Returns the feature plugin label, or <code>null</code>.
-	 * 
-	 * @return the feature plugin lable, or <code>null</code> if none.
-	 */
-	public String getFeaturePluginLabel() {
-		if (bundle == null)
-			return null;
-		else {
-			return (String)bundle.getHeaders().get(Constants.BUNDLE_NAME);
-		}
-	}
-	
-	/**
-	 * Returns the provider name for this feature, or <code>null</code>.
-	 * 
-	 * @return the provider name for this feature, or <code>null</code>
-	 */
-	public String getProviderName() {
-		if (bundle == null)
-			return null;
-		else {
-			return (String)bundle.getHeaders().get(Constants.BUNDLE_VENDOR);
-		}
-	}
-	
-	/*
-	 * 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>
-	 *     <li>getResourceString("Hello World") returns "Hello World"</li>
-	 *     <li>getResourceString("%name") returns "Project Name"</li>
-	 *     <li>getResourceString("%name Hello World") returns "Project Name"</li>
-	 *     <li>getResourceString("%abcd Hello World") returns "Hello World"</li>
-	 *     <li>getResourceString("%abcd") returns "%abcd"</li>
-	 *     <li>getResourceString("%%name") returns "%name"</li>
-	 *     <li>getResourceString(<code>null</code>) returns <code>null</code></li>
-	 * </pre>
-	 * </p>
-	 *
-	 * @param value the value or <code>null</code>
-	 * @param runtimeMappings runtime mappings or <code>null</code>
-	 * @return the resource string
-	 */
-	 public String getResourceString(String value, Hashtable runtimeMappings) {
-		
-		if (value == null)
-			return null;
-		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 (properties == null)
-			return dflt;
-
-		String result = null;
-		try {
-			result = properties.getString(key.substring(1));
-		} catch (MissingResourceException e) {
-			return dflt;
-		}
-		if (runtimeMappings != null) {
-			for (Enumeration e = runtimeMappings.keys(); e.hasMoreElements();) {
-				String keyValue = (String) e.nextElement();
-				int i = result.indexOf(keyValue);
-				if (i != -1) {
-					String s1 = result.substring(0,i);
-					String s2 = (String) runtimeMappings.get(keyValue);
-					String s3 = result.substring(i+keyValue.length());
-					result = s1 + s2 + s3;
-				}
-			}
-		}
-	
-		if (result.indexOf('{') != -1) {
-			// We test for the curly braces since due to NL issues we do not
-			// want to use MessageFormat unless we have to.
-			result = MessageFormat.format(result, mappings);
-		}
-		
-		return result;	
-	}
-
-	/*
-	 * Read the contents of the ini, properties, and mappings files.
-	 */
-	private IStatus load(URL iniURL, URL propertiesURL, URL mappingsURL) {
-
-		InputStream is = null;
-		try {
-			is = iniURL.openStream();
-			ini = new Properties();
-			ini.load(is);
-		} catch (IOException e) {
-			ini = null;
-			String message = NLS.bind(Messages.IniFileReader_ReadIniError, (new String[] { iniURL.toExternalForm() }));
-			return new Status(IStatus.ERROR, PID, 0, message, e);
-		} finally {
-			try {
-				if (is != null)
-					is.close();
-			} catch (IOException e) {
-			}
-		}
-
-		if (propertiesURL != null) {
-			is = null;
-			try {
-				is = propertiesURL.openStream();
-				properties = new PropertyResourceBundle(is);
-			} catch (IOException e) {
-				properties = null;
-				String message = NLS.bind(Messages.IniFileReader_ReadPropError, (new String[] { propertiesURL.toExternalForm() }));
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			} finally {
-				try {
-					if (is != null)
-						is.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-
-		PropertyResourceBundle bundle = null;
-		if (mappingsURL != null) {
-			is = null;
-			try {
-				is = mappingsURL.openStream();
-				bundle = new PropertyResourceBundle(is);
-			} catch (IOException e) {
-				bundle = null;
-				String message = NLS.bind(Messages.IniFileReader_ReadMapError, (new String[] { mappingsURL.toExternalForm() }));
-				return new Status(IStatus.ERROR, PID, 0, message, e);
-			} finally {
-				try {
-					if (is != null)
-						is.close();
-				} catch (IOException e) {
-				}
-			}
-		}
-
-		ArrayList mappingsList = new ArrayList();
-		if (bundle != null) {
-			boolean found = true;
-			int i = 0;
-			while (found) {
-				try {
-					mappingsList.add(bundle.getString(Integer.toString(i)));
-				} catch (MissingResourceException e) {
-					found = false;
-				}
-				i++;
-			}
-		}
-		mappings = (String[])mappingsList.toArray(new String[mappingsList.size()]);
-		
-		return OK_STATUS;
-	}
-}
diff --git a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties b/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties
deleted file mode 100644
index 424928f..0000000
--- a/update/org.eclipse.update.configurator/src/org/eclipse/update/internal/configurator/messages.properties
+++ /dev/null
@@ -1,94 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-### 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}\"
-cfg_unableToCreateConfig_ini = Unable to create config.ini
-
-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 plug-in.
-error_xerces=Fatal Error: Unable to locate matching org.apache.xerces plug-in.
-error_badNL=Bad value: \"{0}\" for NL. Using system default.
-
-InstalledSiteParser_DirectoryDoesNotExist=The directory \"{0}\" does not exist on the file system.
-InstalledSiteParser_UnableToCreateURL= Internal Error. Unable to create URL from \"{0}\".
-InstalledSiteParser_FileDoesNotExist= The file \"{0}\" does not exist.
-InstalledSiteParser_UnableToCreateURLForFile= Unable to create URL from \"{0}\".
-InstalledSiteParser_ErrorParsingFile= Unable to parse file \"{0}\".
-InstalledSiteParser_ErrorAccessing= Unable to access file \"{0}\".
-InstalledSiteParser_date = Invalid date attribute {0}
-BundleManifest_noVersion = {0} attribute not found in manifest for bundle \"{1}\".  Bundle will be ignored.
-
-FeatureParser_IdOrVersionInvalid= Error parsing feature stream. The unique identifier or the version is null or empty: unique identifier=\"{0}\" version=\"{1}\".
-
-BundleGroupProvider=Update Manager Configurator
-ProductProvider=Update Manager Configurator
-
-AboutInfo_notSpecified=Unspecified
-ConfigurationActivator_initialize=Cannot initialize the Update Configurator
-ConfigurationActivator_createConfig=Cannot create configuration in {0}
-ConfigurationActivator_uninstallBundle=Could not uninstall unused bundle {0}
-ConfigurationParser_cannotLoadSharedInstall=Could not load from shared install
-ConfigurationActivator_installBundle=Could not install bundle {0}
-PluginEntry_versionError=Unable to create versioned identifier: {0} {1}
-
-IniFileReader_MissingDesc = Cannot find plugin for feature {0}
-IniFileReader_OpenINIError = Cannot open branding file {0}
-IniFileReader_OpenPropError = Cannot open branding properties file {0}
-IniFileReader_OpenMapError = Cannot open mapping file {0}
-IniFileReader_ReadIniError = Error reading branding file {0}
-IniFileReader_ReadPropError = Error reading branding properties file {0}
-IniFileReader_ReadMapError = Error reading mapping files {0}
-
-SiteEntry_computePluginStamp = Cannot compute plugins change stamp for site {0} because it does not support plugin detection.
-SiteEntry_cannotFindFeatureInDir=Unable to find feature.xml in directory: {0}
-SiteEntry_duplicateFeature=Duplicate feature found on site {0} : {1}
-SiteEntry_pluginsDir = {0} is not a valid plugins directory.
-PlatformConfiguration_expectingPlatformXMLorDirectory=Either specify the configuration directory or a file named platform.xml
-PlatformConfiguration_cannotBackupConfig=Cannot backup current configuration
-PlatformConfiguration_cannotCloseStream=Could not close output stream for
-PlatformConfiguration_cannotCloseTempFile=Could not close output stream for temp file
-PlatformConfiguration_cannotRenameTempFile=Could not rename configuration temp file
-PlatformConfiguration_cannotLoadConfig=Cannot load configuration from
-PlatformConfiguration_cannotLoadDefaultSite=Cannot load default site
-PlatformConfiguration_cannotFindConfigFile=Platform configuration file cannot be found
-PlatformConfiguration_cannotSaveNonExistingConfig=Configuration cannot be saved because it does not exist
-HttpResponse_rangeExpected=Server returned full content instead of a range.
-HttpResponse_wrongRange=Server returned wrong range
-
-PluginParser_plugin_no_id = Plugin does not have a valid identifier: {0}
-PluginParser_plugin_no_version = Plugin does not have a valid version: {0}
-XMLPrintHandler_unsupportedNodeType=Unsupported XML Node Type.
diff --git a/update/org.eclipse.update.core.linux/.classpath b/update/org.eclipse.update.core.linux/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.core.linux/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/update/org.eclipse.update.core.linux/.cvsignore b/update/org.eclipse.update.core.linux/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.core.linux/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.linux/.project b/update/org.eclipse.update.core.linux/.project
deleted file mode 100644
index 178e2b7..0000000
--- a/update/org.eclipse.update.core.linux/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.core.linux</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.core.runtime.compatibility</project>

-		<project>org.eclipse.update.configurator</project>

-		<project>org.eclipse.update.core</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/update/org.eclipse.update.core.linux/META-INF/MANIFEST.MF b/update/org.eclipse.update.core.linux/META-INF/MANIFEST.MF
deleted file mode 100644
index b809cba..0000000
--- a/update/org.eclipse.update.core.linux/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentNameLinux
-Bundle-SymbolicName: org.eclipse.update.core.linux
-Bundle-Version: 3.1.0
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.update.core;bundle-version="[3.0.0,4.0.0)"
-Bundle-Localization: plugin
-Eclipse-PlatformFilter: (osgi.os=linux)
diff --git a/update/org.eclipse.update.core.linux/about.html b/update/org.eclipse.update.core.linux/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/update/org.eclipse.update.core.linux/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.linux/build.properties b/update/org.eclipse.update.core.linux/build.properties
deleted file mode 100644
index cd95a2e..0000000
--- a/update/org.eclipse.update.core.linux/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = os/,\
-               fragment.properties,\
-               about.html,\
-               META-INF/
-src.includes = src/,\
-               about.html
diff --git a/update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so b/update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so
deleted file mode 100644
index d70a9e9..0000000
--- a/update/org.eclipse.update.core.linux/os/linux/x86/libupdate.so
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core.linux/src/build.xml b/update/org.eclipse.update.core.linux/src/build.xml
deleted file mode 100644
index cf44ead..0000000
--- a/update/org.eclipse.update.core.linux/src/build.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="buildlibrary" default="run" basedir="."> 
-  
-  <!-- The properties ${eclipse-home} ${jdk-path} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  <property name="jdk-path" value="${java.home}"/>  
-  <property name="destination" value="${eclipse-home}/org.eclipse.update.core.linux/os/linux/x86/"/>
-  <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>
-  <property name="src-path" value="${eclipse-home}/org.eclipse.update.core.linux/src/"/>  
-  
-  <!-- sets the properties -->
-  <property name="library-name" value="libupdate"/>  
-  <property name="library-platform" value="so"/>    
-  <property name="library-file" value="${library-name}.${library-platform}"/>
-  
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.o"/>
-    </delete>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-      <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.o"/>
-    </delete>
-  </target>
-  
-  
-  <!-- This target runs the build. -->
-  <target name="run" depends="init,build,cleanup">
-  </target>
-  
-  <!-- This target build the library -->
-  <target name="build">
-    <echo message="Building ${library-file}"/>
-
-    <property name="header-path" value="${jdk-path}/../include"/>
-    <property name="header-linux-path" value="${header-path}/linux" />
-
-	<echo message="gcc -o  ${library-file} -shared -I${src-path} -I${header-linux-path} ${library-file} -static -lc"/>
-
-    <apply executable="gcc" dest="${eclipse-home}/" parallel="false">
-      <arg value="-o"/>
-      <arg value="${library-file}"/>
-      <arg value="-shared"/>
-      <arg value="-I${src-path}"/>
-      <arg value="-I${header-path}"/>      
-      <arg value="-I${header-linux-path}"/>  
-	  <srcfile/>
-	  <arg value="-static"/>           
-      <arg value="-lc"/>	  
-      <fileset dir="${src-path}" includes="*.c"/>
-      <mapper type="glob" from="*.c" to="*.o"/>
-    </apply>
-    
-	<move file="${library-file}" todir="${destination}"/>
-  </target>
-  
-  
-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.linux/src/update.c b/update/org.eclipse.update.core.linux/src/update.c
deleted file mode 100644
index b2acc26..0000000
--- a/update/org.eclipse.update.core.linux/src/update.c
+++ /dev/null
@@ -1,164 +0,0 @@
-/**********************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    IBM Corporation - Initial API and implementation

- **********************************************************************/

-

-/* bug 82520 : need to include stdlib.h */

-# include <stdlib.h>

-# include <sys/types.h>

-# include <sys/statfs.h>

-# include <update.h>

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const char * lpDirectoryName;

-

-	// Linux Parameters

-	struct statfs buffer;

-

-	// the result

-	jlong result = org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN;

-

-	cls = (*jnienv) -> GetObjectClass(jnienv, file);

-	id = (*jnienv) -> GetMethodID(jnienv, cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = (*jnienv) -> CallObjectMethod(jnienv, file, id);

-	lpDirectoryName = (*jnienv) -> GetStringUTFChars(jnienv, (jstring) obj, 0);

-

-	// cast one argument as jlong to have a jlong result

-	int err = statfs(lpDirectoryName,&buffer);

-	if (err==0){

-		long size = buffer.f_bsize;

-		jlong free = buffer.f_bfree;

-		result = size*free;

-	}

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const char * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = (*jnienv) -> GetObjectClass(jnienv, file);

-	id = (*jnienv) -> GetMethodID(jnienv, cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = (*jnienv) -> CallObjectMethod(jnienv, file, id);

-	lpDirectoryName = (*jnienv) -> GetStringUTFChars(jnienv, (jstring) obj, 0);

-

-	jstring result = NULL;

-

-	// Linux implementation following

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const char * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = (*jnienv) -> GetObjectClass(jnienv, file);

-	id = (*jnienv) -> GetMethodID(jnienv, cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = (*jnienv) -> CallObjectMethod(jnienv, file, id);

-	lpDirectoryName = (*jnienv) -> GetStringUTFChars(jnienv, (jstring) obj, 0);

-

-	int result;

-	

-	// Linux implemantation

-

-	result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH;

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints(

-	JNIEnv * jnienv,

-	jclass javaClass) {

-

-	//

-	int drive;

-	char driveName[100];

-	jobjectArray returnArray;

-	int nDrive = 0;

-

-	// 

-	jclass stringClass;

-	jobject empty;

-	int index = 0;

-	jobject str;

-

-	// Linux implementation

-	// find mount points

-

-	drive = 0;

-	stringClass = (*jnienv) -> FindClass(jnienv, "java/lang/String");

-	empty = (*jnienv) -> NewStringUTF(jnienv, "");

-	//returnArray = (*jnienv) -> NewObjectArray(jnienv, nDrive, stringClass, empty);

-

-	// for now return null as method is not implemented

-	returnArray = NULL;

-

-	int i;

-	for (i = 0; i < drive; i++) {

-		// Linux implementation, create String for each mount point

-

-		str = (*jnienv) -> NewStringUTF(jnienv, driveName);

-		(*jnienv) -> SetObjectArrayElement(jnienv, returnArray, index, str);

-

-		index++;

-	}

-

-	return returnArray;

-}

diff --git a/update/org.eclipse.update.core.linux/src/update.h b/update/org.eclipse.update.core.linux/src/update.h
deleted file mode 100644
index 6cddb8c..0000000
--- a/update/org.eclipse.update.core.linux/src/update.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */

-

-/**********************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    IBM Corporation - Initial API and implementation

- **********************************************************************/

- 

-#include <jni.h>

-/* Header for class org_eclipse_update_configuration_LocalSystemInfo */

-

-#ifndef _Included_org_eclipse_update_configuration_LocalSystemInfo

-#define _Included_org_eclipse_update_configuration_LocalSystemInfo

-#ifdef __cplusplus

-extern "C" {

-#endif

-#undef org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN

-#define org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH -2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE 1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED 2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE 3L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM 4L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK

-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK 5L

-/* Inaccessible static: listeners */

-/* Inaccessible static: hasNatives */

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace

-  (JNIEnv *, jclass, jobject);

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel

-  (JNIEnv *, jclass, jobject);

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType

-  (JNIEnv *, jclass, jobject);

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints

-  (JNIEnv *, jclass);

-

-#ifdef __cplusplus

-}

-

-#endif

-#endif

diff --git a/update/org.eclipse.update.core.win32/.project b/update/org.eclipse.update.core.win32/.project
deleted file mode 100644
index 8c9b28f..0000000
--- a/update/org.eclipse.update.core.win32/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.core.win32</name>

-	<comment></comment>

-	<projects>

-	</projects>

-	<buildSpec>

-		<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.pde.PluginNature</nature>

-	</natures>

-</projectDescription>

diff --git a/update/org.eclipse.update.core.win32/META-INF/MANIFEST.MF b/update/org.eclipse.update.core.win32/META-INF/MANIFEST.MF
deleted file mode 100644
index 73eae99..0000000
--- a/update/org.eclipse.update.core.win32/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %fragmentNameWin
-Bundle-SymbolicName: org.eclipse.update.core.win32
-Bundle-Version: 3.1.0
-Bundle-Vendor: %providerName
-Fragment-Host: org.eclipse.update.core;bundle-version="[3.0.0,4.0.0)"
-Bundle-Localization: plugin
-Eclipse-PlatformFilter: (osgi.os=win32)
diff --git a/update/org.eclipse.update.core.win32/about.html b/update/org.eclipse.update.core.win32/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/update/org.eclipse.update.core.win32/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.win32/build.properties b/update/org.eclipse.update.core.win32/build.properties
deleted file mode 100644
index 34f0bb7..0000000
--- a/update/org.eclipse.update.core.win32/build.properties
+++ /dev/null
@@ -1,16 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = os/,\
-               fragment.properties,\
-               about.html,\
-               META-INF/
-src.includes = about.html,\
-               src/
diff --git a/update/org.eclipse.update.core.win32/os/win32/x86/update.dll b/update/org.eclipse.update.core.win32/os/win32/x86/update.dll
deleted file mode 100644
index 428e60e..0000000
--- a/update/org.eclipse.update.core.win32/os/win32/x86/update.dll
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.core.win32/src/build.xml b/update/org.eclipse.update.core.win32/src/build.xml
deleted file mode 100644
index 92286b7..0000000
--- a/update/org.eclipse.update.core.win32/src/build.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project name="buildlibrary" default="run" basedir="."> 
-  
-  <!-- The properties ${eclipse-home} ${jdk-path} should be passed into this script -->
-  <!-- The Path should point to the bin directory of BCC55 -->
-  <!-- http://www.borland.com/products/downloads/download_cbuilder.html -->
-  
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  <property name="jdk-path" value="${java.home}"/>  
-  <property name="destination" value="${eclipse-home}/org.eclipse.update.core.win32/os/win32/x86/"/>
-  <property name="obj-path" value="${eclipse-home}/org.eclipse.update.core.win32/src"/>
-  <property name="src-path" value="${eclipse-home}/org.eclipse.update.core.win32/src/"/>  
-  
-  <!-- sets the properties -->
-  <property name="library-name" value="update"/>  
-  <property name="library-platform" value="dll"/>    
-  <property name="library-file" value="${library-name}.${library-platform}"/>
-  
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.obj"/>
-      <fileset dir="${obj-path}" includes="${library-name}.tds"/>            
-    </delete>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-      <delete>
-      <fileset dir="${obj-path}" includes="${library-file}"/>
-      <fileset dir="${obj-path}" includes="${library-name}.obj"/>
-      <fileset dir="${obj-path}" includes="${library-name}.tds"/>            
-    </delete>
-  </target>
-  
-  
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-  <target name="run" depends="init,build,cleanup">
-  </target>
-  
-  <!-- This target build the dll -->
-  <target name="build">
-    <echo message="Building ${library-file}"/>
-
-    <property name="header-path" value="${jdk-path}/include"/>
-    <property name="header-windows-path" value="${header-path}/win32" />
-
-	<echo message="bcc32 -I${src-path} -I${header-windows-path} -WD"/>
-
-    <apply executable="bcc32" dest="${eclipse-home}/" parallel="false">
-      <arg value="-I${src-path}"/>
-      <arg value="-I${header-path}"/>      
-      <arg value="-I${header-windows-path}"/> 
-      <!-- arg value="-DUNICODE" --> 
-	  <arg value="-w-8057"/>           
-      <arg value="-WD"/>
-	  <srcfile/>
-      <fileset dir="${src-path}" includes="*.cpp"/>
-      <mapper type="glob" from="*.cpp" to="*.obj"/>
-    </apply>
-    
-	<move file="${library-file}" todir="${destination}"/>
-  </target>
-  
-  
-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.core.win32/src/update.cpp b/update/org.eclipse.update.core.win32/src/update.cpp
deleted file mode 100644
index d2d34b5..0000000
--- a/update/org.eclipse.update.core.win32/src/update.cpp
+++ /dev/null
@@ -1,487 +0,0 @@
-/**********************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *    IBM Corporation - Initial API and implementation

- **********************************************************************/

-

-# include <update.h>

-# include <windows.h>

-# include <winioctl.h> // IOCTL codes: MediaType

-

-// Windows Version

-int WIN98 = 0;

-int WINNT = 1;

-int WINME = 2;

-int WIN2000 = 3;

-int WINXP = 4;

-

-// set to 1 for DEBUG

-int DEBUG = 0;

-

-// set to 0 to run on Windows 95 *Unsupported*

-int NOWIN95 = 1;

-

-

-// GLOBAL METHODS

-// ---------------

-

-/*

- *

- */

-jstring WindowsTojstring( JNIEnv* jnienv, char* buf )

-{

-  jstring rtn = 0;

-  wchar_t* buffer = 0;

-  int bufferLen = strlen(buf);  

-  if( bufferLen == 0 ){

-    rtn = jnienv ->NewStringUTF(buf);

-	if (DEBUG)

-		printf("WindowsToJString Buffer is empty\n");    

-  } else {

-    int length = MultiByteToWideChar( CP_ACP, 0, (LPCSTR)buf, bufferLen, NULL, 0 );

-    buffer = (wchar_t*)malloc( length*2 + 1 );

-    if(int err=MultiByteToWideChar( CP_ACP, 0, (LPCSTR)buf, bufferLen, (LPWSTR)buffer, length ) >0 ){

-      rtn = jnienv->NewString((jchar*)buffer, length );

-    } else {

-		if (DEBUG)

-			printf("MultiByteToWideChar %i\n",err);    

-    }

-  }

-  if( buffer )

-   free( buffer );

-  return rtn;

-}

-

-

-

-/*

- * calls GetVolumeInformation to retrive the label of the volume

- * Returns NULL if an error occurs

- * @param driveLetter path to the drive "c:\\"

- * @prama jnienv JNIEnvironment

- */

-jstring getLabel(TCHAR driveLetter[],JNIEnv * jnienv){

-

-	jstring result = NULL;

-	TCHAR buf[128];	

-	

-	// always return null as UNICODE is not implemented

-	// how can we get the label of a volume as UNICODE char ?

-	return result;

-	

-	int err = GetVolumeInformation(

-		driveLetter,

-		buf,

-		sizeof(buf) - 1,

-		NULL,

-		NULL,

-		NULL,

-		NULL,

-		0);

-	if (err){

-		result = WindowsTojstring(jnienv, buf);

-	} else {

-		if (DEBUG)

-			printf("Error GetVolumeInformation %i\n",err);				

- 	}

-	return result;

-}

-

-/*

- * returns the Version of Windows

- * int 0 WIN98;

- * int 1 WINNT;

- * int 2 WINME;

- * int 3 WIN2000;

- * int 4 WINXP;

- * returns -1 otherwise

- */

-int getWindowsVersion(){

-	OSVERSIONINFOEX osvi;

-	int UNKNOWN = -1;

-	

-	ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));

-	osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);

-	

-	if(!(GetVersionEx((OSVERSIONINFO *)&osvi))){

-		if (DEBUG)

-			printf("UNKNOWN VERSION: Cannot execute GetVersionEx\n");

-		// if OSVERSIONEX doesn't work, try OSVERSIONINFO

-		osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);			 	

-		if(!(GetVersionEx((OSVERSIONINFO *)&osvi))){

-		if (DEBUG)

-			printf("UNKNOWN VERSION: Cannot execute GetVersionEx\n");

-			return UNKNOWN;

-		}

-	}

-	

-	switch(osvi.dwPlatformId){

-		case VER_PLATFORM_WIN32_NT:

-			if (DEBUG)

-				printf("VERSION NT: Maj %i Min %i\n",osvi.dwMajorVersion,osvi.dwMinorVersion);				 	

-			if(osvi.dwMajorVersion<=4)

-				return WINNT;

-			if(osvi.dwMajorVersion==5){

-				if (osvi.dwMinorVersion==0)

-					return WIN2000;

-				if (osvi.dwMinorVersion==1)

-					return WINXP;

-			} else {

-				return UNKNOWN;

-			};

-			break;

-		case VER_PLATFORM_WIN32_WINDOWS:

-			if (DEBUG)

-				printf("VERSION Non NT: Maj %i Min %i\n",osvi.dwMajorVersion,osvi.dwMinorVersion);				 	

-			if(osvi.dwMajorVersion==4){

-				if (osvi.dwMinorVersion==10)

-					return WIN98;

-				if (osvi.dwMinorVersion==90)

-					return WINME;

-			} else {

-				return UNKNOWN;

-			}

-			break;

-		default:

-			if (DEBUG)

-				printf("VERSION UNKNOWN: Maj %i Min %i\n",osvi.dwMajorVersion,osvi.dwMinorVersion);				 	

-			return UNKNOWN;

-	}

-	return UNKNOWN;

-} 

-

-/*

- * Returns the type of Removable Drive 

- * Returns 

- * org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3

- * org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5

- * org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE

- */

-jlong getFloppy(TCHAR driveLetter[]){

-

-	TCHAR floppyPath[8];

-	HANDLE handle;

-	DISK_GEOMETRY geometry[20];

-	DWORD dw;

-	jlong UNKNOWN = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE;

-

-	sprintf(floppyPath, "\\\\.\\%c:", driveLetter[0]);

-	if (DEBUG)

-		printf("Path %s\n",floppyPath);

-	// BUG 25719

-    SetErrorMode( SEM_FAILCRITICALERRORS ); 		

-	handle=CreateFile(floppyPath,0,FILE_SHARE_READ,NULL,OPEN_ALWAYS,0,NULL);

-	if (handle==INVALID_HANDLE_VALUE){

-		if (DEBUG)

-			printf("Invalid Handle %s\n",floppyPath);

-		return UNKNOWN;

-	} else {

-		if(DeviceIoControl(handle,

-			IOCTL_DISK_GET_MEDIA_TYPES,0,0,

-			geometry,sizeof(geometry),&dw,0) 

-			&& dw>0) {

-			switch(geometry[0].MediaType){

-			 case F5_160_512:

-			 case F5_180_512:

-			 case F5_320_512:

-			 case F5_320_1024:

-			 case F5_360_512:

-			 case F5_1Pt2_512:

-				if (DEBUG)

-					printf("Found 5 1/4 Drive\n");				 	

-			 	return org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5;

-			 case F3_720_512:			 				 				 				 				 

-			 case F3_1Pt44_512:

-			 case F3_2Pt88_512:

-			 case F3_20Pt8_512:				 				 				 

-				if (DEBUG)

-					printf("Found 3 1/2 Drive\n");				 	

-			 	return org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3;

-			 default:

-			 	return UNKNOWN;

-			}

-		}

-	}

-	return UNKNOWN;	

-}

-

-/*

- * Returns the UNC name of a remote drive

- * (\\Machine\path\path1\path2$)

- * returns NULL if an error occurs

- */

- jstring getRemoteNetworkName(TCHAR driveLetter[],JNIEnv * jnienv){

- 	

- 	unsigned long size =256;

- 	TCHAR buf[256];	

- 	TCHAR drivePath[2];

- 	DWORD err;

- 	jstring result = NULL;

- 	

- 	// always return NULL as UNICODE not implemented

-	// how can we get the label of a remote network name as UNICODE char ? 	

- 	return result;

- 	

-	sprintf(drivePath, "%c:", driveLetter[0]); 	

- 	err = WNetGetConnection(drivePath,buf,&size);

- 	

- 	if (err==WN_SUCCESS){

-		result = WindowsTojstring(jnienv,buf);

-	} else {

-		if (DEBUG)

-			printf("Error WNEtGetConnection %i",err);				

- 	}

-	return result;

- }

-

-

-// JNI METHODS

-// ---------------

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const TCHAR * lpDirectoryName;

-

-	// Windows Parameters

-	__int64 i64FreeBytesAvailableToCaller;

-	__int64 i64TotalNumberOfBytes;

-	__int64 i64TotalNumberOfFreeBytes;

-

-	// the result

-	jlong result = org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN;

-

-	// first, obtain the Path from the java.io.File parameter

-	cls = jnienv -> GetObjectClass(file);

-	id = jnienv -> GetMethodID(cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = jnienv -> CallObjectMethod(file, id);

-	lpDirectoryName = jnienv -> GetStringUTFChars((jstring) obj, 0);

-	if (DEBUG)

-		printf("Directory: [%s]\n",lpDirectoryName);

-

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);		

-		return result;

-	}

-

-	int err = GetDiskFreeSpaceEx(

-				lpDirectoryName,

-				(PULARGE_INTEGER) & i64FreeBytesAvailableToCaller,

-				(PULARGE_INTEGER) & i64TotalNumberOfBytes,

-				(PULARGE_INTEGER) & i64TotalNumberOfFreeBytes);

-			

-	if (err) {

-		result = (jlong) i64FreeBytesAvailableToCaller;

-	}

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const TCHAR * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = jnienv -> GetObjectClass(file);

-	id = jnienv -> GetMethodID(cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = jnienv -> CallObjectMethod(file, id);

-	lpDirectoryName = jnienv -> GetStringUTFChars((jstring) obj, 0);

-	if (DEBUG)

-		printf("Directory: [%s]\n",lpDirectoryName);

-

-	//

-	jstring result = NULL;

-	int floppy;

-	

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);		

-		return result;

-	}

-		

-	// Make sure we have a String of the Form: <letter>:

-	if (':' == lpDirectoryName[1]) {

-		TCHAR driveLetter[4]; // i.e. -> C:\\

-		memcpy(driveLetter, lpDirectoryName, 2);

-		strcpy(driveLetter + 2, "\\");

-		switch (GetDriveType(driveLetter)) {

-			case DRIVE_REMOTE :

-				// check name of machine and path of remote

-				if (DEBUG)

-					printf("Remote Drive");

-				result = getRemoteNetworkName(driveLetter,jnienv);				

-				break;

-			default :

-				if (DEBUG)

-					printf("Another Drive at %s", driveLetter);

-				result = getLabel(driveLetter,jnienv);

-				break;

-		} 

-	} 

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType(

-	JNIEnv * jnienv,

-	jclass javaClass,

-	jobject file) {

-

-	// to retrive the String

-	jclass cls;

-	jmethodID id;

-	jobject obj;

-

-	// java.io.File.getAbsolutePath()

-	const TCHAR * lpDirectoryName;

-

-	// obtain the String from the parameter

-	cls = jnienv -> GetObjectClass(file);

-	id = jnienv -> GetMethodID(cls, "getAbsolutePath", "()Ljava/lang/String;");

-	obj = jnienv -> CallObjectMethod(file, id);

-	lpDirectoryName = jnienv -> GetStringUTFChars((jstring) obj, 0);

-	if (DEBUG)

-		printf("Directory: [%s]\n",lpDirectoryName);

-

-	int result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN;

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);		

-		return result;

-	}

-	

-	// Make sure we have a String of the Form: <letter>:

-	if (':' == lpDirectoryName[1]) {

-		TCHAR driveLetter[4]; //C:\\

-		memcpy(driveLetter, lpDirectoryName, 2);

-		strcpy(driveLetter + 2, "\\");

-

-		switch (GetDriveType(driveLetter)) {

-			case DRIVE_REMOVABLE :

-				// check if floppy 3.5, floppy 5.25	

-				// or other removable device (USB,PCMCIA ...)

-				if (DEBUG)

-					printf("Removable Device");

-				result = getFloppy(driveLetter);					

-				break;

-			case DRIVE_CDROM :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM;

-				break;

-			case DRIVE_FIXED :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED;

-				break;

-			case DRIVE_REMOTE :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE;

-				break;

-			case DRIVE_NO_ROOT_DIR :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH;

-				break;

-			case DRIVE_RAMDISK :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK;

-				break;			

-			case DRIVE_UNKNOWN :

-			default :

-				result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN;

-				break;

-		}

-	} else {

-		result = org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH;

-	}

-

-	return result;

-}

-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints(

-	JNIEnv * jnienv,

-	jclass javaClass) {

-

-	//

-	DWORD logDrives;

-	UINT drive;

-	TCHAR driveName[100];

-	jobjectArray returnArray;

-	int nDrive = 0;

-

-	// 

-	jclass stringClass;

-	jobject empty;

-	int index = 0;

-	jobject str;

-

-

-	logDrives = GetLogicalDrives();

-	for (drive = 0; drive < 32; drive++) {

-		if (logDrives & (1 << drive)) {

-			nDrive++;

-		}

-	}

-

-	stringClass = jnienv -> FindClass("java/lang/String");

-	empty = jnienv -> NewStringUTF("");

-	returnArray = jnienv -> NewObjectArray(nDrive, stringClass, empty);

-

-	if (int win = (int)getWindowsVersion()<0 && NOWIN95){

-		// windows 95 or other

-		if (DEBUG)

-			printf("Unsupported Windows: %i\n",win);	

-		return NULL;

-	}

-

-	for (drive = 0; drive < 32; drive++) {

-		if (logDrives & (1 << drive)) {

-			sprintf(driveName, "%c:\\", drive + 'A');

-			str = jnienv -> NewStringUTF(driveName);

-			jnienv -> SetObjectArrayElement(returnArray, index, str);

-			index++;

-		}

-	}

-

-	return returnArray;

-}

-

diff --git a/update/org.eclipse.update.core.win32/src/update.h b/update/org.eclipse.update.core.win32/src/update.h
deleted file mode 100644
index d3ca7e0..0000000
--- a/update/org.eclipse.update.core.win32/src/update.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-
-/**********************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *    IBM Corporation - Initial API and implementation
- **********************************************************************/
-#include <jni.h>

-/* Header for class org_eclipse_update_configuration_LocalSystemInfo */
-
-#ifndef _Included_org_eclipse_update_configuration_LocalSystemInfo
-#define _Included_org_eclipse_update_configuration_LocalSystemInfo

-#ifdef __cplusplus
-extern "C" {
-#endif

-#undef org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN
-#define org_eclipse_update_configuration_LocalSystemInfo_SIZE_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_UNKNOWN -1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_INVALID_PATH -2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOVABLE 1L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FIXED 2L

-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_REMOTE 3L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_CDROM 4L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_RAMDISK 5L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_5 6L
-#undef org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3
-#define org_eclipse_update_configuration_LocalSystemInfo_VOLUME_FLOPPY_3 7L

-/* Inaccessible static: listeners */

-/* Inaccessible static: hasNatives */

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetFreeSpace

- * Signature: (Ljava/io/File;)J

- */

-JNIEXPORT jlong JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetFreeSpace

-  (JNIEnv *, jclass, jobject);
-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetLabel

- * Signature: (Ljava/io/File;)Ljava/lang/String;

- */

-JNIEXPORT jstring JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetLabel

-  (JNIEnv *, jclass, jobject);
-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeGetType

- * Signature: (Ljava/io/File;)I

- */

-JNIEXPORT jint JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeGetType

-  (JNIEnv *, jclass, jobject);
-

-/*

- * Class:     org_eclipse_update_configuration_LocalSystemInfo

- * Method:    nativeListMountPoints

- * Signature: ()[Ljava/lang/String;

- */

-JNIEXPORT jobjectArray JNICALL Java_org_eclipse_update_configuration_LocalSystemInfo_nativeListMountPoints

-  (JNIEnv *, jclass);
-

-#ifdef __cplusplus
-}
-
-#endif

-#endif

diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
index 8a7082f..5ae9a15 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationModel.java
@@ -32,7 +32,7 @@
 	private URL base;
 	private boolean resolved = false;
 
-	private boolean isCurrent = false;
+	private boolean isCurrent;
 	private URL locationURL;
 	private String locationURLString;
 	protected Date date;
@@ -41,7 +41,6 @@
 	private List /* of configurationSiteModel */ configurationSites;
 
 	protected boolean initialized = false;
-	protected boolean lightlyInitialized = false;
 
 	/**
 	 * default constructor. Create
@@ -100,9 +99,7 @@
 	 * @since 2.0
 	 */
 	public boolean isCurrent() {
-		if (!lightlyInitialized) 
-			doLightInitialization();
-		
+		if (!initialized) initialize();
 		return isCurrent;
 	}
 
@@ -143,7 +140,7 @@
 	public Date getCreationDate() {
 //		if (!initialized) initialize();
 		if (date == null)
-			doLightInitialization();
+			initialize();
 		return date;
 	}
 	/**
@@ -170,7 +167,7 @@
 	public String getLabel() {
 //		if (!initialized) initialize();
 		if (label == null)
-			doLightInitialization();
+			initialize();
 		return label;
 	}
 
@@ -238,9 +235,13 @@
 		
 		try {
 			try {
-				IPlatformConfiguration platformConfig = getPlatformConfiguration();
+				IPlatformConfiguration platformConfig;
+				if (UpdateManagerUtils.sameURL(getURL(), ConfiguratorUtils.getCurrentPlatformConfiguration().getConfigurationLocation()))
+					platformConfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
+				else 
+					platformConfig = ConfiguratorUtils.getPlatformConfiguration(getURL());
 				
-				new InstallConfigurationParser(platformConfig, this, false);
+				new InstallConfigurationParser(platformConfig, this);
 			} catch (FileNotFoundException exception) {
 				UpdateCore.warn(locationURLString + " does not exist, The local site is not in synch with the file system and is pointing to a file that doesn't exist.", exception); //$NON-NLS-1$
 				throw Utilities.newCoreException(NLS.bind(Messages.InstallConfiguration_ErrorDuringFileAccess, (new String[] { locationURLString })), exception);
@@ -263,34 +264,6 @@
 		} catch (MalformedURLException e){}		
 	}
 
-	private IPlatformConfiguration getPlatformConfiguration() throws IOException {
-		IPlatformConfiguration platformConfig;
-		if (UpdateManagerUtils.sameURL(getURL(), ConfiguratorUtils.getCurrentPlatformConfiguration().getConfigurationLocation()))
-			platformConfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		else 
-			platformConfig = ConfiguratorUtils.getPlatformConfiguration(getURL());
-		return platformConfig;
-	}
-	
-	private void doLightInitialization() {
-		try {
-			try {
-				IPlatformConfiguration platformConfig = getPlatformConfiguration();
-			
-				new InstallConfigurationParser(platformConfig, this, true);
-			} catch (FileNotFoundException exception) {
-				UpdateCore.warn(locationURLString + " does not exist, The local site is not in synch with the file system and is pointing to a file that doesn't exist.", exception); //$NON-NLS-1$
-				throw Utilities.newCoreException(NLS.bind(Messages.InstallConfiguration_ErrorDuringFileAccess, (new String[] { locationURLString })), exception);
-			} catch (IOException exception) {
-				throw Utilities.newCoreException(NLS.bind(Messages.InstallConfiguration_ErrorDuringFileAccess, (new String[] { locationURLString })), exception);
-			} 
-		} catch (CoreException e) {
-			UpdateCore.warn("Error processing configuration history:" + locationURL.toExternalForm(), e); //$NON-NLS-1$
-		} finally {
-			lightlyInitialized = true;
-		}
-	}
-
 	/*
 	 * 
 	 */
diff --git a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
index 75b025d..37d7a83 100644
--- a/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
+++ b/update/org.eclipse.update.core/src/org/eclipse/update/internal/model/InstallConfigurationParser.java
@@ -46,7 +46,7 @@
 	 */
 	public InstallConfigurationParser(
 		IPlatformConfiguration platformConfig,
-		InstallConfigurationModel config, boolean light)
+		InstallConfigurationModel config)
 		throws IOException, CoreException {
 
 		Assert.isTrue(platformConfig instanceof PlatformConfiguration);
@@ -59,14 +59,8 @@
 			UpdateCore.debug("Start parsing Configuration:" + (config).getURL().toExternalForm()); //$NON-NLS-1$
 		}
 		
-		if (light) {
-			processConfigurationLight(this.platformConfig);
-		} else {
-			processConfig(this.platformConfig);
-		}
+		processConfig(this.platformConfig);
 	}
-	
-	
 
 
 
@@ -189,7 +183,9 @@
 	private void processConfig(PlatformConfiguration platformConfig) throws IOException, CoreException {
 
 		// date
-		processConfigurationLight(platformConfig);
+		Date date = new Date(platformConfig.getChangeStamp());
+		config.setCreationDate(date);
+		config.setLabel(date.toString());
 		
 		//timeline
 //		String timelineString = attributes.getValue("timeline"); //$NON-NLS-1$
@@ -204,15 +200,4 @@
 			processSite(sites[i]);
 
 	}
-
-
-
-	private void processConfigurationLight(PlatformConfiguration platformConfig) {
-		Date date = new Date(platformConfig.getChangeStamp());
-		config.setCreationDate(date);
-		config.setLabel(date.toString());
-		
-		config.setCurrent( date.equals(org.eclipse.update.internal.configurator.PlatformConfiguration.getCurrent().getConfiguration().getDate()));
-	}
-	
 }
diff --git a/update/org.eclipse.update.examples/.classpath b/update/org.eclipse.update.examples/.classpath
deleted file mode 100644
index b48fe2a..0000000
--- a/update/org.eclipse.update.examples/.classpath
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src/"/>
-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-    <classpathentry kind="src" path="/org.apache.xerces"/>
-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>
-    <classpathentry kind="src" path="/org.eclipse.update.core"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.examples/.cvsignore b/update/org.eclipse.update.examples/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.examples/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/.project b/update/org.eclipse.update.examples/.project
deleted file mode 100644
index 39cb54a..0000000
--- a/update/org.eclipse.update.examples/.project
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.examples</name>

-	<comment></comment>

-	<projects>

-		<project>org.apache.xerces</project>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.update.core</project>

-	</projects>

-	<buildSpec>

-		<buildCommand>

-			<name>org.eclipse.jdt.core.javabuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ui.ManifestBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-		<buildCommand>

-			<name>org.eclipse.pde.ui.SchemaBuilder</name>

-			<arguments>

-			</arguments>

-		</buildCommand>

-	</buildSpec>

-	<natures>

-		<nature>org.eclipse.jdt.core.javanature</nature>

-		<nature>org.eclipse.pde.ui.PluginNature</nature>

-		<nature>org.eclipse.team.cvs.core.cvsnature</nature>

-	</natures>

-</projectDescription>

diff --git a/update/org.eclipse.update.examples/Scrapbook2.jpage b/update/org.eclipse.update.examples/Scrapbook2.jpage
deleted file mode 100644
index b5da99a..0000000
--- a/update/org.eclipse.update.examples/Scrapbook2.jpage
+++ /dev/null
@@ -1,111 +0,0 @@
-SiteManager.getSite(URL)throws CoreException

-  String type = getTypeForprotocol(URL.getprotocol);

-  try {

-    if (type != null){

-	attemptCreationSite(type,URL);

-    } else {

-	attemptCreationSite("http",URL);

-    }

-  } catch (CoreException e){

-    throw new CoreException("Cannot create site",e.getMessage());

-  }

-

-SiteManager.attemptCreationSite(type,URL)throws CoreException

-  try {

-    createSite(type,URL);

-  } catch (InvalidTypeException e){

-    try {

-      createSite(e.getRealType(),URL);

-    } catch (InvalidSiteExeption e){

-      throw new CoreException("Wrong site type");

-    }

-  }

-

-SiteManager.createSite(type,URL) throws CoreExeption, InvalidSiteTypeException

-

-

-try {

-			

-	factory.createSite(url, forceCreation);

-	

-} catch (IOException e) {

-	// if the URL is pointing to either a file 

-// or a directory, without reference			

-if (url.getRef() != null) {

-	// 4 nothing we can do

-	throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);

-} else if (url.getFile().endsWith("/")) {

-	// 1 try to add site.xml

-	try {

-		url = new URL(url,Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);					

-	}

-} else if (url.getFile().endsWith(Site.SITE_XML)) {

-	// 3 nothing we can do

-	throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);

-} else {

-	// 2 try to add /site.xml

-	try {

-		url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Input/Output Error:"+e.getMessage(),e1);					

-				}				

-			}

-

-		} catch (ParsingException e) {

-			

-			// if the URL is pointing to either a file 

-// or a directory, without reference			

-if (url.getRef() != null) {

-	// 4 nothing we can do

-	throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);

-} else if (url.getFile().endsWith("/")) {

-	// 1 try to add site.xml

-	try {

-		url = new URL(url,Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage(),e1);

-				}				

-

-			} else if (url.getFile().endsWith(Site.SITE_XML)) {

-				// 3 nothing we can do

-	throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e.getMessage(),e);					

-} else {

-	// 2 try to add /site.xml

-	

-	try {

-		url = new URL(url.getProtocol(),url.getHost(), url.getPort(), url.getFile()+"/"+Site.SITE_XML);

-	} catch (MalformedURLException e1){

-		throw newCoreException("Cannot create URL:"+url.toExternalForm()+"+"+Site.SITE_XML,e1);

-	}

-	try {

-		site = factory.createSite(url, forceCreation);

-	} catch (ParsingException e1){

-		throw newCoreException("Error parsing URL:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);					

-	} catch (IOException e1){

-		throw newCoreException("Error accessing url:"+url.toExternalForm()+"\r\n"+e1.getMessage()+"\r\nPrevious Parsing error:"+e.getMessage(),e1);

-	

-

diff --git a/update/org.eclipse.update.examples/about.html b/update/org.eclipse.update.examples/about.html
deleted file mode 100644
index 768324e..0000000
--- a/update/org.eclipse.update.examples/about.html
+++ /dev/null
@@ -1,42 +0,0 @@
-<html>

-<head>

-<title>About</title>

-<style type="text/css">

-p, table, td, th { font-family: arial, helvetica, geneva; font-size: 10pt}

-pre { font-family: "Courier New", Courier, mono; font-size: 10pt}

-h2 { font-family: arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}

-code { font-family: "Courier New", Courier, mono; font-size: 10pt}

-sup { font-family: arial,helvetica,geneva; font-size: 10px}

-h3 { font-family: arial, helvetica, geneva; font-size: 14pt; font-weight: bold}

-li { font-family: arial, helvetica, geneva; font-size: 10pt}

-h1 { font-family: arial, helvetica, geneva; font-size: 28px; font-weight: bold}

-body { font-family: arial, helvetica, geneva; font-size: 10pt; clip: rect(   ); margin-top: 5mm; margin-left: 3mm}

-</style>

-</head>

-<body lang="EN-US" link="blue" vlink="purple">

-<table border="0" cellspacing="5" cellpadding="2" width="100%" >

-  <tr> 

-    <td align="LEFT" valign="TOP" colspan="2" bgcolor="#0080C0"><b><font color="#FFFFFF">About This Content</font></b></td>

-  </tr>

-  <tr> 

-    <td> 

-<p>11th December, 2001</p>	

-<h3>License</h3>

-<p>Eclipse.org makes available all content in this plug-in &quot;Content&quot;.  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the

-<a href="http://www.eclipse.org/legal/cpl-v05.html">Common Public License Version 0.5</a> &quot;CPL&quot;.  For purposes of the CPL, &quot;Program&quot; 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 &quot;Other License&quot;, any modifications, enhancements and/or

-other code and/or documentation &quot;Modifications&quot; 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>

-</td></tr></table>

-</body>

-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/build.properties b/update/org.eclipse.update.examples/build.properties
deleted file mode 100644
index fda21a6..0000000
--- a/update/org.eclipse.update.examples/build.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-source.updateexamplescore.jar = src/

-src.includes=about.html

-bin.includes=plugin.xml,plugin.properties,*.jar,about.html

diff --git a/update/org.eclipse.update.examples/plugin.properties b/update/org.eclipse.update.examples/plugin.properties
deleted file mode 100644
index 9a31f8c..0000000
--- a/update/org.eclipse.update.examples/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-

-name = Install/Update BuildZip Example

-provider-name = Eclipse.org
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/plugin.xml b/update/org.eclipse.update.examples/plugin.xml
deleted file mode 100644
index e8b4092..0000000
--- a/update/org.eclipse.update.examples/plugin.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin

-   id="org.eclipse.update.examples"

-   name="%name"

-   version="2.0.0"

-   provider-name="%provider-name">

-

-   <runtime>

-      <library name="updateexamples.jar">

-         <export name="*"/>

-      </library>

-   </runtime>

-   <requires>

-      <import plugin="org.eclipse.core.runtime"/>

-      <import plugin="org.apache.xerces"/>

-      <import plugin="org.eclipse.core.boot"/>

-      <import plugin="org.eclipse.update.core"/>

-   </requires>

-

-

-   <extension

-         id="zip"

-         point="org.eclipse.update.core.featureTypes">

-      <feature-factory

-            class="org.eclipse.update.examples.buildzip.BuildZipFeatureFactory">

-      </feature-factory>

-   </extension>

-   <extension

-         id="site.zip"

-         point="org.eclipse.update.core.siteTypes">

-      <site-factory

-            class="org.eclipse.update.examples.buildzip.BuildZipSiteFactory">

-      </site-factory>

-   </extension>

-   <extension

-         id="site.freeform"

-         point="org.eclipse.update.core.siteTypes">

-      <site-factory

-            class="org.eclipse.update.examples.freeform.FreeFormSiteFactory">

-      </site-factory>

-   </extension>

-

-</plugin>

diff --git a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar b/update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar
deleted file mode 100644
index 06507a7..0000000
--- a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar b/update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar
deleted file mode 100644
index 7236815..0000000
--- a/update/org.eclipse.update.examples/site/features/com.reddot.reddot_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/info/images/redDot.jpg b/update/org.eclipse.update.examples/site/info/images/redDot.jpg
deleted file mode 100644
index f0fb5c3..0000000
--- a/update/org.eclipse.update.examples/site/info/images/redDot.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/info/siteInfo.html b/update/org.eclipse.update.examples/site/info/siteInfo.html
deleted file mode 100644
index ceca97d..0000000
--- a/update/org.eclipse.update.examples/site/info/siteInfo.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!-- saved from url=(0040)http://dejan/testSite/info/siteInfo.html -->
-<HTML><HEAD>
-<META http-equiv=Content-Type content="text/html; charset=windows-1252">
-<META content="MSHTML 5.50.4807.2300" name=GENERATOR></HEAD>
-<BODY>
-<H1 align=left><IMG height=55 src="images/redDot.jpg" width=56 
-align=center border=0> <FONT color=#c0c0c0>Follow the Red Dot&nbsp;</FONT></H1>
-<P>Welcome to the <B><FONT color=#800000>Red Dot</FONT> </B>update site. Use 
-your Eclipse <B>Update Sites</B> view to locate the feature version you want to 
-install or update to.</P>
-<H2>About Red Dot Feature</H2>
-<P>Our revolutionary Red Dot Eclipse feature changed all preconceptions about 
-what Eclipse features can and cannot do. Using our strikingly simple concept of 
-adding buttons to the Eclipse tool bar, we allow you to open dialogs that show 
-you the version of the Red Dot feature. The beauty of the concept stems from its 
-simplicity, ease of use, high performance and small footprint. Never before was 
-it so easy to press a button on the tool bar to get some text shown in the 
-dialog.</P>
-<H2>News</H2>
-<UL>
-  <LI><B>November 2001</B> - version 2.0.0 of the Red Dot feature is available 
-  for download. This version brings improvements across the board, further 
-  strengthening an already established Eclipse feature classic. Improvements 
-  will be visible the moment you update your feature - our famous red dot tool 
-  bar button is now <B>25% more red</B>, making it even easier to spot among 
-  other buttons. 
-  <LI><B>October 2001</B> - version 1.0.0 of the Red Dot feature is available 
-  for download. Select it in the 'Sites' view of the Update Manager and press 
-  'Install' button. </LI></UL>
-<HR>
-<I>Copyright 2001 Red Dot Corporation Ltd. All rights reserved.</I> 
-</BODY></HTML>
diff --git a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar b/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar
deleted file mode 100644
index c88b793..0000000
--- a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar b/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar
deleted file mode 100644
index da31ad3..0000000
--- a/update/org.eclipse.update.examples/site/plugins/com.reddot.reddot_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.examples/site/site.xml b/update/org.eclipse.update.examples/site/site.xml
deleted file mode 100644
index b091324..0000000
--- a/update/org.eclipse.update.examples/site/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<site>
-   <description url="info/siteInfo.html"/>
-
-   <feature url="features/com.reddot.reddot_1.0.0.jar">
-      <category name="reddot"/>
-   </feature>
-
-   <feature url="features/com.reddot.reddot_2.0.0.jar">
-      <category name="reddot"/>
-   </feature>
-
-   <category-def label="Red Dot Versions" name="reddot">
-      <description url="info/RedDotVersions.html">
-         This category contains all of the currently available versions of Red Dot feature.
-      </description>
-   </category-def>
-
-</site>   
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
deleted file mode 100644
index e81ec2a..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipConverter.java
+++ /dev/null
@@ -1,157 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

- 

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.io.InputStream;

-import java.io.StringBufferInputStream;

-import java.net.URL;

-import java.util.Properties;

-import java.util.jar.JarEntry;

-import java.util.jar.JarOutputStream;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.ContentReference;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureContentProvider;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.core.JarContentReference;

-import org.eclipse.update.core.model.InstallAbortedException;

-

-/**

- * Converts eclipse build .zip files into packaged feature

- */

-public class BuildZipConverter {

-

-	public static void main(String[] args) {

-		if (args.length <=0) {

-			System.out.println("Usage:     BuildZipConverter <path to the zip file>.\r\nExample: BuildZipConverter d:/download/integration-eclipse-SDK-20020109-win32.zip");

-			return;

-		}

-		try {

-			URL buildzip = new URL(("file:"+args[0]).replace(File.separatorChar, '/'));

-			BuildZipFeatureFactory factory = new BuildZipFeatureFactory();

-			IFeature feature = factory.createFeature(buildzip, null);

-			IFeatureContentProvider provider = feature.getFeatureContentProvider();

-			

-			ContentReference[] refs = provider.getFeatureEntryContentReferences(null);

-			

-			File site = new File((args[0]+".packaged/").replace('/',File.separatorChar));

-			site.mkdirs();

-			File featuresDir = new File(site,"features");

-			featuresDir.mkdirs();

-			File pluginsDir = new File(site, "plugins");

-			pluginsDir.mkdirs();

-			

-			File jarFile = new File(featuresDir,feature.getVersionedIdentifier()+".jar");

-			System.out.println("writing feature archive: "+feature.getVersionedIdentifier()+".jar");

-			writeJar(jarFile, refs, feature, null, null);

-			JarContentReference jar = new JarContentReference("build.zip",buildzip);

-			Properties manifest = getBuildManifest(jar);

-			

-			IPluginEntry[] plugins = feature.getPluginEntries();

-			for (int i=0; i<plugins.length; i++) {

-				refs = provider.getPluginEntryContentReferences(plugins[i], null);

-				jarFile = new File(pluginsDir,plugins[i].getVersionedIdentifier()+".jar");

-				System.out.println("writing plugin archive: "+plugins[i].getVersionedIdentifier()+".jar");

-				writeJar(jarFile, refs, feature, plugins[i].getVersionedIdentifier().getIdentifier(), manifest);

-			}

-			

-			writeSiteManifest(site, feature);

-		} catch(Exception e) {

-			e.printStackTrace();

-		}

-	}

-	

-	public static void writeJar(File jarFile,ContentReference[] refs, IFeature feature, String pluginId, Properties manifest) {

-			

-		JarOutputStream jos = null;

-		FileOutputStream os = null;

-		InputStream is = null;

-		

-		try {

-			os = new FileOutputStream(jarFile);

-			jos = new JarOutputStream(os);

-			JarEntry entry = null;

-			String buf = null;

-			StringBufferInputStream sbis = null;

-			

-			// write jar manifest (first entry in output stream)

-			buf = "Manifest-Version: 1.0\nCreated-By: 2.0.0 (www.eclipse.org Feature Packager)\n";

-			sbis = new StringBufferInputStream(buf);

-			entry = new JarEntry("META-INF/MANIFEST.MF");

-			jos.putNextEntry(entry);

-			Utilities.copy(sbis,jos,null);

-			sbis.close();

-			

-			// jar up the references

-			for (int i=0; i<refs.length; i++) {

-				String id = refs[i].getIdentifier();

-				entry = new JarEntry(id);

-				jos.putNextEntry(entry);

-				is = refs[i].getInputStream();

-				Utilities.copy(is,jos,null);

-				is.close(); is = null;

-			}

-			

-			// for plugin jars, write build manifest

-			if (pluginId != null && manifest != null) {

-				String key = "plugin@"+pluginId;

-				String value = manifest.getProperty(key);

-				if (value != null) {

-					if (value.equals("HEAD")) {

-						value += "-" + feature.getVersionedIdentifier().getVersion().getMajorComponent();

-					}

-					buf = key + "=" + value;

-					sbis = new StringBufferInputStream(buf);

-					entry = new JarEntry("buildmanifest.properties");

-					jos.putNextEntry(entry);

-					Utilities.copy(sbis,jos,null);

-					sbis.close();

-				}

-			}

-			

-			// close jar

-			jos.close(); jos = null; os = null;

-		} catch(Exception e) {

-			e.printStackTrace();

-		} finally {

-			if (is != null) 

-				try {is.close();} catch(IOException e) {}

-				

-			if (jos != null) 

-				try {jos.close();} catch(IOException e) {}

-			else if (os != null)

-				try {os.close();} catch(IOException e) {}

-		}		

-	}

-	

-	public static void writeSiteManifest(File site, IFeature feature) throws IOException, InstallAbortedException {

-		File manifest = new File(site, "site.xml");

-		FileOutputStream os = new FileOutputStream(manifest);

-		String siteXML = "<site>\n   <feature url=\"features/"+feature.getVersionedIdentifier().toString()+".jar\"/>\n</site>";

-		StringBufferInputStream sbis = new StringBufferInputStream(siteXML);

-		Utilities.copy(sbis,os,null);

-		os.close();

-		sbis.close();

-	}

-	

-	public static Properties getBuildManifest(JarContentReference jar) throws IOException {

-		ContentReference manifestEntry = jar.peek("eclipse/buildmanifest.properties",null/*ContentSelector*/, null/*ProgressMonitor*/);

-		InputStream is = null;

-		Properties props = null;

-		try {

-			props = new Properties();

-			is = manifestEntry.getInputStream();

-			props.load(is);

-		} finally {

-			if (is != null) try{ is.close(); } catch(IOException e) {}

-		}

-		return props;

-	}

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
deleted file mode 100644
index a0f1c0e..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureContentProvider.java
+++ /dev/null
@@ -1,256 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

-

-import java.io.File;

-import java.io.FileOutputStream;

-import java.io.IOException;

-import java.net.URL;

-import java.util.jar.JarEntry;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.ContentReference;

-import org.eclipse.update.core.FeatureContentProvider;

-import org.eclipse.update.core.IFeatureContentProvider;

-import org.eclipse.update.core.INonPluginEntry;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.core.IVerifier;

-import org.eclipse.update.core.InstallMonitor;

-import org.eclipse.update.core.JarContentReference;

-import org.eclipse.update.core.JarContentReference.ContentSelector;

-import org.eclipse.update.core.model.FeatureModel;

-import org.eclipse.update.core.model.InstallAbortedException;

-

-/**

- * An example feature content provider. It handles features packaged as

- * build zip's using the format used for integration and stable builds

- * posted on the downloads pages at www.eclipse.org

- * </p>

- * @since 2.0

- */

-

-public class BuildZipFeatureContentProvider extends FeatureContentProvider implements IFeatureContentProvider {

-

-	private JarContentReference baseReference;

-	private ContentReference generatedFeatureManifest;	

-	private ContentReference[] featureEntryContentReferences;

-	private IPluginEntry currentPluginEntry;

-	private INonPluginEntry currentNonPluginEntry;

-	

-	public BuildZipFeatureContentProvider(URL base) {

-		super(base);

-		this.baseReference = new JarContentReference("build.zip",base);

-	}

-	

-	/*

-	 * @see IFeatureContentProvider#getFeatureManifest()

-	 */

-	public ContentReference getFeatureManifestReference(InstallMonitor monitor) throws CoreException {

-		if (generatedFeatureManifest == null) {

-			throw newCoreException("Feature manifest is not available",null);

-		}

-		else

-			return generatedFeatureManifest;

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getArchiveReferences()

-	 */

-	public ContentReference[] getArchiveReferences(InstallMonitor monitor) {

-		// the feature and all its plugins files are packaged in a single archive

-		return new ContentReference[] { baseReference };

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getFeatureEntryArchiveReferences()

-	 */

-	public ContentReference[] getFeatureEntryArchiveReferences(InstallMonitor monitor) {

-		// the feature and all its plugins files are packaged in a single archive

-		return new ContentReference[] { baseReference };

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getPluginEntryArchiveReferences(IPluginEntry)

-	 */

-	public ContentReference[] getPluginEntryArchiveReferences(IPluginEntry pluginEntry, InstallMonitor monitor) {

-		// the feature and all its plugins files are packaged in a single archive

-		return new ContentReference[] { baseReference };

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getNonPluginEntryArchiveReferences(INonPluginEntry)

-	 */

-	public ContentReference[] getNonPluginEntryArchiveReferences(INonPluginEntry nonPluginEntry, InstallMonitor monitor) 

-		throws CoreException {

-		try {

-			return peekNonPluginEntryContent(nonPluginEntry,monitor);

-		} catch(IOException e) {

-			throw newCoreException("Unable to return content for non plugin entry "+nonPluginEntry.getIdentifier(),e);

-		}

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getFeatureEntryContentReferences()

-	 */

-	public ContentReference[] getFeatureEntryContentReferences(InstallMonitor monitor) {

-		if (featureEntryContentReferences == null)

-			return new ContentReference[0];

-		else

-			return  featureEntryContentReferences;

-	}

-

-	/*

-	 * @see IFeatureContentProvider#getPluginEntryContentReferences(IPluginEntry)

-	 */

-	public ContentReference[] getPluginEntryContentReferences(IPluginEntry pluginEntry, InstallMonitor monitor)

-		throws CoreException {

-		try {

-			return peekPluginEntryContent(pluginEntry, monitor);

-		} catch(IOException e) {

-			throw newCoreException("Unable to return content for plugin entry "+pluginEntry.getVersionedIdentifier(),e);

-		}

-	}

-	

-	public URL getFeatureBaseURL() throws IOException {

-		return getWorkingDirectory().toURL();

-			

-	}

-

-	ContentReference getFeatureBuildManifest() throws Exception {

-		return baseReference.peek("eclipse/buildmanifest.properties",null/*ContentSelector*/, null/*ProgressMonitor*/);

-	}

-

-	ContentReference getPluginManifest(String pluginId, boolean isFragment) throws Exception {			

-		String manifestName = "eclipse/plugins/" + pluginId + "/" + (isFragment ? "fragment.xml" : "plugin.xml");

-		return baseReference.peek(manifestName, null/*ContentSelector*/, null/*ProgressMonitor*/);

-	}

-	

-	void unpackFeatureEntryContent(FeatureModel feature, InstallMonitor monitor) throws IOException, InstallAbortedException {

-			

-		// define selector for feature entry files

-		ContentSelector selector = new ContentSelector() {

-			public boolean include(JarEntry jarEntry) {

-				if (jarEntry.isDirectory())

-					return false;					

-				String entry = jarEntry.getName();

-				if (entry.startsWith("eclipse/readme/"))

-					return true;

-				else if (entry.startsWith("eclipse/splash/"))

-					return true;

-				else if (entry.startsWith("eclipse/") && entry.indexOf("/",8)==-1 && entry.endsWith(".html"))

-					return true;

-				else

-					return false;	

-			}

-			public String defineIdentifier(JarEntry jarEntry) {

-				String entry = jarEntry.getName();

-				if (entry.startsWith("eclipse/"))

-					return entry.substring(8);

-				else

-					return entry;

-			}

-		};

-		

-		// unpack feature entry files

-		File tmpDir = getWorkingDirectory();

-		ContentReference[] refs = baseReference.unpack(tmpDir, selector, monitor);

-		

-		// write out feature manifest (feature.xml);

-		File manifest = Utilities.createLocalFile(tmpDir,"feature.xml");

-		ContentReference manifestReference = new ContentReference("feature.xml", manifest);

-		DefaultModelWriter w = new DefaultModelWriter(feature);

-		FileOutputStream os = null;

-		try {

-			os = new FileOutputStream(manifest);

-			w.writeFeatureManifest(os);

-		} finally {

-			if (os != null) try { os.close(); } catch(IOException e) {}

-		}

-		this.generatedFeatureManifest = manifestReference;

-		

-		// save references (newly-written feature.xml plus rest of selected feature files)

-		ContentReference[] allRefs = new ContentReference[refs.length+1];

-		allRefs[0] = manifestReference;

-		System.arraycopy(refs,0,allRefs,1,refs.length);

-		featureEntryContentReferences = allRefs;

-	}

-		

-	ContentReference[] peekPluginEntryContent(IPluginEntry plugin, InstallMonitor monitor) throws IOException {

-		

-		// define selector for plugin entry files

-		ContentSelector selector = new ContentSelector() {

-			public boolean include(JarEntry jarEntry) {

-				if (jarEntry.isDirectory())

-					return false;

-				String entry = jarEntry.getName();

-				String id = currentPluginEntry.getVersionedIdentifier().getIdentifier();

-				if (id==null)

-					return false;

-				else if (entry.startsWith("eclipse/plugins/"+id+"/"))

-					return true;

-				else

-					return false;	

-			}

-			public String defineIdentifier(JarEntry jarEntry) {

-				String entry = jarEntry.getName();

-				int ix = entry.indexOf("/",16);

-				if (ix != -1) {

-					return entry.substring(ix+1);

-				} else {

-					return entry;

-				}

-			}

-		};

-		

-		// unpack plugin entry files

-		currentPluginEntry = plugin;

-		return baseReference.peek(selector, monitor);

-	}

-		

-	ContentReference[] peekNonPluginEntryContent(INonPluginEntry data, InstallMonitor monitor) throws IOException {

-		

-		// define selector for non plugin entry files

-		ContentSelector selector = new ContentSelector() {

-			public boolean include(JarEntry jarEntry) {

-				if (jarEntry.isDirectory())

-					return false;

-				String entry = jarEntry.getName();

-				String id = currentNonPluginEntry.getIdentifier();

-				if (!id.equals("root"))

-					return false;

-				else if (!entry.startsWith("eclipse/plugins/"))

-					return true;

-				else

-					return false;	

-			}

-			public String defineIdentifier(JarEntry jarEntry) {

-				String entry = jarEntry.getName();

-				if (entry.startsWith("eclipse/"))

-					return entry.substring(8);

-				else

-					return entry;

-			}

-		};

-		

-		// unpack non plugin entry files

-		currentNonPluginEntry = data;

-		return baseReference.peek(selector, monitor);

-	}

-	

-	private CoreException newCoreException(String s, Throwable e) throws CoreException {

-		return new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples",0,s,e));

-	}

-	/*

-	 * @see IFeatureContentProvider#getVerifier()

-	 */

-	public IVerifier getVerifier() throws CoreException {

-		return null;

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
deleted file mode 100644
index d6150b7..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

-

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.update.core.BaseFeatureFactory;

-import org.eclipse.update.core.Feature;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureFactory;

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.model.FeatureModel;

-

-/**

- * An example feature factory based on the packaging 

- * format used for integration and stable builds

- * posted on the downloads pages at www.eclipse.org

- * </p>

- * @since 2.0

- */

-

-public class BuildZipFeatureFactory

-	extends BaseFeatureFactory

-	implements IFeatureFactory {

-

-	/*

-	 * @see IFeatureFactory#createFeature(URL, ISite, IProgressMonitor)

-	 */

-	public IFeature createFeature(URL url, ISite site, IProgressMonitor monitor) throws CoreException {

-		try {

-			// create content provider for feature

-			BuildZipFeatureContentProvider cp = new BuildZipFeatureContentProvider(url);

-			Feature feature = null;

-			

-			// parse the feature

-			feature = (Feature) parseFeature(cp);

-			

-			// initialize feature

-			feature.setFeatureContentProvider(cp);

-			feature.setSite(site);

-			feature.resolve(cp.getFeatureBaseURL(), null); 

-			feature.markReadOnly();

-			return feature;

-		} catch (Exception e) {

-			throw new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples.buildzip",0,"Unable to create feature",e));

-		}

-	}

-

-	/*

-	 * parse the build zip to reconstruct a feature model

-	 */

-	public FeatureModel parseFeature(BuildZipFeatureContentProvider cp) throws Exception {

-		return (new BuildZipFeatureParser(this)).parse(cp);

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
deleted file mode 100644
index 6748ded..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipFeatureParser.java
+++ /dev/null
@@ -1,203 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

- 

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.URLDecoder;

-import java.util.Enumeration;

-import java.util.Properties;

-import java.util.StringTokenizer;

-

-import org.eclipse.core.runtime.PluginVersionIdentifier;

-import org.eclipse.update.core.ContentReference;

-import org.eclipse.update.core.model.FeatureModel;

-import org.eclipse.update.core.model.PluginEntryModel;

-import org.eclipse.update.core.model.URLEntryModel;

-

-/**

- * An example feature parser. It handles features packaged as

- * build zip's using the format used for integration and stable builds

- * posted on the downloads pages at www.eclipse.org

- * </p>

- * @since 2.0

- */

-

-public class BuildZipFeatureParser {	

-	

-	private BuildZipFeatureFactory factory;

-	private BuildZipPluginParser pluginParser;

-	

-	public BuildZipFeatureParser(BuildZipFeatureFactory factory) {

-		this.factory = factory;

-	}

-	

-	public FeatureModel parse(BuildZipFeatureContentProvider cp) throws Exception {				

-		return parseFeature(cp);

-	}

-	

-	private FeatureModel parseFeature(BuildZipFeatureContentProvider cp) throws Exception {		

-		

-		// get reference to the build manifest

-		ContentReference manifestRef = cp.getFeatureBuildManifest();

-		InputStream is = manifestRef.getInputStream();		

-		

-		// load buildmanifest.properties

-		Properties manifest = new Properties();

-		try {

-			manifest.load(is);

-		} finally {

-			if (is!=null) try { is.close(); } catch(IOException e) {}

-		}

-		

-		// populate feature model

-		FeatureModel feature = factory.createFeatureModel();

-		parseFeatureEntry(cp, feature, manifest);

-		

-		// parse plugin entries

-		parsePluginEntries(cp, feature, manifest); 

-		

-		// parse non-plugin entries

-		parseNonPluginEntries(cp, feature, manifest);

-		

-		// unpack feature entry content

-		cp.unpackFeatureEntryContent(feature, null/*IProgressMonitor*/);

-		

-		return feature;

-	}

-	

-	private void parseFeatureEntry(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {

-		

-		// parse out build zip file name. It is assumed to be in the

-		// form <package identifier>-<build date>-<target platform>.zip,

-		// where

-		//		<package identifier> is hyphen (-) separaterd token list

-		//		<build date> is single all-numeric token

-		//		<target platform> is hyphen (-) separaterd token list

-		

-		String pkgId = "";

-		String target = "";

-		String build = "";

-		String state = "ID";

-		boolean firstToken = true;

-		String zipName = URLDecoder.decode(cp.getURL().getFile());

-		int ix = zipName.lastIndexOf("/");

-		if (ix != -1)

-			zipName = zipName.substring(ix+1);

-		if (zipName.endsWith(".zip")) {

-			zipName = zipName.substring(0,zipName.length()-4);

-		}

-		StringTokenizer tokenizer = new StringTokenizer(zipName,"-",false);

-		String token;

-		while(tokenizer.hasMoreTokens()) {

-			token = tokenizer.nextToken();

-			try {

-				Long.parseLong(token);

-				state = "TARGET";

-				target = "";

-				firstToken = true;

-				build = token+".0.0";

-			} catch (NumberFormatException e) {

-				if (state.equals("ID")) {

-					pkgId += (firstToken ? "" : " ") + token;

-				} else {

-					target += (firstToken ? "" : " ") + token;

-				}

-				firstToken = false;

-			}

-		}

-		

-		// generate base feature attributes

-		feature.setFeatureIdentifier(pkgId.replace(' ','.'));

-		feature.setFeatureVersion(build);

-		feature.setLabel(pkgId.substring(0,1).toUpperCase() + pkgId.substring(1) + " for " + target);

-		feature.setProvider("www.eclipse.org");

-		feature.setImageURLString("splash/splash_full.bmp");

-		feature.setOS(target.replace(' ','-'));	

-		

-		// add description

-		URLEntryModel description = factory.createURLEntryModel();

-		description.setURLString("readme/readme.html");

-		description.setAnnotation("x");

-		feature.setDescriptionModel(description);

-		

-		// add license

-		URLEntryModel license = factory.createURLEntryModel();

-		license.setURLString("about.html");

-		license.setAnnotation("You must view the full license by following the \"License\" link in the feature preview.\nSelecting \"Accept\" indicates that you have viewed and accepted the feature license.");

-		feature.setLicenseModel(license);

-		

-		// add copyright

-		URLEntryModel copyright = factory.createURLEntryModel();

-		copyright.setURLString("notice.html");

-		copyright.setAnnotation("x");

-		feature.setCopyrightModel(copyright);

-	}	

-	

-	private void parsePluginEntries(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {

-		

-		Enumeration entries = manifest.keys();

-		String plugin;

-		String pluginId;

-		String pluginVersion;

-		String pluginBuildVersion;

-		PluginEntryModel pluginEntry;

-		while(entries.hasMoreElements()) {

-			plugin = (String) entries.nextElement();

-			if (plugin.startsWith("plugin@")) {

-				pluginId = plugin.substring(7);

-				pluginBuildVersion = manifest.getProperty(plugin);

-				if (pluginBuildVersion.equals("HEAD")) {

-					String featureVersion = feature.getFeatureVersion();

-					int ix = featureVersion.indexOf(".");

-					String featureMajor = ix==-1 ? featureVersion : featureVersion.substring(0,ix);

-					pluginBuildVersion += "-" + featureMajor;

-				}

-				pluginEntry = factory.createPluginEntryModel();

-				pluginVersion = parsePluginVersionInManifest(cp, pluginId, pluginEntry);

-				if (pluginVersion != null) {

-					pluginEntry.setPluginIdentifier(pluginId);

-					pluginEntry.setPluginVersion((new PluginVersionIdentifier(pluginVersion)).toString()+"."+pluginBuildVersion);

-					feature.addPluginEntryModel(pluginEntry);

-				}

-			}

-		}		

-	}

-	

-	private void parseNonPluginEntries(BuildZipFeatureContentProvider cp, FeatureModel feature, Properties manifest) throws Exception {

-	//	NonPluginEntryModel nonPluginEntry = factory.createNonPluginEntryModel();

-	//	nonPluginEntry.setIdentifier("root");

-	//	feature.addNonPluginEntryModel(nonPluginEntry);

-	}

-	

-	private String parsePluginVersionInManifest(BuildZipFeatureContentProvider cp, String pluginId, PluginEntryModel pluginEntry) {

-

-		if (pluginParser == null)

-			pluginParser = new BuildZipPluginParser();

-				

-		InputStream is = null;				

-		ContentReference pluginManifest;

-		try {

-			// try plugin.xml

-			pluginManifest  = cp.getPluginManifest(pluginId, false);

-			is = pluginManifest.getInputStream();

-			return pluginParser.parse(is);

-		} catch (Exception e) {

-			try {

-				// retry with feature.xml

-				pluginManifest  = cp.getPluginManifest(pluginId, true);

-				is = pluginManifest.getInputStream();

-				String result = pluginParser.parse(is);

-				pluginEntry.isFragment(true);

-				return result;

-			} catch (Exception e2) {

-				return null;

-			}

-		} finally {

-			if (is != null) try { is.close(); } catch (IOException e) {}

-		}

-	}

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
deleted file mode 100644
index 90e1d1f..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipPluginParser.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */

-

-import java.io.IOException;

-import java.io.InputStream;

-

-import org.apache.xerces.parsers.SAXParser;

-import org.xml.sax.Attributes;

-import org.xml.sax.InputSource;

-import org.xml.sax.SAXException;

-import org.xml.sax.helpers.DefaultHandler;

-

-/**

- * Parse default feature.xml

- */

-

-public class BuildZipPluginParser extends DefaultHandler {

-

-	private SAXParser parser;

-	private String version;

-	

-	private static final String PLUGIN = "plugin";

-	private static final String FRAGMENT = "fragment";

-	private static final String ID = "id";

-	private static final String VERSION = "version";	

-	

-	private class ParseCompleteException extends SAXException {

-		public ParseCompleteException(String arg0) {

-			super(arg0);

-		}

-	}

-

-	/**

-	 * Constructor for DefaultFeatureParser

-	 */

-	public BuildZipPluginParser() {

-		super();

-		this.parser = new SAXParser();

-		this.parser.setContentHandler(this);

-	}

-	

-	/**

-	 * @since 2.0

-	 */

-	public synchronized String parse(InputStream in) throws SAXException, IOException {

-		try {

-			version = null;

-			parser.parse(new InputSource(in));

-		} catch(ParseCompleteException e) {

-		}

-		return version;

-	}

-	

-	/**

-	 * @see DefaultHandler#startElement(String, String, String, Attributes)

-	 */

-	public void startElement(String uri, String localName,String qName, Attributes attributes) throws SAXException {

-		

-		String tag = localName.trim();

-	

-		if (tag.equalsIgnoreCase(PLUGIN)) {

-			processPlugin(attributes);

-			return;

-		}

-	

-		if (tag.equalsIgnoreCase(FRAGMENT)) {

-			processPlugin(attributes);

-			return;

-		}

-	}

-	

-	/** 

-	 * process plugin entry info

-	 */

-	private void processPlugin(Attributes attributes) throws ParseCompleteException {

-		version = attributes.getValue("version");

-		throw new ParseCompleteException("");

-	}

-}

-

-

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
deleted file mode 100644
index 05ec032..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteContentProvider.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */

-

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.SiteContentProvider;

-

-public class BuildZipSiteContentProvider extends SiteContentProvider {

-

-	/**

-	 * Constructor for SiteContentProvider.

-	 */

-	public BuildZipSiteContentProvider(URL url) {

-		super(url);

-	}

-	

-	/*

-	 * @see ISiteContentProvider#getArchiveReference(String)

-	 */

-	public URL getArchiveReference(String id) throws CoreException {

-		// build zip features do not have associated archives

-		// the zip file also contains the archives files

-		return null;

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
deleted file mode 100644
index df9196b..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/BuildZipSiteFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */

-

-import java.io.File;

-import java.io.FileFilter;

-import java.io.IOException;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.net.URLDecoder;

-import java.util.zip.ZipEntry;

-import java.util.zip.ZipFile;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.BaseSiteFactory;

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.Site;

-import org.eclipse.update.core.model.InvalidSiteTypeException;

-import org.eclipse.update.core.model.CategoryModel;

-

-public class BuildZipSiteFactory extends BaseSiteFactory {

-

-	/*

-	 * @see ISiteFactory#createSite(URL)

-	 */

-	public ISite createSite(URL url) throws CoreException,InvalidSiteTypeException {

-

-		Site site = null;

-

-		// create site and add category

-		site = (Site) createSiteMapModel();

-		CategoryModel category = createSiteCategoryModel();

-		category.setName("eclipse-builds");

-		category.setLabel("Eclipse Builds");

-		site.addCategoryModel(category);

-

-		// set content provider

-		BuildZipSiteContentProvider contentProvider = new BuildZipSiteContentProvider(url);

-		site.setSiteContentProvider(contentProvider);

-

-		// get all matching zip files on the site

-		FileFilter filter = new FileFilter() {

-			public boolean accept(File file) {

-				if (file.getName().endsWith(".zip")) {

-					try {

-						ZipFile zip = new ZipFile(file);

-						ZipEntry entry = zip.getEntry("eclipse/buildmanifest.properties");

-						if (entry == null)

-							return false;

-						else

-							return true;

-					} catch (IOException e) {

-						return false;

-					}

-				} else

-					return false;

-			}

-		};

-		File file = new File(URLDecoder.decode(url.getFile()));

-		File[] zips = file.listFiles(filter);

-

-		// create a reference for each matching zip

-		SiteFeatureReferenceModel ref = null;

-		for (int i = 0; zips != null && i < zips.length; i++) {

-			ref = createFeatureReferenceModel();

-			ref.setType("org.eclipse.update.examples.zip");

-			ref.setSiteModel(site);

-			ref.setURLString("file:" + zips[i].getAbsolutePath());

-			ref.setCategoryNames(new String[] { "eclipse-builds" });

-			site.addFeatureReferenceModel(ref);

-		}

-		try {

-			site.resolve(url, null); // resolve any URLs relative to the site

-		} catch (MalformedURLException e){

-			throw Utilities.newCoreException("",e);

-		}

-

-		return site;

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
deleted file mode 100644
index 9ca8bc4..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/DefaultModelWriter.java
+++ /dev/null
@@ -1,228 +0,0 @@
-package org.eclipse.update.examples.buildzip;
-
-/*
- * (c) Copyright IBM Corp. 2000, 2002.
- * All Rights Reserved.
- */ 
- 
-import java.io.OutputStream;
-import java.io.PrintWriter;
-
-import org.eclipse.update.core.model.*;
-
-/**
- * Write standard feature manifest (feature.xml) from model.
- * </p>
- * @since 2.0
- */
-
-public class DefaultModelWriter {
-	
-	private FeatureModel feature;
-	
-	/**
-	 * @since 2.0
-	 */
-	public DefaultModelWriter(FeatureModel feature) {
-		this.feature = feature;
-	}
-	
-	/**
-	 * @since 2.0
-	 */
-	public void writeFeatureManifest(OutputStream os) {
-		PrintWriter w = new PrintWriter(os);
-		writeFeature(w,0,feature);
-		w.flush();
-	}
-	
-	private void writeFeature(PrintWriter w, int level, FeatureModel feature) {
-		if (feature == null) return;
-		
-		String in = getIndent(level);
-		w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
-		
-		w.println(in+"<feature");
-		if (feature.getFeatureIdentifier()!=null)
-			w.println(in+"   "+"id=\""+feature.getFeatureIdentifier()+"\"");
-		if (feature.getFeatureVersion()!=null)
-			w.println(in+"   "+"version=\""+feature.getFeatureVersion()+"\"");
-		if (feature.getLabelNonLocalized()!=null)
-			w.println(in+"   "+"label=\""+feature.getLabelNonLocalized()+"\"");
-		if (feature.getProviderNonLocalized()!=null)
-			w.println(in+"   "+"provider-name=\""+feature.getProviderNonLocalized()+"\"");
-		if (feature.getImageURLString()!=null)
-			w.println(in+"   "+"image=\""+feature.getImageURLString()+"\"");
-		if (feature.getOS()!=null)
-			w.println(in+"   "+"os=\""+feature.getOS()+"\"");
-		if (feature.getWS()!=null)
-			w.println(in+"   "+"ws=\""+feature.getWS()+"\"");
-		if (feature.getNL()!=null)
-			w.println(in+"   "+"nl=\""+feature.getNL()+"\"");
-		if (feature.getApplication()!=null)
-			w.println(in+"   "+"application=\""+feature.getApplication()+"\"");
-		w.println(in+"   "+">");
-		
-		writeDescription(w, level+1, feature.getDescriptionModel());
-		writeCopyright(w, level+1, feature.getCopyrightModel());
-		writeLicense(w, level+1, feature.getLicenseModel());
-		writeURLs(w, level+1, feature);
-		writePrereqs(w, level+1, feature);
-		writePluginEntries(w, level+1, feature);
-		writeNonPluginEntries(w, level+1, feature);
-         
-        w.println("");
-        w.println(in+"</feature>");
-	}
-	
-	private void writeDescription(PrintWriter w, int level, URLEntryModel ue) {
-		writeDescriptionEntry(w,level, ue, "description");
-	}
-	
-	private void writeCopyright(PrintWriter w, int level, URLEntryModel ue) {
-		writeDescriptionEntry(w,level, ue, "copyright");
-	}
-	
-	private void writeLicense(PrintWriter w, int level, URLEntryModel ue) {
-		writeDescriptionEntry(w,level, ue, "license");
-	}
-	
-	private void writeDescriptionEntry(PrintWriter w, int level, URLEntryModel ue, String tag) {
-		if (ue == null) return;
-		String url = ue.getURLString();
-		String txt = ue.getAnnotationNonLocalized();
-		if (url==null && txt==null) return;
-		
-		String in = getIndent(level);
-		w.println("");
-		if (url==null)
-			w.println(in+"<"+tag+">");
-		else {
-			w.print(in+"<"+tag+" url=\""+ue.getURLString()+"\"");
-			if (txt==null)
-				w.println("/>");
-			else
-				w.println(">");
-		}
-		if (txt!=null) {
-			w.println(in + txt);
-			w.println(in+"</"+tag+">");
-		}
-	}
-	
-	private void writeURLs(PrintWriter w, int level, FeatureModel feature) {	
-		URLEntryModel update = feature.getUpdateSiteEntryModel();
-		URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels();		
-		if (update == null && (discovery == null || discovery.length==0)) return;
-		
-		String in = getIndent(level);
-		String in2 = getIndent(level+1);		
-		w.println("");
-		w.println(in+"<url>");
-		
-		if (update != null) {
-			w.println(in2+"<update");
-			if (update.getURLString()!=null)
-				w.println(in2+"   "+"url=\""+update.getURLString()+"\"");
-			if (update.getAnnotationNonLocalized()!=null)
-				w.println(in2+"   "+"label=\""+update.getAnnotationNonLocalized()+"\"");
-			w.println(in2+"   "+"/>");
-		}
-		
-		for (int i=0; discovery!=null && i<discovery.length; i++) {
-			w.println(in2+"<discovery");
-			if (discovery[i].getURLString()!=null)	
-				w.println(in2+"   "+"url=\""+discovery[i].getURLString()+"\"");
-			if (discovery[i].getAnnotationNonLocalized()!=null)
-				w.println(in2+"   "+"label=\""+discovery[i].getAnnotationNonLocalized()+"\"");
-			w.println(in2+"   "+"/>");
-		}
-		
-		w.println(in+"</url>");
-	}
-	
-	private void writePrereqs(PrintWriter w, int level, FeatureModel feature) {	
-		ImportModel[] imp = feature.getImportModels();	
-		if (imp == null || imp.length == 0) return;
-		
-		String in = getIndent(level);
-		String in2 = getIndent(level+1);
-		w.println("");
-		w.println(in+"<requires>");
-		
-		for (int i=0; imp!=null && i<imp.length; i++) {
-			w.println(in2+"<import");
-			if (imp[i].getIdentifier()!=null)
-				w.println(in2+"   "+"plugin=\""+imp[i].getIdentifier()+"\"");
-			if (imp[i].getVersion()!=null)
-				w.println(in2+"   "+"version=\""+imp[i].getVersion()+"\"");
-			if (imp[i].getMatchingRuleName()!=null)
-				w.println(in2+"   "+"match=\""+imp[i].getMatchingRuleName()+"\"");
-			w.println(in2+"   "+"/>");
-		}
-		
-		w.println(in+"</requires>");
-	}
-	
-	private void writePluginEntries(PrintWriter w, int level, FeatureModel feature) {
-		PluginEntryModel[] plugin = feature.getPluginEntryModels();
-		if (plugin == null || plugin.length == 0) return;
-		
-		String in = getIndent(level);
-		w.println("");
-		
-		for (int i=0; i<plugin.length; i++) {
-			w.println(in+"<plugin");
-			if (plugin[i].getPluginIdentifier()!=null)
-				w.println(in+"   "+"id=\""+plugin[i].getPluginIdentifier()+"\"");
-			if (plugin[i].getPluginVersion()!=null)
-				w.println(in+"   "+"version=\""+plugin[i].getPluginVersion()+"\"");
-			if (plugin[i].isFragment())
-				w.println(in+"   "+"fragment=\""+plugin[i].isFragment()+"\"");
-			if (plugin[i].getOS()!=null)
-				w.println(in+"   "+"os=\""+plugin[i].getOS()+"\"");
-			if (plugin[i].getWS()!=null)
-				w.println(in+"   "+"ws=\""+plugin[i].getWS()+"\"");
-			if (plugin[i].getNL()!=null)
-				w.println(in+"   "+"nl=\""+plugin[i].getNL()+"\"");
-			if (plugin[i].getDownloadSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"download-size=\""+plugin[i].getDownloadSize()+"\"");
-			if (plugin[i].getInstallSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"install-size=\""+plugin[i].getInstallSize()+"\"");
-			w.println(in+"   "+"/>");
-		}
-	}
-	
-	private void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) {
-		NonPluginEntryModel[] data = feature.getNonPluginEntryModels();
-		if (data == null || data.length == 0) return;
-		
-		String in = getIndent(level);
-		w.println("");
-		
-		for (int i=0; i<data.length; i++) {
-			w.println(in+"<data");
-			if (data[i].getIdentifier()!=null)
-				w.println(in+"   "+"id=\""+data[i].getIdentifier()+"\"");
-			if (data[i].getOS()!=null)
-				w.println(in+"   "+"os=\""+data[i].getOS()+"\"");
-			if (data[i].getWS()!=null)
-				w.println(in+"   "+"ws=\""+data[i].getWS()+"\"");
-			if (data[i].getNL()!=null)
-				w.println(in+"   "+"nl=\""+data[i].getNL()+"\"");
-			if (data[i].getDownloadSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"download-size=\""+data[i].getDownloadSize()+"\"");
-			if (data[i].getInstallSize()!=ContentEntryModel.UNKNOWN_SIZE)
-				w.println(in+"   "+"install-size=\""+data[i].getInstallSize()+"\"");
-			w.println(in+"   "+"/>");
-		}
-	}
-	
-	
-	private String getIndent(int level) {
-		String indent = "";
-		for (int i=0; i<level; i++) 
-			indent += "   ";
-		return indent;
-	}
-}
diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
deleted file mode 100644
index 1e189df..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/Test.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.eclipse.update.examples.buildzip;

-

-/*

- * (c) Copyright IBM Corp. 2000, 2002.

- * All Rights Reserved.

- */ 

-

-import java.net.URL;

-

-import org.eclipse.update.core.*;

- 

-/**

- * unit test harness

- */

-

-public class Test {

-

-	public static void main(String[] args) {

-		

-		try {

-			URL url = new URL("file:d:/downloads/eclipse 2.0/integration-eclipse-SDK-20020109-win32.zip");

-			BuildZipFeatureFactory factory = new BuildZipFeatureFactory();

-			Feature feature = (Feature) factory.createFeature(url,null/*ISite*/);

-			DefaultModelWriter w = new DefaultModelWriter(feature);

-			w.writeFeatureManifest(System.out);

-			

-			System.out.println("");

-			System.out.println("Feature entry references");

-			ContentReference[] refs = feature.getFeatureContentProvider().getFeatureEntryContentReferences(null);

-			for (int i=0; i< refs.length; i++) {

-				System.out.println("   "+refs[i].getIdentifier());

-			}

-			

-			System.out.println("");

-			System.out.println("Plug-in entry references");

-			IPluginEntry[] entry = feature.getPluginEntries();

-			refs = feature.getFeatureContentProvider().getPluginEntryContentReferences(entry[0], null);

-			for (int i=0; i< refs.length; i++) {

-				System.out.println("   "+refs[i].getIdentifier());

-			}			

-			

-			System.out.println("");

-			System.out.println("Non-plug-in entry references");

-			INonPluginEntry[] data = feature.getNonPluginEntries();

-			refs = feature.getFeatureContentProvider().getNonPluginEntryArchiveReferences(data[0], null);

-			for (int i=0; i< refs.length; i++) {

-				System.out.println("   "+refs[i].getIdentifier());

-			}			

-			

-			System.out.println("Done ...");

-		} catch (Exception e) {

-			e.printStackTrace();

-		}		

-	}

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
deleted file mode 100644
index 6cb24bd..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/buildzip/java.page.jpage
+++ /dev/null
@@ -1,45 +0,0 @@
-

-

-java.util.Properties p = System.getProperties();

-java.util.Enumeration keys = p.keys();

-while (keys.hasMoreElements()) {

-	String key = (String)keys.nextElement();

-	System.out.println(key + " = " + (String)p.get(key));

-}

-

-

-

-

-

-String fileName = "d:\\downloads\\eclipse 2.0\\integration-eclipse-SDK-20020109-win32.zip";

-java.io.File archiveFile = new java.io.File(fileName);

-java.util.jar.JarFile jarArchive = new java.util.jar.JarFile(archiveFile);

-java.util.jar.JarEntry entry;

-java.util.Enumeration entries = jarArchive.entries();

-while(entries.hasMoreElements()) {

-	entry = (java.util.jar.JarEntry) entries.nextElement();

-	System.out.println(entry.getName());

-}

-

-

-String a = "223";

-String b = "123";

-a.compareTo(b);

-

-

-org.eclipse.update.core.Version v1 = 

-	new org.eclipse.update.core.Version(1,2,3,"build 127J");

-org.eclipse.update.core.Version v2 = 

-	new org.eclipse.update.core.Version(1,2,3,"build 127J");

-v1.compare(v2);

-

-

-java.io.File f = new java.io.File("d:\\downloads\\eclipse 2.0\\x\\");

-f.isDirectory();

-

-

-String s = "hello";

-Object a = java.lang.reflect.Array.newInstance(s.getClass(),0);

-System.out.println(a.getClass().getName());

-

-

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
deleted file mode 100644
index 2cbeab4..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteContentProvider.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package org.eclipse.update.examples.freeform;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.core.runtime.Status;

-import org.eclipse.update.core.SiteContentProvider;

-

-public class FreeFormSiteContentProvider extends SiteContentProvider {

-

-	/**

-	 * Constructor for SiteContentProvider.

-	 */

-	public FreeFormSiteContentProvider(URL url) {

-		super(url);

-	}

-	

-	/*

-	 * @see ISiteContentProvider#getArchiveReference(String)

-	 */

-	public URL getArchiveReference(String id) throws CoreException {

-		try {

-			return new URL(getURL(),id);

-		} catch(MalformedURLException e) {

-			throw newCoreException("Unable to return archive URL",e);

-		}

-	}

-	

-	private CoreException newCoreException(String s, Throwable e) throws CoreException {

-		return new CoreException(new Status(IStatus.ERROR,"org.eclipse.update.examples",0,s,e));

-	}

-

-}

diff --git a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java b/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
deleted file mode 100644
index cb3c7fc..0000000
--- a/update/org.eclipse.update.examples/src/org/eclipse/update/examples/freeform/FreeFormSiteFactory.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package org.eclipse.update.examples.freeform;

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.BaseSiteFactory;

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.Site;

-import org.eclipse.update.core.model.InvalidSiteTypeException;

-import org.eclipse.update.core.model.URLEntryModel;

-

-public class FreeFormSiteFactory extends BaseSiteFactory {

-

-	/*

-	 * @see ISiteFactory#createSite(URL)

-	 */

-	public ISite createSite(URL url)

-		throws CoreException, InvalidSiteTypeException {

-

-		// Create site

-		Site site = null;

-		InputStream is = null;

-		try {

-			is = url.openStream();

-			site = (Site) parseSite(is);

-

-			URLEntryModel realSiteRef = site.getDescriptionModel();

-			if (realSiteRef == null)

-				throw Utilities.newCoreException(

-					"Unable to obtain update site reference",

-					null);

-			String siteURLString = realSiteRef.getURLString();

-			if (siteURLString == null)

-				throw Utilities.newCoreException(

-					"Unable to obtain update site reference",

-					null);

-			URL siteURL = new URL(siteURLString);

-			FreeFormSiteContentProvider contentProvider =

-				new FreeFormSiteContentProvider(siteURL);

-			site.setSiteContentProvider(contentProvider);

-			site.resolve(siteURL, null); // resolve any URLs relative to the site

-

-		} catch (MalformedURLException e){

-			throw Utilities.newCoreException("Unable to create URL",e);

-		} catch (IOException e){

-			throw Utilities.newCoreException("Unable to access URL",e);

-		} finally {

-			if (is != null)

-				try {

-					is.close();

-				} catch (IOException e) {

-				}

-		}

-

-		return site;

-	}

-

-	/*

-	 * @see SiteModelFactory#canParseSiteType(String)

-	 */

-	public boolean canParseSiteType(String type) {

-		return type != null

-			&& type.equals("org.eclipse.update.examples.site.freeform");

-	}

-

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.scheduler/.classpath b/update/org.eclipse.update.scheduler/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.scheduler/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.scheduler/.cvsignore b/update/org.eclipse.update.scheduler/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/update/org.eclipse.update.scheduler/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/update/org.eclipse.update.scheduler/.project b/update/org.eclipse.update.scheduler/.project
deleted file mode 100644
index e2d7e83..0000000
--- a/update/org.eclipse.update.scheduler/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.update.scheduler</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.boot</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.jface.text</project>
-		<project>org.eclipse.ui</project>
-		<project>org.eclipse.ui.editors</project>
-		<project>org.eclipse.ui.views</project>
-		<project>org.eclipse.ui.workbench.texteditor</project>
-		<project>org.eclipse.update.core</project>
-		<project>org.eclipse.update.core.linux</project>
-		<project>org.eclipse.update.ui</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/update/org.eclipse.update.scheduler/META-INF/MANIFEST.MF b/update/org.eclipse.update.scheduler/META-INF/MANIFEST.MF
deleted file mode 100644
index e26fbc9..0000000
--- a/update/org.eclipse.update.scheduler/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,15 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.update.scheduler; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-Activator: org.eclipse.update.internal.scheduler.UpdateSchedulerPlugin
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.update.internal.scheduler;x-internal:=true,
- org.eclipse.update.internal.scheduler.preferences;x-internal:=true
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.update.core,
- org.eclipse.update.ui,
- org.eclipse.ui
-Eclipse-AutoStart: true
diff --git a/update/org.eclipse.update.scheduler/about.html b/update/org.eclipse.update.scheduler/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/update/org.eclipse.update.scheduler/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.scheduler/build.properties b/update/org.eclipse.update.scheduler/build.properties
deleted file mode 100644
index 1ffcaa7..0000000
--- a/update/org.eclipse.update.scheduler/build.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = plugin.properties,\
-               .,\
-               plugin.xml,\
-               about.html,\
-               META-INF/
-src.includes = about.html
-source.. = src/
diff --git a/update/org.eclipse.update.scheduler/plugin.properties b/update/org.eclipse.update.scheduler/plugin.properties
deleted file mode 100644
index 58424f7..0000000
--- a/update/org.eclipse.update.scheduler/plugin.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2003 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#
-# Update Scheduler plugin.xml resources
-#
-pluginName = Automatic Updates Scheduler
-providerName = Eclipse.org
-automaticUpdatesPrefPage = Automatic Updates
-
-preferenceKeywords.general=automatic update schedule download
\ No newline at end of file
diff --git a/update/org.eclipse.update.scheduler/plugin.xml b/update/org.eclipse.update.scheduler/plugin.xml
deleted file mode 100644
index ac6eb74..0000000
--- a/update/org.eclipse.update.scheduler/plugin.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin>
-
-    	<extension id="preferences" point="org.eclipse.core.runtime.preferences" name="preferences">
-		<initializer class="org.eclipse.update.internal.scheduler.preferences.PreferenceInitializer"/>
-	</extension>
-   <extension
-         point="org.eclipse.ui.startup">
-      <startup class="org.eclipse.update.internal.scheduler.SchedulerStartup">
-      </startup>
-   </extension>
-   <extension
-         point="org.eclipse.ui.preferencePages">
-      <page
-            name="%automaticUpdatesPrefPage"
-            category="org.eclipse.update.internal.ui.preferences.MainPreferencePage"
-            class="org.eclipse.update.internal.scheduler.preferences.AutomaticUpdatesPreferencePage"
-            id="org.eclipse.update.scheduler.AutomaticUpdatesPreferencePage">
-            <keywordReference id="org.eclipse.update.scheduler.general"/>
-      </page>
-   </extension>
-
-      <extension
-   		point="org.eclipse.ui.keywords">
-      <keyword
-            label="%preferenceKeywords.general"
-            id="org.eclipse.update.scheduler.general"/>
-      </extension>
-</plugin>
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdateJob.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdateJob.java
deleted file mode 100644
index e6afd9a..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/AutomaticUpdateJob.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler;
-
-import org.eclipse.update.search.UpdateSearchRequest;
-import org.eclipse.update.ui.UpdateJob;
-
-class AutomaticUpdateJob extends UpdateJob {
-
-	public AutomaticUpdateJob(String name, boolean isAutomatic, boolean download) {
-		super(name, isAutomatic, download);
-	}
-
-	public AutomaticUpdateJob(String name, UpdateSearchRequest searchRequest) {
-		super(name, searchRequest);
-	}
-
-	public boolean belongsTo(Object family) {
-		return SchedulerStartup.automaticJobFamily == family;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/SchedulerStartup.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/SchedulerStartup.java
deleted file mode 100644
index 1353e77..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/SchedulerStartup.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler;
-
-import java.lang.reflect.Constructor;
-import java.util.Calendar;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.core.runtime.jobs.IJobChangeListener;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.ui.IStartup;
-
-/**
- * This plug-in is loaded on startup to fork a job that searches for new
- * plug-ins.
- */
-public class SchedulerStartup implements IStartup {
-	// Preferences
-	public static final String P_ENABLED = "enabled"; //$NON-NLS-1$
-
-	public static final String P_SCHEDULE = "schedule"; //$NON-NLS-1$
-
-	public static final String VALUE_ON_STARTUP = "on-startup"; //$NON-NLS-1$
-
-	public static final String VALUE_ON_SCHEDULE = "on-schedule"; //$NON-NLS-1$
-
-	public static final String P_DOWNLOAD = "download"; // value is true or false, default isfalse //$NON-NLS-1$
-
-	// values are to be picked up from the arryas DAYS and HOURS
-	public static final String P_DAY = "day"; //$NON-NLS-1$
-
-	public static final String P_HOUR = "hour"; //$NON-NLS-1$
-
-	// Keeps track of the running job
-	private Job job;
-
-	static final Object automaticJobFamily = new Object();
-
-	// Listener for job changes
-	private IJobChangeListener jobListener;
-
-	public static final String[] DAYS = {
-			UpdateSchedulerMessages.SchedulerStartup_day,
-			UpdateSchedulerMessages.SchedulerStartup_Monday,
-			UpdateSchedulerMessages.SchedulerStartup_Tuesday,
-			UpdateSchedulerMessages.SchedulerStartup_Wednesday,
-			UpdateSchedulerMessages.SchedulerStartup_Thursday,
-			UpdateSchedulerMessages.SchedulerStartup_Friday,
-			UpdateSchedulerMessages.SchedulerStartup_Saturday,
-			UpdateSchedulerMessages.SchedulerStartup_Sunday };
-
-	public static final String[] HOURS = {
-			UpdateSchedulerMessages.SchedulerStartup_1AM,
-			UpdateSchedulerMessages.SchedulerStartup_2AM,
-			UpdateSchedulerMessages.SchedulerStartup_3AM,
-			UpdateSchedulerMessages.SchedulerStartup_4AM,
-			UpdateSchedulerMessages.SchedulerStartup_5AM,
-			UpdateSchedulerMessages.SchedulerStartup_6AM,
-			UpdateSchedulerMessages.SchedulerStartup_7AM,
-			UpdateSchedulerMessages.SchedulerStartup_8AM,
-			UpdateSchedulerMessages.SchedulerStartup_9AM,
-			UpdateSchedulerMessages.SchedulerStartup_10AM,
-			UpdateSchedulerMessages.SchedulerStartup_11AM,
-			UpdateSchedulerMessages.SchedulerStartup_12PM,
-			UpdateSchedulerMessages.SchedulerStartup_1PM,
-			UpdateSchedulerMessages.SchedulerStartup_2PM,
-			UpdateSchedulerMessages.SchedulerStartup_3PM,
-			UpdateSchedulerMessages.SchedulerStartup_4PM,
-			UpdateSchedulerMessages.SchedulerStartup_5PM,
-			UpdateSchedulerMessages.SchedulerStartup_6PM,
-			UpdateSchedulerMessages.SchedulerStartup_7PM,
-			UpdateSchedulerMessages.SchedulerStartup_8PM,
-			UpdateSchedulerMessages.SchedulerStartup_9PM,
-			UpdateSchedulerMessages.SchedulerStartup_10PM,
-			UpdateSchedulerMessages.SchedulerStartup_11PM,
-			UpdateSchedulerMessages.SchedulerStartup_12AM, };
-
-	/**
-	 * The constructor.
-	 */
-	public SchedulerStartup() {
-		UpdateSchedulerPlugin.setScheduler(this);
-	}
-
-	public void earlyStartup() {
-		scheduleUpdateJob();
-	}
-
-	public void scheduleUpdateJob() {
-		Preferences pref = UpdateSchedulerPlugin.getDefault()
-				.getPluginPreferences();
-		// See if automatic search is enabled at all
-		if (pref.getBoolean(P_ENABLED) == false)
-			return;
-
-		String schedule = pref.getString(P_SCHEDULE);
-		long delay = -1L;
-		if (schedule.equals(VALUE_ON_STARTUP))
-			// have we already started a job ?
-			if (job == null)
-				delay = 0L;
-			else
-				delay = -1L;
-		else
-			delay = computeDelay(pref);
-		if (delay == -1L)
-			return;
-		startSearch(delay);
-	}
-
-	private int getDay(Preferences pref) {
-		String day = pref.getString(P_DAY);
-		for (int d = 0; d < DAYS.length; d++)
-			if (DAYS[d].equals(day))
-				switch (d) {
-				case 0:
-					return -1;
-				case 1:
-					return Calendar.MONDAY;
-				case 2:
-					return Calendar.TUESDAY;
-				case 3:
-					return Calendar.WEDNESDAY;
-				case 4:
-					return Calendar.THURSDAY;
-				case 5:
-					return Calendar.FRIDAY;
-				case 6:
-					return Calendar.SATURDAY;
-				case 7:
-					return Calendar.SUNDAY;
-				}
-		return -1;
-	}
-
-	private int getHour(Preferences pref) {
-		String hour = pref.getString(P_HOUR);
-		for (int h = 0; h < HOURS.length; h++)
-			if (HOURS[h].equals(hour))
-				return h + 1;
-		return 1;
-	}
-
-	/*
-	 * Computes the number of milliseconds from this moment to the next
-	 * scheduled search. If that moment has already passed, returns 0L (start
-	 * immediately).
-	 */
-	private long computeDelay(Preferences pref) {
-
-		int target_d = getDay(pref);
-		int target_h = getHour(pref);
-
-		Calendar calendar = Calendar.getInstance();
-		// may need to use the BootLoader locale
-		int current_d = calendar.get(Calendar.DAY_OF_WEEK);
-		// starts with SUNDAY
-		int current_h = calendar.get(Calendar.HOUR_OF_DAY);
-		int current_m = calendar.get(Calendar.MINUTE);
-		int current_s = calendar.get(Calendar.SECOND);
-		int current_ms = calendar.get(Calendar.MILLISECOND);
-
-		long delay = 0L; // milliseconds
-
-		if (target_d == -1) {
-			// Compute the delay for "every day at x o'clock"
-			// Is it now ?
-			if (target_h == current_h && current_m == 0 && current_s == 0)
-				return delay;
-
-			int delta_h = target_h - current_h;
-			if (target_h <= current_h)
-				delta_h += 24;
-			delay = ((delta_h * 60 - current_m) * 60 - current_s) * 1000
-					- current_ms;
-			return delay;
-		} else {
-			// Compute the delay for "every Xday at x o'clock"
-			// Is it now ?
-			if (target_d == current_d && target_h == current_h
-					&& current_m == 0 && current_s == 0)
-				return delay;
-
-			int delta_d = target_d - current_d;
-			if (target_d < current_d
-					|| target_d == current_d
-					&& (target_h < current_h || target_h == current_h
-							&& current_m > 0))
-				delta_d += 7;
-
-			delay = (((delta_d * 24 + target_h - current_h) * 60 - current_m) * 60 - current_s)
-					* 1000 - current_ms;
-
-			return delay;
-		}
-		// return -1L;
-	}
-
-	private void startSearch(long delay) {
-		if (job != null) {
-			// cancel old job.
-			// We need to deregister the listener first,so we won't
-			// automatically start another job
-			if (jobListener != null)
-				Platform.getJobManager().removeJobChangeListener(jobListener);
-			Platform.getJobManager().cancel(job);
-		}
-		if (jobListener == null) {
-			// using reflection to avoid premature class loading
-			jobListener = createJobChangeAdapter();
-			if (jobListener == null)
-				return;
-		}
-		Platform.getJobManager().addJobChangeListener(jobListener);
-		String jobName = UpdateSchedulerMessages.AutomaticUpdatesJob_AutomaticUpdateSearch; //$NON-NLS-1$);
-		boolean download = UpdateSchedulerPlugin.getDefault()
-				.getPluginPreferences().getBoolean(
-						UpdateSchedulerPlugin.P_DOWNLOAD);
-		job = createUpdateJob(jobName, download);
-		if (job != null)
-			job.schedule(delay);
-
-	}
-
-	/*
-	 * Loads the update job using reflection to avoid premature startup of the
-	 * Update UI plug-in.
-	 */
-
-	private Job createUpdateJob(String name, boolean download) {
-		try {
-			Class theClass = Class
-					.forName("org.eclipse.update.internal.scheduler.AutomaticUpdateJob"); //$NON-NLS-1$
-			Constructor constructor = theClass.getConstructor(new Class[] {
-					String.class, Boolean.TYPE, Boolean.TYPE });
-			return (Job) constructor.newInstance(new Object[] { name,
-					Boolean.TRUE, new Boolean(download) });
-		} catch (Exception e) {
-			UpdateSchedulerPlugin.logException(e, false);
-			return null;
-		}
-	}
-
-	/*
-	 * Loads the job listener using reflection to avoid premature startup of the
-	 * Update UI plug-in.
-	 */
-	private IJobChangeListener createJobChangeAdapter() {
-		try {
-			Class theClass = Class
-					.forName("org.eclipse.update.internal.scheduler.UpdateJobChangeAdapter"); //$NON-NLS-1$
-			Constructor constructor = theClass
-					.getConstructor(new Class[] { SchedulerStartup.class });
-			return (IJobChangeListener) constructor
-					.newInstance(new Object[] { this });
-		} catch (Exception e) {
-			UpdateSchedulerPlugin.logException(e, false);
-			return null;
-		}
-	}
-
-	Job getJob() {
-		return job;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateJobChangeAdapter.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateJobChangeAdapter.java
deleted file mode 100644
index 94473c4..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateJobChangeAdapter.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler;
-
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.wizards.InstallWizard;
-import org.eclipse.update.internal.ui.wizards.InstallWizard2;
-import org.eclipse.update.internal.ui.wizards.ResizableInstallWizardDialog;
-
-class UpdateJobChangeAdapter extends JobChangeAdapter {
-	private SchedulerStartup startup;
-
-	public UpdateJobChangeAdapter(SchedulerStartup startup) {
-		this.startup = startup;
-	}
-
-	public void done(IJobChangeEvent event) {
-		if (event.getJob() == startup.getJob()) {
-
-			// prompt the user
-			if (((AutomaticUpdateJob) startup.getJob()).getUpdates().length > 0
-					&& !InstallWizard.isRunning()) {
-				if (UpdateSchedulerPlugin.getDefault().getPluginPreferences()
-						.getBoolean(UpdateSchedulerPlugin.P_DOWNLOAD)) {
-					UpdateUI.getStandardDisplay().asyncExec(new Runnable() {
-						public void run() {
-							asyncNotifyDownloadUser();
-							startup.scheduleUpdateJob();
-						}
-					});
-				} else {
-					UpdateUI.getStandardDisplay().asyncExec(new Runnable() {
-						public void run() {
-							asyncNotifyUser();
-							startup.scheduleUpdateJob();
-						}
-					});
-				}
-			}
-		}
-	}
-
-	private void asyncNotifyUser() {
-		// ask the user to install updates
-		UpdateUI.getStandardDisplay().beep();
-		if (MessageDialog.openQuestion(UpdateUI.getActiveWorkbenchShell(),
-				UpdateUIMessages.AutomaticUpdatesJob_EclipseUpdates1,
-				UpdateUIMessages.AutomaticUpdatesJob_UpdatesAvailable)) {
-			BusyIndicator.showWhile(UpdateUI.getStandardDisplay(),
-					new Runnable() {
-						public void run() {
-							openInstallWizard2();
-						}
-					});
-		}
-		// notify the manager that the job is done
-		// job.done(Status.OK_STATUS);
-	}
-
-	private void asyncNotifyDownloadUser() {
-		// ask the user to install updates
-		UpdateUI.getStandardDisplay().beep();
-		if (MessageDialog.openQuestion(UpdateUI.getActiveWorkbenchShell(),
-				UpdateUIMessages.AutomaticUpdatesJob_EclipseUpdates2,
-				UpdateUIMessages.AutomaticUpdatesJob_UpdatesDownloaded)) {
-			BusyIndicator.showWhile(UpdateUI.getStandardDisplay(),
-					new Runnable() {
-						public void run() {
-							openInstallWizard2();
-						}
-					});
-		} else {
-			// Don't discard downloaded data, as next time we compare
-			// timestamps.
-
-			// discard all the downloaded data from cache (may include old
-			// data as well)
-			// Utilities.flushLocalFile();
-		}
-		// notify the manager that the job is done
-		// job.done(Status.OK_STATUS);
-	}
-
-	private void openInstallWizard2() {
-		if (InstallWizard.isRunning())
-			// job ends and a new one is rescheduled
-			return;
-		AutomaticUpdateJob ujob = (AutomaticUpdateJob) startup.getJob();
-		InstallWizard2 wizard = new InstallWizard2(ujob.getSearchRequest(),
-				ujob.getUpdates(), true);
-		WizardDialog dialog = new ResizableInstallWizardDialog(UpdateUI
-				.getActiveWorkbenchShell(), wizard,
-				UpdateUIMessages.AutomaticUpdatesJob_Updates);
-		dialog.create();
-		dialog.open();
-	}
-
-}
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerMessages.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerMessages.java
deleted file mode 100644
index f88af80..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerMessages.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class UpdateSchedulerMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.update.internal.scheduler.UpdateSchedulerResources";//$NON-NLS-1$
-
-	private UpdateSchedulerMessages() {
-		// Do not instantiate
-	}
-
-	public static String SchedulerStartup_day;
-	public static String SchedulerStartup_Monday;
-	public static String SchedulerStartup_Tuesday;
-	public static String SchedulerStartup_Wednesday;
-	public static String SchedulerStartup_Thursday;
-	public static String SchedulerStartup_Friday;
-	public static String SchedulerStartup_Saturday;
-	public static String SchedulerStartup_Sunday;
-	public static String SchedulerStartup_1AM;
-	public static String SchedulerStartup_2AM;
-	public static String SchedulerStartup_3AM;
-	public static String SchedulerStartup_4AM;
-	public static String SchedulerStartup_5AM;
-	public static String SchedulerStartup_6AM;
-	public static String SchedulerStartup_7AM;
-	public static String SchedulerStartup_8AM;
-	public static String SchedulerStartup_9AM;
-	public static String SchedulerStartup_10AM;
-	public static String SchedulerStartup_11AM;
-	public static String SchedulerStartup_12PM;
-	public static String SchedulerStartup_1PM;
-	public static String SchedulerStartup_2PM;
-	public static String SchedulerStartup_3PM;
-	public static String SchedulerStartup_4PM;
-	public static String SchedulerStartup_5PM;
-	public static String SchedulerStartup_6PM;
-	public static String SchedulerStartup_7PM;
-	public static String SchedulerStartup_8PM;
-	public static String SchedulerStartup_9PM;
-	public static String SchedulerStartup_10PM;
-	public static String SchedulerStartup_11PM;
-	public static String SchedulerStartup_12AM;
-	public static String AutomaticUpdatesJob_AutomaticUpdateSearch;
-	public static String AutomaticUpdatesPreferencePage_findUpdates;
-	public static String AutomaticUpdatesPreferencePage_UpdateSchedule;
-	public static String AutomaticUpdatesPreferencePage_findOnStart;
-	public static String AutomaticUpdatesPreferencePage_findOnSchedule;
-	public static String AutomaticUpdatesPreferencePage_downloadOptions;
-	public static String AutomaticUpdatesPreferencePage_searchAndNotify;
-	public static String AutomaticUpdatesPreferencePage_downloadAndNotify;
-	public static String AutomaticUpdatesJob_EclipseUpdates1;
-	public static String AutomaticUpdatesJob_UpdatesAvailable;
-	public static String AutomaticUpdatesJob_EclipseUpdates2;
-	public static String AutomaticUpdatesPreferencePage_at;
-	public static String AutomaticUpdatesJob_UpdatesDownloaded;
-	public static String AutomaticUpdatesJob_Updates;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, UpdateSchedulerMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerPlugin.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerPlugin.java
deleted file mode 100644
index f0757d2..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerPlugin.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler;
-
-import java.lang.reflect.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.*;
-
-/**
- * This plug-in is loaded on startup to fork a job that
- * searches for new plug-ins.
- */
-public class UpdateSchedulerPlugin extends AbstractUIPlugin{
-	// Preferences
-	public static final String P_ENABLED = "enabled"; //$NON-NLS-1$
-	public static final String P_SCHEDULE = "schedule"; //$NON-NLS-1$
-	public static final String VALUE_ON_STARTUP = "on-startup"; //$NON-NLS-1$
-	public static final String VALUE_ON_SCHEDULE = "on-schedule"; //$NON-NLS-1$
-	public static final String P_DOWNLOAD = "download"; // value is true or false, default is false //$NON-NLS-1$
-
-	//The shared instance.
-	private static UpdateSchedulerPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	// singleton
-	private static SchedulerStartup scheduler;
-
-	/**
-	 * The constructor.
-	 */
-	public UpdateSchedulerPlugin() {
-		plugin = this;
-	}
-
-
-	public ResourceBundle getResourceBundle() {
-		if (resourceBundle == null)
-			try {
-				resourceBundle = ResourceBundle.getBundle("org.eclipse.update.internal.scheduler.UpdateSchedulerResources"); //$NON-NLS-1$
-			} catch (MissingResourceException x) {
-				resourceBundle = null;
-			}
-		return resourceBundle;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UpdateSchedulerPlugin getDefault() {
-		return plugin;
-	}
-
-	public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, true);
-	}
-
-	public static void logException(Throwable e, boolean showErrorDialog) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			String message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status =
-				new Status(
-					IStatus.ERROR,
-					getPluginId(),
-					IStatus.OK,
-					message,
-					e);
-		}
-		log(status, showErrorDialog);
-	}
-
-	public static void log(IStatus status, boolean showErrorDialog) {
-		if (status.getSeverity() != IStatus.INFO) {
-			if (showErrorDialog)
-				ErrorDialog.openError(
-					getActiveWorkbenchShell(),
-					null,
-					null,
-					status);
-//			 Should log on the update plugin's log
-//			Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status); //$NON-NLS-1$
-			Bundle bundle = Platform.getBundle("org.eclipse.update.scheduler");  //$NON-NLS-1$
-			Platform.getLog(bundle).log(status);
-		} else {
-			MessageDialog.openInformation(
-				getActiveWorkbenchShell(),
-				null,
-				status.getMessage());
-		}
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		UpdateSchedulerPlugin plugin = getDefault();
-		IWorkbenchWindow window =
-			plugin.getWorkbench().getActiveWorkbenchWindow();
-		if (window != null)
-			return window.getActivePage();
-		return null;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		return window != null ? window.getShell() : null;
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-	
-	public static SchedulerStartup getScheduler() {
-		// If the scheduler was disabled, it does not get initialized
-		if (scheduler == null)
-			scheduler = new SchedulerStartup();
-		return scheduler;
-	}
-	
-	static void setScheduler(SchedulerStartup scheduler) {
-		UpdateSchedulerPlugin.scheduler = scheduler;
-	}
-}
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerResources.properties b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerResources.properties
deleted file mode 100644
index 1972003..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/UpdateSchedulerResources.properties
+++ /dev/null
@@ -1,58 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-#Messages for Update Scheduler plug-in
-
-SchedulerStartup_day=Every day
-SchedulerStartup_Monday=Every Monday
-SchedulerStartup_Tuesday=Every Tuesday
-SchedulerStartup_Wednesday=Every Wednesday
-SchedulerStartup_Thursday=Every Thursday
-SchedulerStartup_Friday=Every Friday
-SchedulerStartup_Saturday=Every Saturday
-SchedulerStartup_Sunday=Every Sunday
-SchedulerStartup_1AM=1:00 AM
-SchedulerStartup_2AM=2:00 AM
-SchedulerStartup_3AM=3:00 AM
-SchedulerStartup_4AM=4:00 AM
-SchedulerStartup_5AM=5:00 AM
-SchedulerStartup_6AM=6:00 AM
-SchedulerStartup_7AM=7:00 AM
-SchedulerStartup_8AM=8:00 AM
-SchedulerStartup_9AM=9:00 AM
-SchedulerStartup_10AM=10:00 AM
-SchedulerStartup_11AM=11:00 AM
-SchedulerStartup_12PM=12:00 PM
-SchedulerStartup_1PM=1:00 PM
-SchedulerStartup_2PM=2:00 PM
-SchedulerStartup_3PM=3:00 PM
-SchedulerStartup_4PM=4:00 PM
-SchedulerStartup_5PM=5:00 PM
-SchedulerStartup_6PM=6:00 PM
-SchedulerStartup_7PM=7:00 PM
-SchedulerStartup_8PM=8:00 PM
-SchedulerStartup_9PM=9:00 PM
-SchedulerStartup_10PM=10:00 PM
-SchedulerStartup_11PM=11:00 PM
-SchedulerStartup_12AM=12:00 AM
-AutomaticUpdatesJob_AutomaticUpdateSearch=Automatic Update Search
-AutomaticUpdatesPreferencePage_findUpdates=Automatically &find new updates and notify me
-AutomaticUpdatesPreferencePage_UpdateSchedule=Update &Schedule
-AutomaticUpdatesPreferencePage_findOnStart=Look for updates each time platform is started
-AutomaticUpdatesPreferencePage_findOnSchedule=Look for updates on the following schedule:
-AutomaticUpdatesPreferencePage_downloadOptions=&Download Options
-AutomaticUpdatesPreferencePage_searchAndNotify=Search for updates and notify me when they are available
-AutomaticUpdatesPreferencePage_downloadAndNotify=Download new updates automatically and notify me when ready to install them
-AutomaticUpdatesJob_EclipseUpdates1=Automatic Updates
-AutomaticUpdatesJob_UpdatesAvailable=New updates are available. Do you want to review and install them now?
-AutomaticUpdatesJob_EclipseUpdates2=Automatic Updates
-AutomaticUpdatesPreferencePage_at=at
-AutomaticUpdatesJob_UpdatesDownloaded=New updates are available and downloaded. Do you want to review and install them now?
-AutomaticUpdatesJob_Updates=Updates
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/AutomaticUpdatesPreferencePage.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/AutomaticUpdatesPreferencePage.java
deleted file mode 100644
index 4773ea7..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/AutomaticUpdatesPreferencePage.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler.preferences;
-
-import org.eclipse.core.runtime.Preferences;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.update.internal.scheduler.*;
-import org.eclipse.update.internal.scheduler.UpdateSchedulerPlugin;
-
-public class AutomaticUpdatesPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	private Button enabledCheck;
-	private Button onStartupRadio;
-	private Button onScheduleRadio;
-	private Combo dayCombo;
-	private Combo hourCombo;
-	private Button searchOnlyRadio;
-	private Button searchAndDownloadRadio;
-	private Group updateScheduleGroup;
-	private Group downloadGroup;
-
-	public void init(IWorkbench workbench) {
-	}
-
-	protected Control createContents(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		container.setLayout(layout);
-
-		enabledCheck = new Button(container, SWT.CHECK);
-		enabledCheck.setText(UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_findUpdates); 
-
-		createSpacer(container, 1);
-
-		updateScheduleGroup = new Group(container, SWT.NONE);
-		updateScheduleGroup.setText(UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_UpdateSchedule); 
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		updateScheduleGroup.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		updateScheduleGroup.setLayoutData(gd);
-
-		onStartupRadio = new Button(updateScheduleGroup, SWT.RADIO);
-		onStartupRadio.setText(
-			UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_findOnStart); 
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		onStartupRadio.setLayoutData(gd);
-		onStartupRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		onScheduleRadio = new Button(updateScheduleGroup, SWT.RADIO);
-		onScheduleRadio.setText(UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_findOnSchedule); 
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		onScheduleRadio.setLayoutData(gd);
-		onScheduleRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		dayCombo = new Combo(updateScheduleGroup, SWT.READ_ONLY);
-		dayCombo.setItems(SchedulerStartup.DAYS);
-		gd = new GridData();
-		gd.widthHint = 200;
-		gd.horizontalIndent = 30;
-		dayCombo.setLayoutData(gd);
-		
-		Label label = new Label(updateScheduleGroup, SWT.NULL);
-		label.setText(UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_at); 
-		
-		hourCombo = new Combo(updateScheduleGroup, SWT.READ_ONLY);
-		hourCombo.setItems(SchedulerStartup.HOURS);
-		gd = new GridData();
-		gd.widthHint = 100;
-		hourCombo.setLayoutData(gd);
-	
-		createSpacer(container, 1);
-		
-		downloadGroup = new Group(container, SWT.NONE);
-		downloadGroup.setText(UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_downloadOptions); 
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		downloadGroup.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		downloadGroup.setLayoutData(gd);
-
-		searchOnlyRadio = new Button(downloadGroup, SWT.RADIO);
-		searchOnlyRadio.setText(
-			UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_searchAndNotify); 
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		searchOnlyRadio.setLayoutData(gd);
-		searchOnlyRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		searchAndDownloadRadio = new Button(downloadGroup, SWT.RADIO);
-		searchAndDownloadRadio.setText(UpdateSchedulerMessages.AutomaticUpdatesPreferencePage_downloadAndNotify); 
-		gd = new GridData();
-		gd.horizontalSpan = 3;
-		searchAndDownloadRadio.setLayoutData(gd);
-		searchAndDownloadRadio.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-			
-		initialize();
-
-		enabledCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				pageChanged();
-			}
-		});
-
-		Dialog.applyDialogFont(container);
-		return container;
-	}
-
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-
-	private void initialize() {
-		Preferences pref = UpdateSchedulerPlugin.getDefault().getPluginPreferences();
-		enabledCheck.setSelection(pref.getBoolean(UpdateSchedulerPlugin.P_ENABLED));
-		setSchedule(pref.getString(UpdateSchedulerPlugin.P_SCHEDULE));
-
-		dayCombo.setText(SchedulerStartup.DAYS[getDay(pref)]);
-		hourCombo.setText(SchedulerStartup.HOURS[getHour(pref)]);
-		
-		searchOnlyRadio.setSelection(!pref.getBoolean(UpdateSchedulerPlugin.P_DOWNLOAD));
-		searchAndDownloadRadio.setSelection(pref.getBoolean(UpdateSchedulerPlugin.P_DOWNLOAD));
-
-		pageChanged();
-	}
-
-	private void setSchedule(String value) {
-		if (value.equals(UpdateSchedulerPlugin.VALUE_ON_STARTUP))
-			onStartupRadio.setSelection(true);
-		else
-			onScheduleRadio.setSelection(true);
-	}
-
-	private void pageChanged() {
-		boolean master = enabledCheck.getSelection();
-		updateScheduleGroup.setEnabled(master);
-		onStartupRadio.setEnabled(master);
-		onScheduleRadio.setEnabled(master);
-		dayCombo.setEnabled(master && onScheduleRadio.getSelection());
-		hourCombo.setEnabled(master && onScheduleRadio.getSelection());
-		downloadGroup.setEnabled(master);
-		searchOnlyRadio.setEnabled(master);
-		searchAndDownloadRadio.setEnabled(master);
-	}
-
-	protected void performDefaults() {
-		super.performDefaults();
-		Preferences pref = UpdateSchedulerPlugin.getDefault().getPluginPreferences();
-		enabledCheck.setSelection(
-			pref.getDefaultBoolean(UpdateSchedulerPlugin.P_ENABLED));
-	}
-
-	/** 
-	 * Method declared on IPreferencePage.
-	 * Subclasses should override
-	 */
-	public boolean performOk() {
-		Preferences pref = UpdateSchedulerPlugin.getDefault().getPluginPreferences();
-		pref.setValue(UpdateSchedulerPlugin.P_ENABLED, enabledCheck.getSelection());
-		if (onStartupRadio.getSelection())
-			pref.setValue(UpdateSchedulerPlugin.P_SCHEDULE, UpdateSchedulerPlugin.VALUE_ON_STARTUP);
-		else 
-			pref.setValue(UpdateSchedulerPlugin.P_SCHEDULE, UpdateSchedulerPlugin.VALUE_ON_SCHEDULE);
-			
-		pref.setValue(SchedulerStartup.P_DAY, dayCombo.getText());
-		pref.setValue(SchedulerStartup.P_HOUR, hourCombo.getText());
-		
-		pref.setValue(UpdateSchedulerPlugin.P_DOWNLOAD, searchAndDownloadRadio.getSelection());
-		
-		UpdateSchedulerPlugin.getDefault().savePluginPreferences();
-		
-		UpdateSchedulerPlugin.getScheduler().scheduleUpdateJob();
-		return true;
-	}
-	
-	private int getDay(Preferences pref) {
-		String day = pref.getString(SchedulerStartup.P_DAY);
-		for (int i=0; i<SchedulerStartup.DAYS.length; i++)
-			if (SchedulerStartup.DAYS[i].equals(day))
-				return i;
-		return 0;
-	}
-	
-	private int getHour(Preferences pref) {
-		String hour = pref.getString(SchedulerStartup.P_HOUR);
-		for (int i=0; i<SchedulerStartup.HOURS.length; i++)
-			if (SchedulerStartup.HOURS[i].equals(hour))
-				return i;
-		return 0;
-	}
-}
diff --git a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/PreferenceInitializer.java b/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/PreferenceInitializer.java
deleted file mode 100644
index 4b29738..0000000
--- a/update/org.eclipse.update.scheduler/src/org/eclipse/update/internal/scheduler/preferences/PreferenceInitializer.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.scheduler.preferences;
-
-import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
-import org.eclipse.core.runtime.preferences.DefaultScope;
-import org.eclipse.update.internal.scheduler.UpdateSchedulerPlugin;
-import org.osgi.service.prefs.Preferences;
-
-
-/**
- * @since 3.1
- */
-public class PreferenceInitializer extends AbstractPreferenceInitializer {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer#initializeDefaultPreferences()
-	 */
-	public void initializeDefaultPreferences() {
-		Preferences node = new DefaultScope().getNode("org.eclipse.update.scheduler"); //$NON-NLS-1$
-		node.putBoolean(UpdateSchedulerPlugin.P_ENABLED, false);
-		node.put(UpdateSchedulerPlugin.P_SCHEDULE, UpdateSchedulerPlugin.VALUE_ON_STARTUP);
-		node.putBoolean(UpdateSchedulerPlugin.P_DOWNLOAD, false);
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/.classpath b/update/org.eclipse.update.tests.core/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.tests.core/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/update/org.eclipse.update.tests.core/.cvsignore b/update/org.eclipse.update.tests.core/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.tests.core/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/.project b/update/org.eclipse.update.tests.core/.project
deleted file mode 100644
index 6702c45..0000000
--- a/update/org.eclipse.update.tests.core/.project
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.tests.core</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.core.runtime.compatibility</project>

-		<project>org.eclipse.help.appserver</project>

-		<project>org.eclipse.tomcat</project>

-		<project>org.eclipse.update.configurator</project>

-		<project>org.eclipse.update.core</project>

-		<project>org.eclipse.update.core.linux</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.ui.PluginNature</nature>

-	</natures>

-</projectDescription>

diff --git a/update/org.eclipse.update.tests.core/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/META-INF/MANIFEST.MF
deleted file mode 100644
index a46e0df..0000000
--- a/update/org.eclipse.update.tests.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,37 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %name
-Bundle-SymbolicName: org.eclipse.update.tests.core; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-ClassPath: updatetests.jar
-Bundle-Activator: org.eclipse.update.tests.UpdateTestsPlugin
-Bundle-Vendor: %provider-name
-Bundle-Localization: plugin
-Export-Package: org.eclipse.update.tests,
- org.eclipse.update.tests.api,
- org.eclipse.update.tests.branding,
- org.eclipse.update.tests.configurations,
- org.eclipse.update.tests.core.boot,
- org.eclipse.update.tests.implementation,
- org.eclipse.update.tests.mirror,
- org.eclipse.update.tests.model,
- org.eclipse.update.tests.nativeTests,
- org.eclipse.update.tests.nestedfeatures,
- org.eclipse.update.tests.parser,
- org.eclipse.update.tests.perfms,
- org.eclipse.update.tests.reconciliation,
- org.eclipse.update.tests.regularInstall,
- org.eclipse.update.tests.regularRemove,
- org.eclipse.update.tests.sitevalidation,
- org.eclipse.update.tests.standalone,
- org.eclipse.update.tests.types,
- org.eclipse.update.tests.uivalues
-Require-Bundle: org.eclipse.core.runtime,
- org.junit,
- org.eclipse.core.resources,
- org.eclipse.update.core,
- org.eclipse.tomcat,
- org.eclipse.help.appserver,
- org.eclipse.update.configurator,
- org.eclipse.test.performance
-Eclipse-AutoStart: true
diff --git a/update/org.eclipse.update.tests.core/about.html b/update/org.eclipse.update.tests.core/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/update/org.eclipse.update.tests.core/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/build.properties b/update/org.eclipse.update.tests.core/build.properties
deleted file mode 100644
index 08671f3..0000000
--- a/update/org.eclipse.update.tests.core/build.properties
+++ /dev/null
@@ -1,18 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2003 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-source.updatetests.jar=src/

-bin.includes = *.jar,\

-               about.html,\

-               test.xml,\

-               plugin.xml,\

-               data/,\

-               webserver/,\

-               META-INF/

diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml
deleted file mode 100644
index 361c287..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="en" os="WIN32,LINUX,HPUX" version="3.5.6" ws="WIN32,MOTIF,GTK"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml
deleted file mode 100644
index c0634a4..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="en,fr" os="WIN32,LINUX,HPUX" version="1.1.1" ws="WIN32,GTK,MOTIF"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
deleted file mode 100644
index 0213585..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index 7e23cab..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml b/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
deleted file mode 100644
index b6211a8..0000000
--- a/update/org.eclipse.update.tests.core/data/ExecutableFeaturePackagedSite/data2/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="features/helpFeature.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features/org.eclipse.pde.feature_1.0.0.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature url="features/feature3/" os="LINUX">

-    <category name="eclipse"/>

-  </feature>

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>  

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml b/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
deleted file mode 100644
index da62e2e..0000000
--- a/update/org.eclipse.update.tests.core/data/FTPLikeSite/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.tests.core.ftp">

-  <feature url="features/feature3/features2.jarfile"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
deleted file mode 100644
index 2c98f42..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0">

-  <description>Description</description>

-  <copyright>copyright</copyright>

-  <license>license</license>

-  <url>

-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" os="WIN32,LINUX" version="1.1.1" ws="WIN32,MOTIF,GTK"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
deleted file mode 100644
index 486d119..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site1/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-  <feature url="features/feature3" type="org.eclipse.update.tests.core.feature1"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
deleted file mode 100644
index 240ab4f..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
deleted file mode 100644
index fb5fe0e..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site2/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-  <feature url="features/feature3/features2.jarfile" type="org.eclipse.update.core.packaged"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
deleted file mode 100644
index 240ab4f..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml b/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
deleted file mode 100644
index daf372d..0000000
--- a/update/org.eclipse.update.tests.core/data/FeatureTypeExamples/site3/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-  <feature url="features/feature3/features2.jarfile" type="org.eclipse.update.core.unknowntype.jar"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar b/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
deleted file mode 100644
index 4b83c7e..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/features space/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar b/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
deleted file mode 100644
index 4f1e991..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/features space/space feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
deleted file mode 100644
index 3b7890b..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/install/features space/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="en,fr" os="WIN32,LINUX,HPUX" version="1.1.1" ws="WIN32,MOTIF,GTK"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/plugins space/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/Site with space/site.xml b/update/org.eclipse.update.tests.core/data/Site with space/site.xml
deleted file mode 100644
index 54928fb..0000000
--- a/update/org.eclipse.update.tests.core/data/Site with space/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="features space/helpFeature.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features space/space feature.jar" type="org.eclipse.update.core.packaged">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature url="install/features space/feature3/">

-    <category name="eclipse"/>

-  </feature>

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins space/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins space/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins space/junit_3.7.jar"/>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins space/org.eclipse.update.plugin1_1.1.1"/>  

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile b/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
deleted file mode 100644
index 240ab4f..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/features/feature3/features2.jarfile
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml b/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
deleted file mode 100644
index 6f7165a..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteTypeExamples/site1/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.http">

-  <feature url="features/feature3/features2.jarfile"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
deleted file mode 100644
index 9809713..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index f592c1d..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/artifacts/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml b/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
deleted file mode 100644
index e3ea684..0000000
--- a/update/org.eclipse.update.tests.core/data/SiteURLTest/data/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site url = "artifacts/">
-<description url="info/siteInfo.html"/>
-  <feature url="features/helpFeature.jar" type="org.eclipse.update.core.packaged">
-    <category name="eclipse/UML"/>
-  </feature>
-  <feature url="features/org.eclipse.pde.feature_1.0.0.jar" type="org.eclipse.update.core.packaged">
-    <category name="eclipse/J2EE"/>
-  </feature>
-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>
-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>
-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>
-  <category-def label="IBM WSAD Tools" name="eclipse"/>
-  <category-def label="J2EE tools" name="eclipse/J2EE"/>
-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
-  <category-def label="UML tools" name="eclipse/UML"/>
-  <category-def label="Messaging Tools" name="B2B"/>  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/file1.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
deleted file mode 100644
index 6b454ec..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0">

-	<install-handler handler="org.eclipse.update.core.DefaultInstallHandler"/>

-  	<data download-size="1500" id="file.zip" install-size="1000"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
deleted file mode 100644
index c41f21d..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site1/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="install/features/feature3">

-  </feature>

-  <archive path="features/org.eclipse.update.core.tests.feature3_1.0.0/file.zip" url="file1.zip"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
deleted file mode 100644
index 74c6eca..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/features/features3.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
deleted file mode 100644
index 1a70b7e..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/non data/another file.zip
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml b/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
deleted file mode 100644
index 040943c..0000000
--- a/update/org.eclipse.update.tests.core/data/dataEntrySiteTest/site2/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="features/features3.jar" type="org.eclipse.update.core.packaged">

-  </feature>

-  <archive path="features/org.eclipse.update.core.tests.feature3_1.0.0/file.zip" url="non data/another file.zip"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/features/features2.jar b/update/org.eclipse.update.tests.core/data/features/features2.jar
deleted file mode 100644
index e8d004d..0000000
--- a/update/org.eclipse.update.tests.core/data/features/features2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
deleted file mode 100644
index 870a70d..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse.test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
deleted file mode 100644
index 9dc9463..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar b/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
deleted file mode 100644
index 938ddc4..0000000
--- a/update/org.eclipse.update.tests.core/data/features/org.eclipse_test_feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project
deleted file mode 100644
index 5d52069..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site1</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log
deleted file mode 100644
index 3bce194..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/build.log
+++ /dev/null
@@ -1,318 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin3.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin3.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin4.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin4.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature3_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml
deleted file mode 100644
index 1e700b9..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1" version="1.0.0"/>
-   <feature id="update.feature2" version="1.0.0"/>
-   <feature id="update.feature3" version="1.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
deleted file mode 100644
index c812b0b..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
deleted file mode 100644
index fbf1754..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
deleted file mode 100644
index 8682a62..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/features/update.feature3_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index 8bbc7f3..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index 5d42583..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
deleted file mode 100644
index aa94e52..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin3_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
deleted file mode 100644
index c8cca28..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/plugins/com.plugin4_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
deleted file mode 100644
index 163f7bb..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site1/site.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1_1.0.0.jar" id="update.feature1" version="1.0.0">
-      <category name="Site1-Category1"/>
-   </feature>
-   <feature url="features/update.feature2_1.0.0.jar" id="update.feature2" version="1.0.0">
-      <category name="Site1-Category2"/>
-   </feature>
-   <feature url="features/update.feature3_1.0.0.jar" id="update.feature3" version="1.0.0">
-      <category name="Site1-Category3"/>
-   </feature>
-   <category-def name="Site1-Category1" label="Site1-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site1-Category2" label="Site1-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site1-Category3" label="Site1-Category3-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project
deleted file mode 100644
index a4b687e..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site2</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log
deleted file mode 100644
index e977850..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/build.log
+++ /dev/null
@@ -1,203 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml
deleted file mode 100644
index 2258820..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1" version="1.0.1"/>
-   <feature id="update.feature2" version="1.0.1"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar
deleted file mode 100644
index 5175b4a..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar
deleted file mode 100644
index d1660b9..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index d815f20..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index dec5f4c..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml
deleted file mode 100644
index f1d4b71..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site2/site.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1_1.0.1.jar" id="update.feature1" version="1.0.1"/>
-   <feature url="features/update.feature2_1.0.1.jar" id="update.feature2" version="1.0.1"/>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project
deleted file mode 100644
index 0ddb6b7..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site3</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log
deleted file mode 100644
index 4a2ee01..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/build.log
+++ /dev/null
@@ -1,318 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2a.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2a.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2b_2.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
deleted file mode 100644
index e3510b0..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1b" version="2.0.0"/>
-   <feature id="update.feature2b" version="2.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
deleted file mode 100644
index 6b9a876..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature1b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
deleted file mode 100644
index 97bb70f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/features/update.feature2b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index ee2d41d..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
deleted file mode 100644
index 97183c7..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin1a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index e31b28e..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
deleted file mode 100644
index 557ba5d..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/plugins/com.plugin2a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml
deleted file mode 100644
index e28506b..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site3/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1b_2.0.0.jar" id="update.feature1b" version="2.0.0">
-      <category name="Site3-Category1"/>
-   </feature>
-   <feature url="features/update.feature2b_2.0.0.jar" id="update.feature2b" version="2.0.0">
-      <category name="Site3-Category2"/>
-   </feature>
-   <category-def name="Site3-Category1" label="Site3-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site3-Category2" label="Site3-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project
deleted file mode 100644
index 8a07aaf..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site4</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
deleted file mode 100644
index 1cfe8e3..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/build.log
+++ /dev/null
@@ -1,791 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin1.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1.jar

-Target finished: plugin1.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1.jar

-Target finished: plugin1.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin1a.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin1a.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1c_3.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature1b_2.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
deleted file mode 100644
index 47cb017..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1c" version="3.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
deleted file mode 100644
index 78d2f28..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
deleted file mode 100644
index eeb0b6f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
deleted file mode 100644
index 31b6bcb..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
deleted file mode 100644
index 3753305..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/features/update.feature1c_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index 3e0760f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
deleted file mode 100644
index 634eb07..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/plugins/com.plugin1a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
deleted file mode 100644
index 2c73cbe..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site4/site.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1c_3.0.0.jar" id="update.feature1c" version="3.0.0">
-      <category name="Site4-Category1"/>
-   </feature>
-   <category-def name="Site4-Category1" label="Site4-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
deleted file mode 100644
index 0a93302..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>update-site5</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.UpdateSiteBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.UpdateSiteNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
deleted file mode 100644
index db44faa..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/build.log
+++ /dev/null
@@ -1,791 +0,0 @@
-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2a.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: javac

-Message logged: Compile failed; see the compiler error output for details.

-Task finished: javac

-Task started: copy

-Task finished: copy

-Task started: mkdir

-Task finished: mkdir

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: plugin2a.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.update.jar

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: build.jars

-Task started: available

-Task finished: available

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: plugin2.jar

-Target finished: plugin2.jar

-Task finished: antcall

-Target finished: build.jars

-Task finished: antcall

-Task started: antcall

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: copy

-Task finished: copy

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: zip

-Task finished: zip

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Task started: property

-Task finished: property

-Task started: delete

-Task finished: delete

-Task started: mkdir

-Task finished: mkdir

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: gather.bin.parts

-Task started: antcall

-Target started: children

-Target finished: children

-Task finished: antcall

-Task started: mkdir

-Task finished: mkdir

-Task started: copy

-Task finished: copy

-Task started: eclipse.idReplacer

-Task finished: eclipse.idReplacer

-Task started: antcall

-Target started: ROOTFILES*_*_*

-Target finished: ROOTFILES*_*_*

-Task finished: antcall

-Target finished: gather.bin.parts

-Task finished: antcall

-Task started: jar

-Task finished: jar

-Task started: delete

-Task finished: delete

-Target finished: build.update.jar

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2c_3.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2_1.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Message logged: Project ${update.feature2b_2.0.0} does not exist and cannot be refreshed.

-Task finished: eclipse.refreshLocal

-Task started: antcall

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: all.features

-Target finished: all.features

-Target started: all.plugins

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Task started: ant

-Target started: properties

-Task started: property

-Task finished: property

-Target finished: properties

-Target started: init

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Task started: property

-Task finished: property

-Target finished: init

-Target started: refresh

-Task started: eclipse.convertPath

-Task finished: eclipse.convertPath

-Task started: eclipse.refreshLocal

-Task finished: eclipse.refreshLocal

-Target finished: refresh

-Task finished: ant

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Task finished: ant

-Target finished: all.features

-Target started: all.plugins

-Target finished: all.plugins

-Target started: update.feature

-Target finished: update.feature

-Target started: all.children

-Target finished: all.children

-Task finished: antcall

-Target finished: refresh

-Build finished.

diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
deleted file mode 100644
index 49243d3..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/.sitebuild/sitebuild.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site-build
-      feature-location="features"
-      plugin-location="plugins"
-      autobuild="false"
-      scrub-output="false"
-      use-console="true">
-   <feature id="update.feature1c" version="3.0.0"/>
-   <feature id="update.feature2c" version="3.0.0"/>
-</site-build>
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
deleted file mode 100644
index 152d9e2..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
deleted file mode 100644
index eeb0b6f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
deleted file mode 100644
index 49b0764..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
deleted file mode 100644
index d426f86..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature1c_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
deleted file mode 100644
index b070ccd..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
deleted file mode 100644
index e48ac05..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2b_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
deleted file mode 100644
index 00037df..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/features/update.feature2c_3.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
deleted file mode 100644
index 3543749..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
deleted file mode 100644
index 632cc3f..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin1a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
deleted file mode 100644
index dbc8a88..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
deleted file mode 100644
index a3cd0fb..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/plugins/com.plugin2a_1.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml b/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
deleted file mode 100644
index 6e26db1..0000000
--- a/update/org.eclipse.update.tests.core/data/mirrors/update-site5/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/update.feature1c_3.0.0.jar" id="update.feature1c" version="3.0.0">
-      <category name="Site5-Category1"/>
-   </feature>
-   <feature url="features/update.feature2c_3.0.0.jar" id="update.feature2c" version="3.0.0">
-      <category name="Site5-Category2"/>
-   </feature>
-   <category-def name="Site5-Category1" label="Site5-Category1-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-   <category-def name="Site5-Category2" label="Site5-Category2-Label">
-      <description>
-         ecetera.
-      </description>
-   </category-def>
-</site>
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
deleted file mode 100644
index 6658034..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar
deleted file mode 100644
index b011050..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml
deleted file mode 100644
index 623cb1a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar
deleted file mode 100644
index 7e057e6..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/childrenfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar
deleted file mode 100644
index 38a0a3c..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml
deleted file mode 100644
index 1752da2..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest2/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar"/>
-  <feature url="features/childrenfeature.jar"/>  
-  
-  <archive path="features/org.eclipse.update.core.tests.childrenfeature_2.1.0.jar" url="features/childrenfeature.jar"/>  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar
deleted file mode 100644
index 12ee4ba..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/childrenfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar
deleted file mode 100644
index 899bdda..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml b/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml
deleted file mode 100644
index 4f696ba..0000000
--- a/update/org.eclipse.update.tests.core/data/nestedFeatureSiteTest3/site.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar"/>
-  
-  <archive path="features/org.eclipse.update.core.tests.childrenfeature_2.1.0.jar" url="features/childrenfeature.jar"/>  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
deleted file mode 100644
index 93d7080..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature1.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-	<license>
-    	 license
-	</license>
-
-   <copyright url="notice.html"/>
-   x
-	
-   <license url="about.html">
-   x
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml
deleted file mode 100644
index e855f97..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature1bis.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-   <description>
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="notice.html"/>
-   <blah />
-	
-   <license url="about.html">
-
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature2.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature2.xml
deleted file mode 100644
index 9c2df9b..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature2.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   blah="blah"
-   >
-
-   <description blah="blah">
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="notice.html" blah="blah"/>
-	
-   <license url="about.html" blah="blah">
-   </license>
-
-   <url blah="blah">
-      <update url="file:/D:/" label="Eclipse Update Site" blah="blah"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature3.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature3.xml
deleted file mode 100644
index ca660be..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature3.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-   <description>
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="$os$/$ws$/notice.html"/>
-   x
-	
-   <license url="about.html">
-   x
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/feature4.xml b/update/org.eclipse.update.tests.core/data/parsertests/feature4.xml
deleted file mode 100644
index 17187c9..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/feature4.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-   id="org.eclipse.platform"
-   version="2.1.0"
-   label="Eclipse Platform"
-   provider-name="www.eclipse.org"
-   image="splash/splash_full.bmp"
-   >
-
-   <description>
-   Eclipse platform feature.
-   </description>
-
-   <copyright url="$os$/$ws$/notice.html"/>
-   x
-	
-   <license url="about.html">
-   x
-   </license>
-
-   <url>
-      <update url="file:/D:/" label="Eclipse Update Site"/>
-      <discovery url="file:/c:/" label = "Discovery" type="web"/>
-   </url>
-
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml b/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
deleted file mode 100644
index f3f1701..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/reddot.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>

-<site url="info/siteInfo.html">

-<feature url="features/reddot_1.0.0.jar"> 

-<category name="reddot"/>

-</feature>

-<feature url="features/reddot_2.1.0.jar">

-<category name="reddot"/>

-</feature>

-<archive path="com.reddot.redot_1.0.0" url="plugins/com.reddot.reddot_1.0.0.jar"/>

-<archive path="com.reddot.redot_2.1.0" url="plugins/com.reddot.reddot_2.1.0.jar"/>

-<category-def label="Red Dot Versions" name="reddot">

-<description url="RedDotVersions.html">

-This category contains all of the &lt;currently&gt; available versions of Red Dot feature.

-<![CDATA[<greeting>Hello, world!</greeting>]]>

-</description>

-</category-def>

-</site>

-

-

diff --git a/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml b/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
deleted file mode 100644
index 074490e..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/reddot1.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>

-<site url="info/siteInfo.html">

-<feature url="features/reddot_1.0.0.jar"> 

-<category name="reddot"/>

-</feature>

-<feature url="features/reddot_2.1.0.jar">

-<category name="reddot"/>

-</feature>

-<archive path="com.reddot.redot_1.0.0" url="plugins/com.reddot.reddot_1.0.0.jar"/>

-<archive path="com.reddot.redot_2.1.0" url="plugins/com.reddot.reddot_2.1.0.jar"/>

-<category-def label="Red Dot Versions" name="reddot">

-<description url="RedDotVersions.html">

-This category contains all of the &lt;currently&gt; available versions of Red Dot feature.

-</description>

-</category-def>

-</site>

-

-

diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site.properties b/update/org.eclipse.update.tests.core/data/parsertests/site.properties
deleted file mode 100644
index 8029c8e..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2003 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-drivers=Required Drivers

-security=Security Fixes

diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site.xml b/update/org.eclipse.update.tests.core/data/parsertests/site.xml
deleted file mode 100644
index b40d831..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">

-  <handler>

-  	<boo class ="unknown"/>

-  </handler>

-  

-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">

-    <category name="category1"/>

-  </feature>

-  

-  <feature url="features/features2.jar">

-    <category name="category1/subcat1"/>

-    <category name="category2"/>

-  </feature>

-  

-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">

-    <category name="category1"/>

-    <category name="category2"/>

-    <blah/>

-  </feature>

-  

-  <feature url="features/org.eclipse_test_feature.jar"/>

-  

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-    <category name="category1"/>

-  </feature>

-  

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-  </feature>

-  

-  <archive path="plugins/hello" >

-  	<default/>

-  </archive>

-

-  <category-def name="category2" label="%security"/>

-  <category-def name="category1/subcat1" label="Special Fix"/>

-  <category-def name="category1" label="%drivers"/>  

-

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site10.xml b/update/org.eclipse.update.tests.core/data/parsertests/site10.xml
deleted file mode 100644
index e42680d..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site10.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file" blah="blah">
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar" blah="blah" id="org.eclipse.test.feature" version="1.0.0"/>
-  
-  <feature url="features/features2.jar" id="unknwon.id" version="bad version"/>
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar" id="only.id"/>
-    
-  <feature url="features/org.eclipse_test_feature.jar" version="1.0.0"/>
-  
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site2.xml b/update/org.eclipse.update.tests.core/data/parsertests/site2.xml
deleted file mode 100644
index 007550e..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site2.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature id="com.ibm.jdt" url="http://www.not-eclipse.org/feature3" version="1.0.0"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site3.xml b/update/org.eclipse.update.tests.core/data/parsertests/site3.xml
deleted file mode 100644
index dbbb682..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site3.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature id="com.ibm.jdt" url="feature3/feature.jar" version="1.0.0">
-        <category name="unknown"/>
-  </feature>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site4.xml b/update/org.eclipse.update.tests.core/data/parsertests/site4.xml
deleted file mode 100644
index 41b7d16..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site4.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<site>
-   <description url="info/siteInfo.html"/>
-
-  <category-def label="Red Dot Versions" name="reddot">
-      <description url="RedDotVersions.html">
-         This category contains all of the currently available versions of Red Dot feature.
-      </description>
-   </category-def>
-   
-   <feature url="features/com.reddot.reddot_1.0.0.jar">
-      <category name="reddot"/>
-   </feature>
-
-   <feature url="features/com.reddot.reddot_2.1.0.jar">
-      <category name="reddot"/>
-   </feature>
-
- 
-</site>   
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site7.xml b/update/org.eclipse.update.tests.core/data/parsertests/site7.xml
deleted file mode 100644
index 2190d70..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site7.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">
-  <handler>
-  	<boo class ="unknown"/>
-  </handler>
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="features/features2.jar">
-    <category name="category1/subcat1"/>
-    <category name="category2"/>
-  </feature>
-  
-  <blah/>
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
-    <category name="category1"/>
-    <category name="category2"/>
-    <blah/>
-  </feature>
-  
-  <feature url="features/org.eclipse_test_feature.jar"/>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-  </feature>
-  
-  <archive path="plugins/hello" >
-  	<default/>
-  </archive>
-
-  <category-def name="category2" label="%security"/>
-  <category-def name="category1/subcat1" label="Special Fix"/>
-  <category-def name="category1" label="%drivers"/>  
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site8.xml b/update/org.eclipse.update.tests.core/data/parsertests/site8.xml
deleted file mode 100644
index afcbaa1..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site8.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file">
-  <handler>
-  	<boo class ="unknown"/>
-  </handler>
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="features/features2.jar">
-    <category name="category1/subcat1"/>
-    <category name="category2"/>
-  </feature>
-  xcxgfsdfgsdsd
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
-    <category name="category1"/>
-    <category name="category2"/>
-    <blah/>
-  </feature>
-  
-  <feature url="features/org.eclipse_test_feature.jar"/>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-  </feature>
-  
-  <archive path="plugins/hello" >
-  	<default/>
-  </archive>
-
-  <category-def name="category2" label="%security"/>
-  <category-def name="category1/subcat1" label="Special Fix"/>
-  <category-def name="category1" label="%drivers"/>  
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/site9.xml b/update/org.eclipse.update.tests.core/data/parsertests/site9.xml
deleted file mode 100644
index f38c5a4..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/site9.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1" type="org.eclipse.update.core.file" blah="blah">
-  <handler blah="blah">
-  	<boo class ="unknown" blah="blah"/>
-  </handler>
-  
-  <feature url="features/org.eclipse.test.feature_1.0.0.jar" blah="blah">
-    <category name="category1" blah="blah" />
-  </feature>
-  
-  <feature url="features/features2.jar">
-    <category name="category1/subcat1"/>
-    <category name="category2"/>
-  </feature>
-  
-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">
-    <category name="category1"/>
-    <category name="category2"/>
-    <blah/>
-  </feature>
-  
-  <feature url="features/org.eclipse_test_feature.jar"/>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-    <category name="category1"/>
-  </feature>
-  
-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">
-  </feature>
-  
-  <archive path="plugins/hello" blah="blah">
-  	<default blah="blah"/>
-  </archive>
-
-  <category-def name="category2" label="%security" blah="blah"/>
-  <category-def name="category1/subcat1" label="Special Fix" blah="blah"/>
-  <category-def name="category1" label="%drivers"/>  
-
-
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml b/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
deleted file mode 100644
index f883ec0..0000000
--- a/update/org.eclipse.update.tests.core/data/parsertests/siteftp.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.tests.core.ftp">
-  <feature url="features/feature3/features2.jarfile"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath
deleted file mode 100644
index 88acb39..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.classpath
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="src" path="/org.eclipse.update.core"/>
-	<classpathentry kind="src" path="/org.eclipse.core.runtime"/>
-	<classpathentry kind="src" path="/org.eclipse.ui"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project
deleted file mode 100644
index 1ebc505..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>FeatureWithInstallHandler</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar
deleted file mode 100644
index 695b722..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/FeatureWithInstallHandler_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class
deleted file mode 100644
index 57291b0..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI$1.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class
deleted file mode 100644
index fe8e881..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/bin/HandlerWithUI.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties
deleted file mode 100644
index 8fb7cc5..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.handler.jar = src/,\
-                     bin/
-output.handler.jar = bin/
-bin.includes = feature.xml,\
-               handler.jar
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml
deleted file mode 100644
index 8b90ea7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/feature.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="FeatureWithInstallHandler"
-      label="FeatureWithInstallHandler"
-      version="1.0.0">
-
-   <install-handler library="handler.jar" handler="HandlerWithUI" />
-
-   <description url="[Enter Feature URL here.]">
-      [Enter Feature Description here.]
-   </description>
-
-   <copyright url="[Enter Copyright URL here.]">
-      [Enter Copyright Description here.]
-   </copyright>
-
-   <license url="[Enter License URL here.]">
-      [Enter License Description here.]
-   </license>
-
-   <plugin
-         id="org.apache.lucene"
-         download-size="0"
-         install-size="0"
-         version="1.3.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar
deleted file mode 100644
index 87bc244..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/handler.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java
deleted file mode 100644
index 88dfbc0..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/FeatureWithInstallHandler/src/HandlerWithUI.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-/*
- * Created on Oct 1, 2004
- *
- * TODO To change the template for this generated file go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-
-/**
- * @author birsan
- *
- * TODO To change the template for this generated type comment go to
- * Window - Preferences - Java - Code Style - Code Templates
- */
-public class HandlerWithUI implements IInstallHandler {
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeConfigure()
-	 */
-	public void completeConfigure() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeConfigure()");
-
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeInstall(org.eclipse.update.core.IFeatureContentConsumer)
-	 */
-	public void completeInstall(IFeatureContentConsumer consumer)
-			throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeInstall()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeUnconfigure()
-	 */
-	public void completeUnconfigure() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeInstall()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#completeUninstall()
-	 */
-	public void completeUninstall() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("completeUninstall()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#configureCompleted(boolean)
-	 */
-	public void configureCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("configureCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#configureInitiated()
-	 */
-	public void configureInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("configureInitiated()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#initialize(int, org.eclipse.update.core.IFeature, org.eclipse.update.core.IInstallHandlerEntry, org.eclipse.update.core.InstallMonitor)
-	 */
-	public void initialize(int type, IFeature feature,
-			IInstallHandlerEntry entry, InstallMonitor monitor)
-			throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("initialize()");
-		Display.getDefault().asyncExec( new Runnable() {
-			public void run() {
-				MessageDialog.openInformation(Display.getDefault().getActiveShell(), "InstallHandler", "This is a dummy message");
-			}
-		});
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#installCompleted(boolean)
-	 */
-	public void installCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("installCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#installInitiated()
-	 */
-	public void installInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("installInitiated()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#nonPluginDataDownloaded(org.eclipse.update.core.INonPluginEntry[], org.eclipse.update.core.IVerificationListener)
-	 */
-	public void nonPluginDataDownloaded(INonPluginEntry[] nonPluginData,
-			IVerificationListener listener) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("nonPluginDataDownloaded()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#pluginsDownloaded(org.eclipse.update.core.IPluginEntry[])
-	 */
-	public void pluginsDownloaded(IPluginEntry[] plugins) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("pluginsDownloaded()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#unconfigureCompleted(boolean)
-	 */
-	public void unconfigureCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("unconfigureCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#unconfigureInitiated()
-	 */
-	public void unconfigureInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("unconfigureInitiated()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#uninstallCompleted(boolean)
-	 */
-	public void uninstallCompleted(boolean success) throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("uninstallCompleted()");
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.core.IInstallHandler#uninstallInitiated()
-	 */
-	public void uninstallInitiated() throws CoreException {
-		// TODO Auto-generated method stub
-		System.out.println("uninstallInitiated()");
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties
deleted file mode 100644
index c4d2224..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.properties
+++ /dev/null
@@ -1,151 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Modeling Framework (EMF) Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (documentation)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml
deleted file mode 100644
index 09363e7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/feature.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2004 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
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.1 2004/03/06 17:31:31 marcelop Exp $
- */
--->
-
-<feature
-	id="org.eclipse.emf.doc"
-    label="%featureName"
-    version="2.0.0"
-    image= "eclipse_update_120.jpg"
-    provider-name="%providerName">
-
-	<description>
-    	%description
-	</description>
-
-    <license url="%licenseURL">
-		%license
-	</license>
-
-	<url>
-		<update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-	</url>
-
-	<plugin
-		id="org.eclipse.emf.doc"
-        download-size="0"
-        install-size="0"   		
-		version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.doc_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 3a4d639..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties
deleted file mode 100644
index dda7d1d..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.properties
+++ /dev/null
@@ -1,151 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $ 
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF Service Data Objects (SDO) Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=EMF Service Data Objects (SDO) Documentation
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml
deleted file mode 100644
index 1dfb44a..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/feature.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2003-2004 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
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.2 2004/03/26 15:32:13 marcelop Exp $
- */
--->
-
-<feature
-	id="org.eclipse.emf.ecore.sdo.doc"
-    label="%featureName"
-    version="2.0.0"
-    image= "eclipse_update_120.jpg"
-    provider-name="%providerName">
-
-	<description>
-    	%description
-	</description>
-
-    <license url="%licenseURL">
-		%license
-	</license>
-
-	<url>
-		<update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-	</url>
-
-	<plugin
-		id="org.eclipse.emf.ecore.sdo.doc"
-        download-size="0"
-        install-size="0"   		
-		version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.doc_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 3a4d639..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties
deleted file mode 100644
index 2cbb1cb..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.properties
+++ /dev/null
@@ -1,151 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $ 
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF Service Data Objects (SDO) Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=EMF Service Data Objects (SDO) Source
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml
deleted file mode 100644
index ba5d87d..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/feature.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.emf.ecore.sdo.source"  version="2.0.0">
-	<description >
-		%description
-	</description>
-	<copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-		Copyright (c) 2002-2004 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
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-		<discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.emf.ecore.sdo.source" version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo.source_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 3a4d639..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties
deleted file mode 100644
index a42f3b9..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.properties
+++ /dev/null
@@ -1,154 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $id$
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF Service Data Objects (SDO)
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=EMF Service Data Objects (SDO).
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-# "secondaryUpdateSiteName" property - label for the secondary update site (on download.eclipse.org)
-secondaryUpdateSiteName=EMF/SDO/XSD Secondary Update Site
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml
deleted file mode 100644
index f04662b..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/feature.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf.ecore.sdo"
-      label="%featureName"
-      version="2.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-      Copyright (c) 2002-2004 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
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources" version="3.0.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.emf.commonj.sdo"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.sdo"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.sdo.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.sdo.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.ecore.sdo_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties
deleted file mode 100644
index 194775c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.properties
+++ /dev/null
@@ -1,140 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $
-#  */
-
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=EMF SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Binaries and API documentation and source zips for EMF.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml
deleted file mode 100644
index 6418de2..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/feature.xml
+++ /dev/null
@@ -1,86 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2004 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
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.2 2004/03/25 14:06:34 marcelop Exp $
- */
--->
-
-<feature
-    id="org.eclipse.emf.sdk"
-    label="%featureName"
-    version="2.0.0"
-    image= "eclipse_update_120.jpg"
-    provider-name="%providerName">
-
-	<description>
-        %description
-    </description>
-   
-	<license url="%licenseURL">
-        %license
-    </license>
-
-    <url>
-      <update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-    </url>
-
-    <includes
-        id="org.eclipse.emf"
-        version="2.0.0"
-        match="compatible"/> 
-        
-    <includes
-        id="org.eclipse.emf.source"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.doc"
-        version="2.0.0"
-        match="compatible"/>   
-
-    <includes
-        id="org.eclipse.xsd"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.xsd.source"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.xsd.doc"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.ecore.sdo"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.ecore.sdo.source"
-        version="2.0.0"
-        match="compatible"/> 
-
-    <includes
-        id="org.eclipse.emf.ecore.sdo.doc"
-        version="2.0.0"
-        match="compatible"/> 
-       
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.sdk_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties
deleted file mode 100644
index 33f07ed..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.properties
+++ /dev/null
@@ -1,151 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Modeling Framework (EMF) Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (source code)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml
deleted file mode 100644
index 2200214..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/feature.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.emf.source"  version="2.0.0">
-	<description >
-		%description
-	</description>
-	<copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-		Copyright (c) 2002-2004 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
-	</copyright>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-		<discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.emf.source" version="2.0.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf.source_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html
deleted file mode 100644
index 95416c1..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,266 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<title>Common Public License - v 1.0</title>
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-</head>
-<body bgcolor="#FFFFFF" vlink="#800000">
-<p style="font-weight: bold; text-align: center">Common Public
-License - v 1.0</p>
-
-<p>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS
-COMMON PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR
-DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF
-THIS AGREEMENT.</p>
-
-<p style="font-weight: bold">1. DEFINITIONS</p>
-
-<p>"Contribution" means:</p>
-
-<div style="margin-left: 2em">a) in the case of the initial
-Contributor, the initial code and documentation distributed under
-this Agreement, and<br clear="LEFT" />
-b) in the case of each subsequent Contributor:</div>
-
-<div style="margin-left: 2em">i) changes to the Program, and</div>
-
-<div style="margin-left: 2em">ii) additions to the Program;</div>
-
-<div style="margin-left: 2em">where such changes and/or additions
-to the Program originate from and are distributed by that
-particular Contributor. A Contribution 'originates' from a
-Contributor if it was added to the Program by such Contributor
-itself or anyone acting on such Contributor's behalf. Contributions
-do not include additions to the Program which: (i) are separate
-modules of software distributed in conjunction with the Program
-under their own license agreement, and (ii) are not derivative
-works of the Program.</div>
-
-<p>"Contributor" means any person or entity that distributes the
-Program.</p>
-
-<p>"Licensed Patents " mean patent claims licensable by a
-Contributor which are necessarily infringed by the use or sale of
-its Contribution alone or when combined with the Program.</p>
-
-<p>"Program" means the Contributions distributed in accordance with
-this Agreement.</p>
-
-<p>"Recipient" means anyone who receives the Program under this
-Agreement, including all Contributors.</p>
-
-<p style="font-weight: bold">2. GRANT OF RIGHTS</p>
-
-<div style="margin-left: 2em">a) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free copyright license to
-reproduce, prepare derivative works of, publicly display, publicly
-perform, distribute and sublicense the Contribution of such
-Contributor, if any, and such derivative works, in source code and
-object code form.</div>
-
-<div style="margin-left: 2em">b) Subject to the terms of this
-Agreement, each Contributor hereby grants Recipient a
-non-exclusive, worldwide, royalty-free patent license under
-Licensed Patents to make, use, sell, offer to sell, import and
-otherwise transfer the Contribution of such Contributor, if any, in
-source code and object code form. This patent license shall apply
-to the combination of the Contribution and the Program if, at the
-time the Contribution is added by the Contributor, such addition of
-the Contribution causes such combination to be covered by the
-Licensed Patents. The patent license shall not apply to any other
-combinations which include the Contribution. No hardware per se is
-licensed hereunder.</div>
-
-<div style="margin-left: 2em">c) Recipient understands that
-although each Contributor grants the licenses to its Contributions
-set forth herein, no assurances are provided by any Contributor
-that the Program does not infringe the patent or other intellectual
-property rights of any other entity. Each Contributor disclaims any
-liability to Recipient for claims brought by any other entity based
-on infringement of intellectual property rights or otherwise. As a
-condition to exercising the rights and licenses granted hereunder,
-each Recipient hereby assumes sole responsibility to secure any
-other intellectual property rights needed, if any. For example, if
-a third party patent license is required to allow Recipient to
-distribute the Program, it is Recipient's responsibility to acquire
-that license before distributing the Program.</div>
-
-<div style="margin-left: 2em">d) Each Contributor represents that
-to its knowledge it has sufficient copyright rights in its
-Contribution, if any, to grant the copyright license set forth in
-this Agreement.</div>
-
-<p style="font-weight: bold">3. REQUIREMENTS</p>
-
-<p>A Contributor may choose to distribute the Program in object
-code form under its own license agreement, provided that:</p>
-
-<div style="margin-left: 2em">a) it complies with the terms and
-conditions of this Agreement; and</div>
-
-<div style="margin-left: 2em">b) its license agreement:</div>
-
-<div style="margin-left: 2em">i) effectively disclaims on behalf of
-all Contributors all warranties and conditions, express and
-implied, including warranties or conditions of title and
-non-infringement, and implied warranties or conditions of
-merchantability and fitness for a particular purpose;</div>
-
-<div style="margin-left: 2em">ii) effectively excludes on behalf of
-all Contributors all liability for damages, including direct,
-indirect, special, incidental and consequential damages, such as
-lost profits;</div>
-
-<div style="margin-left: 2em">iii) states that any provisions which
-differ from this Agreement are offered by that Contributor alone
-and not by any other party; and</div>
-
-<div style="margin-left: 2em">iv) states that source code for the
-Program is available from such Contributor, and informs licensees
-how to obtain it in a reasonable manner on or through a medium
-customarily used for software exchange.</div>
-
-<p>When the Program is made available in source code form:</p>
-
-<div style="margin-left: 2em">a) it must be made available under
-this Agreement; and</div>
-
-<div style="margin-left: 2em">b) a copy of this Agreement must be
-included with each copy of the Program.</div>
-
-<p>Contributors may not remove or alter any copyright notices
-contained within the Program.</p>
-
-<p>Each Contributor must identify itself as the originator of its
-Contribution, if any, in a manner that reasonably allows subsequent
-Recipients to identify the originator of the Contribution.</p>
-
-<p style="font-weight: bold">4. COMMERCIAL DISTRIBUTION</p>
-
-<p>Commercial distributors of software may accept certain
-responsibilities with respect to end users, business partners and
-the like. While this license is intended to facilitate the
-commercial use of the Program, the Contributor who includes the
-Program in a commercial product offering should do so in a manner
-which does not create potential liability for other Contributors.
-Therefore, if a Contributor includes the Program in a commercial
-product offering, such Contributor ("Commercial Contributor")
-hereby agrees to defend and indemnify every other Contributor
-("Indemnified Contributor") against any losses, damages and costs
-(collectively "Losses") arising from claims, lawsuits and other
-legal actions brought by a third party against the Indemnified
-Contributor to the extent caused by the acts or omissions of such
-Commercial Contributor in connection with its distribution of the
-Program in a commercial product offering. The obligations in this
-section do not apply to any claims or Losses relating to any actual
-or alleged intellectual property infringement. In order to qualify,
-an Indemnified Contributor must: a) promptly notify the Commercial
-Contributor in writing of such claim, and b) allow the Commercial
-Contributor to control, and cooperate with the Commercial
-Contributor in, the defense and any related settlement
-negotiations. The Indemnified Contributor may participate in any
-such claim at its own expense.</p>
-
-<p>For example, a Contributor might include the Program in a
-commercial product offering, Product X. That Contributor is then a
-Commercial Contributor. If that Commercial Contributor then makes
-performance claims, or offers warranties related to Product X,
-those performance claims and warranties are such Commercial
-Contributor's responsibility alone. Under this section, the
-Commercial Contributor would have to defend claims against the
-other Contributors related to those performance claims and
-warranties, and if a court requires any other Contributor to pay
-any damages as a result, the Commercial Contributor must pay those
-damages.</p>
-
-<p style="font-weight: bold">5. NO WARRANTY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS
-PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
-ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION,
-ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
-MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient
-is solely responsible for determining the appropriateness of using
-and distributing the Program and assumes all risks associated with
-its exercise of rights under this Agreement, including but not
-limited to the risks and costs of program errors, compliance with
-applicable laws, damage to or loss of data, programs or equipment,
-and unavailability or interruption of operations.</p>
-
-<p style="font-weight: bold">6. DISCLAIMER OF LIABILITY</p>
-
-<p>EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER
-RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED
-AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
-EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.</p>
-
-<p style="font-weight: bold">7. GENERAL</p>
-
-<p>If any provision of this Agreement is invalid or unenforceable
-under applicable law, it shall not affect the validity or
-enforceability of the remainder of the terms of this Agreement, and
-without further action by the parties hereto, such provision shall
-be reformed to the minimum extent necessary to make such provision
-valid and enforceable.</p>
-
-<p>If Recipient institutes patent litigation against a Contributor
-with respect to a patent applicable to software (including a
-cross-claim or counterclaim in a lawsuit), then any patent licenses
-granted by that Contributor to such Recipient under this Agreement
-shall terminate as of the date such litigation is filed. In
-addition, if Recipient institutes patent litigation against any
-entity (including a cross-claim or counterclaim in a lawsuit)
-alleging that the Program itself (excluding combinations of the
-Program with other software or hardware) infringes such Recipient's
-patent(s), then such Recipient's rights granted under Section 2(b)
-shall terminate as of the date such litigation is filed.</p>
-
-<p>All Recipient's rights under this Agreement shall terminate if
-it fails to comply with any of the material terms or conditions of
-this Agreement and does not cure such failure in a reasonable
-period of time after becoming aware of such noncompliance. If all
-Recipient's rights under this Agreement terminate, Recipient agrees
-to cease use and distribution of the Program as soon as reasonably
-practicable. However, Recipient's obligations under this Agreement
-and any licenses granted by Recipient relating to the Program shall
-continue and survive.</p>
-
-<p>Everyone is permitted to copy and distribute copies of this
-Agreement, but in order to avoid inconsistency the Agreement is
-copyrighted and may only be modified in the following manner. The
-Agreement Steward reserves the right to publish new versions
-(including revisions) of this Agreement from time to time. No one
-other than the Agreement Steward has the right to modify this
-Agreement. IBM is the initial Agreement Steward. IBM may assign the
-responsibility to serve as the Agreement Steward to a suitable
-separate entity. Each new version of the Agreement will be given a
-distinguishing version number. The Program (including
-Contributions) may always be distributed subject to the version of
-the Agreement under which it was received. In addition, after a new
-version of the Agreement is published, Contributor may elect to
-distribute the Program (including its Contributions) under the new
-version. Except as expressly stated in Sections 2(a) and 2(b)
-above, Recipient receives no rights or licenses to the intellectual
-property of any Contributor under this Agreement, whether
-expressly, by implication, estoppel or otherwise. All rights in the
-Program not expressly granted under this Agreement are
-reserved.</p>
-
-<p>This Agreement is governed by the laws of the State of New York
-and the intellectual property laws of the United States of America.
-No party to this Agreement will bring a legal action under this
-Agreement more than one year after the cause of action arose. Each
-party waives its rights to a jury trial in any resulting
-litigation.</p>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties
deleted file mode 100644
index 7c947a4..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.properties
+++ /dev/null
@@ -1,154 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Modeling Framework (EMF)
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (Binary runtime)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-# "secondaryUpdateSiteName" property - label for the secondary update site (on download.eclipse.org)
-secondaryUpdateSiteName=EMF/SDO/XSD Secondary Update Site
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml
deleted file mode 100644
index 6d59f37..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/feature.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.emf"
-      label="%featureName"
-      version="2.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-      Copyright (c) 2002-2004 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
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources" version="3.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.emf"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen.ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.codegen.ecore.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.common"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.common.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.change"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.change.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.ecore.xmi"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.edit.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.ecore2ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.ecore2ecore.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html
deleted file mode 100644
index 07a5e18..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.emf_2.0.0/license.html
+++ /dev/null
@@ -1,126 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta name="generator" content="HTML Tidy, see www.w3.org" />
-<meta http-equiv="Content-Type"
-content="text/html; charset=iso-8859-1" />
-<title>Eclipse.org Software User Agreement</title>
-</head>
-<body lang="EN-US" link="blue" vlink="purple">
-<h2>Eclipse.org Software User Agreement</h2>
-
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION
-AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY
-"CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE TERMS AND
-CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF
-LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW. BY
-USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE CONTENT IS
-GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY
-APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
-BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
-AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
-AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY
-NOT USE THE CONTENT.</p>
-
-<h3>Applicable Licenses</h3>
-
-<p>Unless otherwise indicated, all Content made available by
-Eclipse.org is provided to you under the terms and conditions of
-the Common Public License Version 1.0 ("CPL"). A copy of the CPL is
-provided with this Content and is also 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>
-
-<p>Content includes, but is not limited to, source code, object
-code, documentation and other files maintained in the Eclipse.org
-CVS repository ("Repository") in CVS modules ("Modules") and made
-available as downloadable archives ("Downloads").</p>
-
-<p>Content may be apportioned into plug-ins ("Plug-ins"), plug-in
-fragments ("Fragments"), and features ("Features"). A Feature is a
-bundle of one or more Plug-ins and/or Fragments and associated
-material. Files named "feature.xml" may contain a list of the names
-and version numbers of the Plug-ins and/or Fragments associated
-with a Feature. Plug-ins and Fragments are located in directories
-named "plugins" and Features are located in directories named
-"features".</p>
-
-<p>Features may also include other Features ("Included Features").
-Files named "feature.xml" may contain a list of the names and
-version numbers of Included Features.</p>
-
-<p>The terms and conditions governing Plug-ins and Fragments should
-be contained in files named "about.html" ("Abouts"). The terms and
-conditions governing Features and Included Features should be
-contained in files named "license.html" ("Feature Licenses").
-Abouts and Feature Licenses may be located in any directory of a
-Download or Module including, but not limited to the following
-locations:</p>
-
-<ul>
-<li>The top-level (root) directory</li>
-
-<li>Plug-in and Fragment directories</li>
-
-<li>Subdirectories of the directory named "src" of certain
-Plug-ins</li>
-
-<li>Feature directories</li>
-</ul>
-
-<p>Note: if a Feature made available by Eclipse.org is installed
-using the Eclipse Update Manager, you must agree to a license
-("Feature Update License") during the installation process. If the
-Feature contains Included Features, the Feature Update License
-should either provide you with the terms and conditions governing
-the Included Features or inform you where you can locate them.
-Feature Update Licenses may be found in the "license" property of
-files named "feature.properties". Such Abouts, Feature Licenses and
-Feature Update Licenses contain the terms and conditions (or
-references to such terms and conditions) that govern your use of
-the associated Content in that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY
-REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND
-CONDITIONS. SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT
-ARE NOT LIMITED TO):</p>
-
-<ul>
-<li>Apache Software License 1.1 (available at <a
-href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-
-<li>IBM Public License 1.0 (available at <a
-href="http://oss.software.ibm.com/developerworks/opensource/license10.html">
-http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>
-
-<li>Metro Link Public License 1.00 (available at <a
-href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">
-http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-
-<li>Mozilla Public License Version 1.1 (available at <a
-href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND
-CONDITIONS PRIOR TO USE OF THE CONTENT. If no About, Feature
-License or Feature Update License is provided, please contact
-Eclipse.org to determine what terms and conditions govern that
-particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project
deleted file mode 100644
index 472b822..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties
deleted file mode 100644
index 8fd3e23..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Java Development Tools
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Java development tools. (Binary runtime and user documentation.)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml
deleted file mode 100644
index cb0b530..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/feature.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.jdt"
-      label="%featureName"
-      version="3.1.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-  <requires>
-      <import plugin="org.eclipse.platform" version="3.1.0" match="compatible" />
-  </requires>
-  
-   <plugin
-         id="org.eclipse.jdt"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.ant.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.ltk.core.refactoring"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.ltk.ui.refactoring"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.debug.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.debug"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.junit"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.junit.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.launching"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.eclipse.jdt.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0">
-   </plugin>
-
-   <plugin
-         id="org.junit"
-         download-size="0"
-         install-size="0"
-         version="3.8.1">
-   </plugin>
-
-   <plugin id="org.eclipse.jdt.doc.user" version="3.1.0"/>
-
-   <plugin id="org.eclipse.jdt.launching.macosx" version="3.1.0"  os="macosx" ws="carbon"/>  
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project
deleted file mode 100644
index 35af184..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.jdt.source-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html
deleted file mode 100644
index 158d99c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties
deleted file mode 100644
index 68e1d11..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse JDT Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=API documentation and source code zips for Eclipse Java development tools.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml
deleted file mode 100644
index 336ac86..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/feature.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.jdt.source"  version="3.1.0">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.jdt.doc.isv" version="3.1.0"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.jdt.source" version="3.1.0"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.jdt.source.macosx.carbon.ppc" version="3.1.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.jdt.source-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project
deleted file mode 100644
index 223a24d..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties
deleted file mode 100644
index 45bb587..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Plug-in Development Environment
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml
deleted file mode 100644
index 5d22266..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/feature.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.pde"
-      label="%featureName"
-      version="3.1.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.jdt" version="3.0.0" match="compatible"/>
-      <import plugin="org.eclipse.platform" version="3.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.pde"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.build"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.junit.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-         
-   <plugin
-         id="org.eclipse.pde.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.pde.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project
deleted file mode 100644
index f4bce7b..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.pde.source-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties
deleted file mode 100644
index f3d50b7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse PDE Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse plug-in development environment, including documentation and source code zips.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml
deleted file mode 100644
index 5abbbc7..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/feature.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.pde.source"  version="3.1.0">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.pde.source" version="3.1.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.pde.source-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project
deleted file mode 100644
index 9f53c70..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.platform-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties
deleted file mode 100644
index fad989e..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Common OS-independent base of the Eclipse platform. (Binary runtime and user documentation.)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml
deleted file mode 100644
index 872f5cb..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/feature.xml
+++ /dev/null
@@ -1,387 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
-In the following markup, ignore the "primary" and "application" attributes.
-See https://bugs.eclipse.org/bugs/show_bug.cgi?id=68351 for more details.
--->
-<feature
-      id="org.eclipse.platform"
-      label="%featureName"
-      version="3.1.0"
-      provider-name="%providerName"
-      plugin=""
-      image="eclipse_update_120.jpg"
-      primary="true"
-      application="org.eclipse.ui.ide.workbench">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-   <plugin
-         id="org.apache.ant"
-         download-size="0"
-         install-size="0"
-         version="1.6.2"/>
-
-   <plugin
-         id="org.apache.lucene"
-         download-size="0"
-         install-size="0"
-         version="1.3.0"/>
-
-   <plugin
-         id="org.eclipse.ant.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.compare"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.core.boot"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-         
-   <plugin
-   		 id="org.eclipse.core.filebuffers"
-   		 download-size="0"
-   		 install-size="0"
-   		 version="3.1.0"/>
-   
-   <plugin
-   		 id="org.eclipse.core.expressions"
-   		 download-size="0"
-   		 install-size="0"
-   		 version="3.1.0"/>
-   
-   <plugin
-         id="org.eclipse.core.resources"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.core.runtime"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.core.runtime.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.osgi"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.osgi.services"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.osgi.util"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.core.variables"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-         
-   <plugin
-         id="org.eclipse.debug.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.debug.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.help"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.webapp"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.base"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.ui"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.appserver"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.help.ide"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.platform"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.platform.doc.user"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.search"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.swt"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.core"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ssh2"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.cvs.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.team.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.tomcat"
-         download-size="0"
-         install-size="0"
-         version="4.1.30"/>
-
-   <plugin
-         id="org.eclipse.text"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.jface"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.jface.text"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-	
-   <plugin
-         id="org.eclipse.ui.console"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.presentations.r21"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-            
-   <plugin
-         id="org.eclipse.ui.intro"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.cheatsheets"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-            
-   <plugin
-         id="org.eclipse.ui.workbench"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.workbench.texteditor"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.views"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.editors"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-         
-   <plugin
-         id="org.eclipse.ui.forms"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-         
-   <plugin
-         id="org.eclipse.ui"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.externaltools"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.ui.ide"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"/>
-
-   <plugin
-         id="org.eclipse.update.configurator"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.update.core"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.update.scheduler"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-
-   <plugin
-         id="org.eclipse.update.ui"
-         download-size="0"
-         install-size="0"
-         version="3.0.0"/>
-        
-  <!-- Pre-3.0 binary compatibility -->
-   <plugin
-         id="org.eclipse.ui.workbench.compatibility"
-         download-size="0"
-         install-size="0"
-         version="3.1.0"
-         fragment="true"/>
-
-  <!--Aix platform inclusion -->
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="aix" ws="motif"/>
-  
-  <!-- HPUX Platform specifics -->
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="hpux" ws="motif"/>
-  <plugin id="org.eclipse.core.resources.hpux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="hpux"/>
-
-  <!-- LINUX GTK-->  
-  <plugin id="org.eclipse.swt.gtk" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="linux" ws="gtk" arch="x86" />
-  <plugin id="org.eclipse.swt.gtk" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="linux" ws="gtk" arch="ppc" />
-  <plugin id="org.eclipse.core.resources.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux"/>
-  <plugin id="org.eclipse.update.core.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux" />
-
-  <!-- LINUX GTK AMD64-->
-  <plugin id="org.eclipse.swt.gtk64" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="linux" ws="gtk" arch="amd64" />
-
-  <!-- LINUX Motif-->    
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="linux" ws="motif"/>
-  <plugin id="org.eclipse.core.resources.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux"/>
-  <plugin id="org.eclipse.update.core.linux" download-size="0" install-size="0" version="3.0.0" fragment="true" os="linux" />
-
-  <!-- MacOS X Carbon -->  
-  <plugin id="org.eclipse.swt.carbon" download-size="0" install-size="0" version="3.1.0"  fragment="true" os="macosx" ws="carbon"/> 
-  <plugin id="org.eclipse.core.resources.macosx" download-size="0" install-size="0" version="3.0.0" fragment="true" os="macosx" ws="carbon"/>
-  <plugin id="org.eclipse.ui.carbon" download-size="0" install-size="0" version="3.1.0" fragment="true" os="macosx" ws="carbon"/>
-  
-  <!-- QNX Photon -->
-  <plugin id="org.eclipse.swt.photon" download-size="0" install-size="0" version="3.1.0" fragment="true" os="qnx" ws="photon"/>
-  <plugin id="org.eclipse.core.resources.qnx" download-size="0" install-size="0" version="3.0.0" fragment="true" os="qnx" ws="photon"/>
-  
-  <!-- Solaris Motif -->
-  <plugin id="org.eclipse.swt.motif" download-size="0" install-size="0" version="3.1.0" fragment="true" os="solaris" ws="motif"/>
-  
-  <!-- Win32 -->
-  <plugin id="org.eclipse.swt.win32" download-size="0" install-size="0" version="3.1.0" fragment="true" ws="win32"/>
-  <plugin id="org.eclipse.core.resources.win32" download-size="0" install-size="0" version="3.0.0" fragment="true" os="win32"/>
-  <plugin id="org.eclipse.ui.win32" download-size="0" install-size="0" version="3.1.0" fragment="true" ws="win32"/>
-  <plugin id="org.eclipse.update.core.win32" download-size="0" install-size="0" version="3.0.0" fragment="true" os="win32"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project
deleted file mode 100644
index d7ca40c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.platform.source-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties
deleted file mode 100644
index 0184e4c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Platform Plug-in Developer Resources
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Common OS-independent API documentation and source code zips for the Eclipse Platform.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml
deleted file mode 100644
index 3bdee40..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/feature.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature primary="false"  provider-name="%providerName"    label="%featureName"  image="eclipse_update_120.jpg" id="org.eclipse.platform.source"  version="3.1.0">
-	<description >
-		%description
-	</description>
-	<license url="%licenseURL">
-		%license
-	</license>
-	<url>
-		<update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-		<discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-	</url>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.platform.doc.isv" version="3.1.0"/>
-	<plugin    fragment="false"  download-size="0" install-size="0" id="org.eclipse.platform.source" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ia64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ia64" version="3.1.0"/>
-	<plugin ws="carbon"  os="macosx" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.macosx.carbon.ppc" version="3.1.0"/>
-	<plugin ws="photon"  os="qnx" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.qnx.photon.x86" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.ppc" version="3.1.0"/>
-	<plugin ws="motif"  os="hpux" fragment="true" arch="PA_RISC" download-size="0" install-size="0" id="org.eclipse.platform.source.hpux.motif.PA_RISC" version="3.1.0"/>
-	<plugin ws="motif"  os="aix" fragment="true" arch="ppc" download-size="0" install-size="0" id="org.eclipse.platform.source.aix.motif.ppc" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.x86" version="3.1.0"/>
-	<plugin ws="win32"  os="win32" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.win32.win32.x86" version="3.1.0"/>
-	<plugin ws="motif"  os="solaris" fragment="true" arch="sparc" download-size="0" install-size="0" id="org.eclipse.platform.source.solaris.motif.sparc" version="3.1.0"/>
-	<plugin ws="gtk"  os="linux" fragment="true" arch="amd64" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.gtk.amd64" version="3.1.0"/>
-	<plugin ws="motif"  os="linux" fragment="true" arch="x86" download-size="0" install-size="0" id="org.eclipse.platform.source.linux.motif.x86" version="3.1.0"/>
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.platform.source-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project
deleted file mode 100644
index 49f7d79..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.sdk-feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties
deleted file mode 100644
index c78a479..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.properties
+++ /dev/null
@@ -1,124 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# feature.properties
-# contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=Eclipse Project SDK
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=SDK for Eclipse.
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-15th June, 2004\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Eclipse Public License Version 1.0 (available at http://www.eclipse.org/legal/epl-v10.html)\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml
deleted file mode 100644
index f29904c..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/feature.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.sdk"
-      label="%featureName"
-      version="3.1.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-   
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-      <discovery label="%updateSiteName" url="http://update.eclipse.org/updates/3.0"/>
-   </url>
-
-  <includes id="org.eclipse.platform" version="3.1.0" /> 
-  <includes id="org.eclipse.platform.source" version="3.1.0" /> 
-  <includes id="org.eclipse.jdt" version="3.1.0" />
-  <includes id="org.eclipse.jdt.source" version="3.1.0" /> 
-  <includes id="org.eclipse.pde" version="3.1.0" /> 
-  <includes id="org.eclipse.pde.source" version="3.1.0" /> 
-  <plugin id="org.eclipse.sdk" version="3.1.0"/>
-  
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html
deleted file mode 100644
index e7d8500..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.sdk-feature/license.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>15<sup>th</sup> June, 2004</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Eclipse Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>)</li>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties
deleted file mode 100644
index f4c1d56..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.properties
+++ /dev/null
@@ -1,151 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XML Schema Infoset Model (XSD) Documentation
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (documentation)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml
deleted file mode 100644
index fe4f380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/feature.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2004 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
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.1 2004/03/06 18:00:09 marcelop Exp $
- */
--->
-
-<feature
-      id="org.eclipse.xsd.doc"
-      label="%featureName"
-      version="2.0.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.xsd.doc"
-         download-size="0"
-         install-size="0"
-         version="2.0.0">
-   </plugin>
-   		
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.doc_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties
deleted file mode 100644
index b806af2..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.properties
+++ /dev/null
@@ -1,151 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XML Schema Infoset Model (XSD) Source
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=Eclipse Modeling Framework. (source code)
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml
deleted file mode 100644
index d5f2b77..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/feature.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<!--
-/**
- * <copyright>
- *
- * Copyright (c) 2002-2004 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
- *
- * </copyright>
- *
- * $Id: feature.xml,v 1.1 2004/03/06 18:00:11 marcelop Exp $
- */
--->
-
-<feature
-      id="org.eclipse.xsd.source"
-      label="%featureName"
-      version="2.0.0"
-      image= "eclipse_update_120.jpg"
-      provider-name="%providerName">
-
-   <description>
-      %description
-   </description>
-
-   <license url="%licenseURL">
-     %license
-   </license>
-
-   <url>
-      <update url="http://update.eclipse.org/updates" label="%updateSiteName"/>
-   </url>
-
-   <plugin
-         id="org.eclipse.xsd.source"
-         download-size="0"
-         install-size="0"
-         version="2.0.0">
-   </plugin>
-   
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd.source_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF
deleted file mode 100644
index 59499bc..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,2 +0,0 @@
-Manifest-Version: 1.0
-
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html
deleted file mode 100644
index 36aa208..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/cpl-v10.html
+++ /dev/null
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-<HEAD>
-<TITLE>Common Public License - v 1.0</TITLE>
-<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
-</HEAD>
-
-<BODY BGCOLOR="#FFFFFF" VLINK="#800000">
-
-
-<P ALIGN="CENTER"><B>Common Public License - v 1.0</B>
-<P><B></B><FONT SIZE="3"></FONT>
-<P><FONT SIZE="3"></FONT><FONT SIZE="2">THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS COMMON PUBLIC LICENSE ("AGREEMENT").  ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>1.  DEFINITIONS</B></FONT>
-<P><FONT SIZE="2">"Contribution" means:</FONT>
-
-<UL><FONT SIZE="2">a) in the case of the initial Contributor, the initial code and documentation distributed under this Agreement, and<BR CLEAR="LEFT">
-b) in the case of each subsequent Contributor:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	 	changes to the Program, and</FONT></UL>
-
-
-<UL><FONT SIZE="2">ii)		additions to the Program;</FONT></UL>
-
-
-<UL><FONT SIZE="2">where such changes and/or additions to the Program originate from and are distributed by that particular Contributor.  </FONT><FONT SIZE="2">A Contribution 'originates' from a Contributor if it was added to the Program by such Contributor itself or anyone acting on such Contributor's behalf.  </FONT><FONT SIZE="2">Contributions do not include additions to the Program which:  (i) are separate modules of software distributed in conjunction with the Program under their own license agreement, and (ii) are not derivative works of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Contributor" means any person or entity that distributes the Program.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Licensed Patents " mean patent claims licensable by a Contributor which are necessarily infringed by the use or sale of its Contribution alone or when combined with the Program.  </FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">"Program" means the Contributions distributed in accordance with this Agreement.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">"Recipient" means anyone who receives the Program under this Agreement, including all Contributors.</FONT>
-<P><FONT SIZE="2"><B></B></FONT>
-<P><FONT SIZE="2"><B>2.  GRANT OF RIGHTS</B></FONT>
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">a)	</FONT><FONT SIZE="2">Subject to the terms of this Agreement, each Contributor hereby grants</FONT><FONT SIZE="2"> Recipient a non-exclusive, worldwide, royalty-free copyright license to</FONT><FONT SIZE="2" COLOR="#FF0000"> </FONT><FONT SIZE="2">reproduce, prepare derivative works of, publicly display, publicly perform, distribute and sublicense the Contribution of such Contributor, if any, and such derivative works, in source code and object code form.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT><FONT SIZE="2">b) 	Subject to the terms of this Agreement, each Contributor hereby grants </FONT><FONT SIZE="2">Recipient a non-exclusive, worldwide,</FONT><FONT SIZE="2" COLOR="#008000"> </FONT><FONT SIZE="2">royalty-free patent license under Licensed Patents to make, use, sell, offer to sell, import and otherwise transfer the Contribution of such Contributor, if any, in source code and object code form.  This patent license shall apply to the combination of the Contribution and the Program if, at the time the Contribution is added by the Contributor, such addition of the Contribution causes such combination to be covered by the Licensed Patents.  The patent license shall not apply to any other combinations which include the Contribution.  No hardware per se is licensed hereunder.   </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">c)	Recipient understands that although each Contributor grants the licenses to its Contributions set forth herein, no assurances are provided by any Contributor that the Program does not infringe the patent or other intellectual property rights of any other entity.  Each Contributor disclaims any liability to Recipient for claims brought by any other entity based on infringement of intellectual property rights or otherwise.  As a condition to exercising the rights and licenses granted hereunder, each Recipient hereby assumes sole responsibility to secure any other intellectual property rights needed, if any.  For example, if a third party patent license is required to allow Recipient to distribute the Program, it is Recipient's responsibility to acquire that license before distributing the Program.</FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-
-<UL><FONT SIZE="2">d)	Each Contributor represents that to its knowledge it has sufficient copyright rights in its Contribution, if any, to grant the copyright license set forth in this Agreement. </FONT></UL>
-
-
-<UL><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2"><B>3.  REQUIREMENTS</B></FONT>
-<P><FONT SIZE="2"><B></B>A Contributor may choose to distribute the Program in object code form under its own license agreement, provided that:</FONT>
-
-<UL><FONT SIZE="2">a)	it complies with the terms and conditions of this Agreement; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	its license agreement:</FONT></UL>
-
-
-<UL><FONT SIZE="2">i)	effectively disclaims</FONT><FONT SIZE="2"> on behalf of all Contributors all warranties and conditions, express and implied, including warranties or conditions of title and non-infringement, and implied warranties or conditions of merchantability and fitness for a particular purpose; </FONT></UL>
-
-
-<UL><FONT SIZE="2">ii) 	effectively excludes on behalf of all Contributors all liability for damages, including direct, indirect, special, incidental and consequential damages, such as lost profits; </FONT></UL>
-
-
-<UL><FONT SIZE="2">iii)</FONT><FONT SIZE="2">	states that any provisions which differ from this Agreement are offered by that Contributor alone and not by any other party; and</FONT></UL>
-
-
-<UL><FONT SIZE="2">iv)	states that source code for the Program is available from such Contributor, and informs licensees how to obtain it in a reasonable manner on or through a medium customarily used for software exchange.</FONT><FONT SIZE="2" COLOR="#0000FF"> </FONT><FONT SIZE="2" COLOR="#FF0000"></FONT></UL>
-
-
-<UL><FONT SIZE="2" COLOR="#FF0000"></FONT><FONT SIZE="2"></FONT></UL>
-
-<P><FONT SIZE="2">When the Program is made available in source code form:</FONT>
-
-<UL><FONT SIZE="2">a)	it must be made available under this Agreement; and </FONT></UL>
-
-
-<UL><FONT SIZE="2">b)	a copy of this Agreement must be included with each copy of the Program.  </FONT></UL>
-
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"><STRIKE></STRIKE></FONT><FONT SIZE="2">Contributors may not remove or alter any copyright notices contained within the Program.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">Each Contributor must identify itself as the originator of its Contribution, if any, in a manner that reasonably allows subsequent Recipients to identify the originator of the Contribution.  </FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>4.  COMMERCIAL DISTRIBUTION</B></FONT>
-<P><FONT SIZE="2">Commercial distributors of software may accept certain responsibilities with respect to end users, business partners and the like.  While this license is intended to facilitate the commercial use of the Program, the Contributor who includes the Program in a commercial product offering should do so in a manner which does not create potential liability for other Contributors.   Therefore, if a Contributor includes the Program in a commercial product offering, such Contributor ("Commercial Contributor") hereby agrees to defend and indemnify every other Contributor ("Indemnified Contributor") against any losses, damages and costs (collectively "Losses") arising from claims, lawsuits and other legal actions brought by a third party against the Indemnified Contributor to the extent caused by the acts or omissions of such Commercial Contributor in connection with its distribution of the Program in a commercial product offering.  The obligations in this section do not apply to any claims or Losses relating to any actual or alleged intellectual property infringement.  In order to qualify, an Indemnified Contributor must: a) promptly notify the Commercial Contributor in writing of such claim, and b) allow the Commercial Contributor to control, and cooperate with the Commercial Contributor in, the defense and any related settlement negotiations.  The Indemnified Contributor may participate in any such claim at its own expense.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">For example, a Contributor might include the Program in a commercial product offering, Product X.  That Contributor is then a Commercial Contributor.  If that Commercial Contributor then makes performance claims, or offers warranties related to Product X, those performance claims and warranties are such Commercial Contributor's responsibility alone.  Under this section, the Commercial Contributor would have to defend claims against the other Contributors related to those performance claims and warranties, and if a court requires any other Contributor to pay any damages as a result, the Commercial Contributor must pay those damages.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2" COLOR="#0000FF"></FONT>
-<P><FONT SIZE="2" COLOR="#0000FF"></FONT><FONT SIZE="2"><B>5.  NO WARRANTY</B></FONT>
-<P><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is</FONT><FONT SIZE="2"> solely responsible for determining the appropriateness of using and distributing </FONT><FONT SIZE="2">the Program</FONT><FONT SIZE="2"> and assumes all risks associated with its exercise of rights under this Agreement</FONT><FONT SIZE="2">, including but not limited to the risks and costs of program errors, compliance with applicable laws, damage to or loss of data, </FONT><FONT SIZE="2">programs or equipment, and unavailability or interruption of operations</FONT><FONT SIZE="2">.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"><B>6.  DISCLAIMER OF LIABILITY</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES </FONT><FONT SIZE="2">(INCLUDING WITHOUT LIMITATION LOST PROFITS),</FONT><FONT SIZE="2"> HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"><B>7.  GENERAL</B></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">If any provision of this Agreement is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this Agreement, and without further action by the parties hereto, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">If Recipient institutes patent litigation against a Contributor with respect to a patent applicable to software (including a cross-claim or counterclaim in a lawsuit), then any patent licenses granted by that Contributor to such Recipient under this Agreement shall terminate as of the date such litigation is filed.  In addition, if Recipient institutes patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Program itself (excluding combinations of the Program with other software or hardware) infringes such Recipient's patent(s), then such Recipient's rights granted under Section 2(b) shall terminate as of the date such litigation is filed. </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">All Recipient's rights under this Agreement shall terminate if it fails to comply with any of the material terms or conditions of this Agreement and does not cure such failure in a reasonable period of time after becoming aware of such noncompliance.  If all Recipient's rights under this Agreement terminate, Recipient agrees to cease use and distribution of the Program as soon as reasonably practicable.  However, Recipient's obligations under this Agreement and any licenses granted by Recipient relating to the Program shall continue and survive.  </FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2">Everyone is permitted to copy and distribute copies of this Agreement, but in order to avoid inconsistency the Agreement is copyrighted  and may only be modified in the following manner. The Agreement Steward reserves the right to </FONT><FONT SIZE="2">publish new versions (including revisions) of this Agreement from time to </FONT><FONT SIZE="2">time. No one other than the Agreement Steward has the right to modify this Agreement. IBM is the initial Agreement Steward.   IBM may assign the responsibility to serve as the Agreement Steward to a suitable separate entity.  </FONT><FONT SIZE="2">Each new version of the Agreement will be given a distinguishing version number.  The Program (including Contributions) may always be distributed subject to the version of the Agreement under which it was received. In addition, after a new version of the Agreement is published, Contributor may elect to distribute the Program (including its Contributions) under the new </FONT><FONT SIZE="2">version.  </FONT><FONT SIZE="2">Except as expressly stated in Sections 2(a) and 2(b) above, Recipient receives no rights or licenses to the intellectual property of any Contributor under this Agreement, whether expressly, </FONT><FONT SIZE="2">by implication, estoppel or otherwise</FONT><FONT SIZE="2">.</FONT><FONT SIZE="2">  All rights in the Program not expressly granted under this Agreement are reserved.</FONT>
-<P><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2">This Agreement is governed by the laws of the State of New York and the intellectual property laws of the United States of America. No party to this Agreement will bring a legal action under this Agreement more than one year after the cause of action arose.  Each party waives its rights to a jury trial in any resulting litigation.</FONT>
-<P><FONT SIZE="2"></FONT><FONT SIZE="2"></FONT>
-<P><FONT SIZE="2"></FONT>
-
-</BODY>
-
-</HTML>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg
deleted file mode 100644
index 68e3e02..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/eclipse_update_120.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties
deleted file mode 100644
index 3f0ded5..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.properties
+++ /dev/null
@@ -1,154 +0,0 @@
-###############################################################################
-# Copyright (c) 2005 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-# /**
-#  * <copyright>
-#  *
-#  * Copyright (c) 2002-2004 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
-#  *
-#  * </copyright>
-#  *
-#  * $Id: feature.properties,v 1.1 2004/10/18 15:50:42 dbirsan Exp $ 
-#  */
-
-# ==============================================================================
-# Do not change the properties between this line and the last line containing:
-# %%% END OF TRANSLATED PROPERTIES %%%
-# Instead, either redefine an existing property, or create a new property,
-# append it to the end of the file, and change the code to use the new name.
-# ==============================================================================
-
-# This file contains externalized strings for feature.xml
-# "%foo" in feature.xml corresponds to the key "foo" in this file
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file should be translated.
-
-# "featureName" property - name of the feature
-featureName=XSD Schema Infoset Model
-
-# "providerName" property - name of the company that provides the feature
-providerName=Eclipse.org
-
-# "updateSiteName" property - label for the update site
-updateSiteName=Eclipse.org update site
-
-# "description" property - description of the feature
-description=XML Schema Infoset Model
-
-# "licenseURL" property - URL of the "Feature License"
-# do not translate value - just change to point to a locale-specific HTML page
-licenseURL=license.html
-
-# "license" property - text of the "Feature Update License"
-# should be plain text version of license agreement pointed to be "licenseURL"
-license=\
-ECLIPSE.ORG SOFTWARE USER AGREEMENT\n\
-14th August, 2003\n\
-\n\
-Usage Of Content\n\
-\n\
-ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
-OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
-USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
-AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
-NOTICES INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU\n\
-AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
-AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
-OR NOTICES INDICATED OR REFERENCED BELOW. IF YOU DO NOT AGREE TO THE\n\
-TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
-OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
-BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
-\n\
-Applicable Licenses\n\
-\n\
-Unless otherwise indicated, all Content made available by Eclipse.org\n\
-is provided to you under the terms and conditions of the Common Public\n\
-License Version 1.0 ("CPL"). A copy of the CPL is provided with this\n\
-Content and is also available at http://www.eclipse.org/legal/cpl-v10.html.\n\
-For purposes of the CPL, "Program" will mean the Content.\n\
-\n\
-Content includes, but is not limited to, source code, object code,\n\
-documentation and other files maintained in the Eclipse.org CVS\n\
-repository ("Repository") in CVS modules ("Modules") and made available\n\
-as downloadable archives ("Downloads").\n\
-\n\
-Content may be apportioned into plug-ins ("Plug-ins"), plug-in fragments\n\
-("Fragments"), and features ("Features"). A Feature is a bundle of one or\n\
-more Plug-ins and/or Fragments and associated material. Files named\n\
-"feature.xml" may contain a list of the names and version numbers of the\n\
-Plug-ins and/or Fragments associated with a Feature. Plug-ins and Fragments\n\
-are located in directories named "plugins" and Features are located in\n\
-directories named "features".\n\
-\n\
-Features may also include other Features ("Included Features"). Files named\n\
-"feature.xml" may contain a list of the names and version numbers of\n\
-Included Features.\n\
-\n\
-The terms and conditions governing Plug-ins and Fragments should be\n\
-contained in files named "about.html" ("Abouts"). The terms and\n\
-conditions governing Features and Included Features should be contained\n\
-in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
-Licenses may be located in any directory of a Download or Module\n\
-including, but not limited to the following locations:\n\
-\n\
-   - The top-level (root) directory\n\
-   - Plug-in and Fragment directories\n\
-   - Subdirectories of the directory named "src" of certain Plug-ins\n\
-   - Feature directories\n\
-\n\
-Note: if a Feature made available by Eclipse.org is installed using the\n\
-Eclipse Update Manager, you must agree to a license ("Feature Update\n\
-License") during the installation process. If the Feature contains\n\
-Included Features, the Feature Update License should either provide you\n\
-with the terms and conditions governing the Included Features or inform\n\
-you where you can locate them. Feature Update Licenses may be found in\n\
-the "license" property of files named "feature.properties". Such Abouts,\n\
-Feature Licenses and Feature Update Licenses contain the terms and\n\
-conditions (or references to such terms and conditions) that govern your\n\
-use of the associated Content in that directory.\n\
-\n\
-THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER\n\
-TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
-SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
-\n\
-    - Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
-    - IBM Public License 1.0 (available at http://oss.software.ibm.com/developerworks/opensource/license10.html)\n\
-    - Metro Link Public License 1.00 (available at http://www.opengroup.org/openmotif/supporters/metrolink/license.html)\n\
-    - Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
-\n\
-IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
-TO USE OF THE CONTENT. If no About, Feature License or Feature Update License\n\
-is provided, please contact Eclipse.org to determine what terms and conditions\n\
-govern that particular Content.\n\
-\n\
-Cryptography\n\
-\n\
-Content may contain encryption software. The country in which you are\n\
-currently may have restrictions on the import, possession, and use,\n\
-and/or re-export to another country, of encryption software. BEFORE\n\
-using any encryption software, please check the country's laws,\n\
-regulations and policies concerning the import, possession, or use,\n\
-and re-export of encryption software, to see if this is permitted.\n
-########### end of license property ##########################################
-
-# ==============================================================================
-# %%% END OF TRANSLATED PROPERTIES %%%
-# The above properties have been shipped for translation.
-# ==============================================================================
-
-# "secondaryUpdateSiteName" property - label for the secondary update site (on download.eclipse.org)
-secondaryUpdateSiteName=EMF/SDO/XSD Secondary Update Site
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml
deleted file mode 100644
index 3e51342..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/feature.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="org.eclipse.xsd"
-      label="%featureName"
-      version="2.0.0"
-      provider-name="%providerName"
-      image="eclipse_update_120.jpg">
-
-   <description>
-      %description
-   </description>
-
-   <copyright url="http://www.eclipse.org/legal/cpl-v10.html">
-      Copyright (c) 2002-2004 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
-   </copyright>
-
-   <license url="%licenseURL">
-      %license
-   </license>
-
-   <url>
-      <update label="%updateSiteName" url="http://update.eclipse.org/updates/"/>
-      <discovery label="%secondaryUpdateSiteName" url="http://download.eclipse.org/tools/emf/updates/"/>
-   </url>
-
-   <requires>
-      <import plugin="org.eclipse.core.resources" version="3.0.0" match="compatible"/>
-      <import plugin="org.eclipse.emf.ecore" version="2.0.0" match="compatible"/>
-   </requires>
-
-   <plugin
-         id="org.eclipse.xsd"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.xsd.edit"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.xsd.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.xsd.test"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.xsd2ecore"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-   <plugin
-         id="org.eclipse.emf.mapping.xsd2ecore.editor"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html b/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html
deleted file mode 100644
index af8c380..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/eclipse/features/org.eclipse.xsd_2.0.0/license.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<html>
-<head>
-<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<title>Eclipse.org Software User Agreement</title>
-</head>
-
-<body lang="EN-US" link=blue vlink=purple>
-<h2>Eclipse.org Software User Agreement</h2>
-<p>14th August, 2003</p>
-
-<h3>Usage Of Content</h3>
-
-<p>ECLIPSE.ORG MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
-   (COLLECTIVELY &quot;CONTENT&quot;).  USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT AND/OR THE TERMS AND
-   CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU AGREE THAT YOUR USE
-   OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR
-   NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND
-   CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT USE THE CONTENT.</p>
-   
-<h3>Applicable Licenses</h3>   
-   
-<p>Unless otherwise indicated, all Content made available by Eclipse.org is provided to you under the terms and conditions of the Common Public License Version 1.0
-   (&quot;CPL&quot;).  A copy of the CPL is provided with this Content and is also 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, &quot;Program&quot; will mean the Content.</p>
-
-<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse.org CVS repository (&quot;Repository&quot;) in CVS
-   modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
-
-<p>Content may be apportioned into plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;). A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material. Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of  the Plug-ins and/or Fragments associated with a Feature.   Plug-ins and Fragments are located in directories
-   named &quot;plugins&quot; and Features are located in directories named &quot;features&quot;.</p>
-  
-<p>Features may also include other Features (&quot;Included Features&quot;). Files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</p>
-  
-<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
-Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;). Abouts and Feature Licenses may be located in any directory of a Download or Module
-including, but not limited to the following locations:</p>
-
-<ul>
-	<li>The top-level (root) directory</li>
-	<li>Plug-in and Fragment directories</li>
-	<li>Subdirectories of the directory named &quot;src&quot; of certain Plug-ins</li>
-	<li>Feature directories</li>
-</ul>
-		
-<p>Note: if a Feature made available by Eclipse.org is installed using the Eclipse Update Manager, you must agree to a license (&quot;Feature Update License&quot;) during the
-installation process. If the Feature contains Included Features, the Feature Update License should either provide you with the terms and conditions governing the Included Features or
-inform you where you can locate them. Feature Update Licenses may be found in the &quot;license&quot; property of files named &quot;feature.properties&quot;.
-Such Abouts, Feature Licenses and Feature Update Licenses contain the terms and conditions (or references to such terms and conditions) that govern your use of the associated Content in
-that directory.</p>
-
-<p>THE ABOUTS, FEATURE LICENSES AND FEATURE UPDATE LICENSES MAY REFER TO THE CPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.  SOME OF THESE
-OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):</p>
-
-<ul>
-	<li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
-	<li>IBM Public License 1.0 (available at <a href="http://oss.software.ibm.com/developerworks/opensource/license10.html">http://oss.software.ibm.com/developerworks/opensource/license10.html</a>)</li>	
-	<li>Metro Link Public License 1.00 (available at <a href="http://www.opengroup.org/openmotif/supporters/metrolink/license.html">http://www.opengroup.org/openmotif/supporters/metrolink/license.html</a>)</li>
-	<li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
-</ul>
-
-<p>IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR TO USE OF THE CONTENT.  If no About, Feature License or Feature Update License is provided, please
-contact Eclipse.org to determine what terms and conditions govern that particular Content.</p>
-
-<h3>Cryptography</h3>
-
-<p>Content may contain 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>
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/perf/platform.xml b/update/org.eclipse.update.tests.core/data/perf/platform.xml
deleted file mode 100644
index 983e5c4..0000000
--- a/update/org.eclipse.update.tests.core/data/perf/platform.xml
+++ /dev/null
@@ -1,179 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--Created on Mon Aug 23 15:05:43 EDT 2004-->
-<config date="1093287943134" transient="false" version="3.0">
-<site enabled="true" policy="USER-EXCLUDE" updateable="true" url="platform:/base/">
-<feature id="org.eclipse.barrup.rad.feature" url="features/org.eclipse.barrup.rad.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.dev.product" url="features/org.eclipse.barupdate.dev.product_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.dev" url="features/org.eclipse.barupdate.dev_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.uml2" url="features/org.eclipse.uml2_1.0.1/" version="1.0.1"/>
-<feature id="org.eclipse.barxtools.comparemerge.ejbddfeature" url="features/org.eclipse.barxtools.comparemerge.ejbdd-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.serverattach.v5" url="features/org.eclipse.foo.serverattach.v5_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.xsl" url="features/org.eclipse.bardebug.xsl_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.platform.feature" url="features/org.eclipse.barxtools.platform.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsupport.rad.doc" url="features/org.eclipse.barsupport.rad.doc_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barr2a.rdj.feature" url="features/org.eclipse.barr2a.rdj.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.test.ct.feature" url="features/org.eclipse.barupdate.test.ct.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.eDataviz.feature" url="features/org.eclipse.barxtools.eDataviz.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrad.welcome.feature" url="features/org.eclipse.barrad.welcome.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.wsa.launch.load" url="features/org.eclipse.bardebug.wsa.launch.load_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrup.feature" url="features/org.eclipse.barrup.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.visualization.feature" url="features/org.eclipse.barxtools.visualization.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrad.nav.doc.feature" url="features/org.eclipse.barrad.nav.doc.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.test" primary="true" url="features/org.eclipse.y.test_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.bardebug.activescript.win32" url="features/org.eclipse.bardebug.activescript.win32_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.platform.win32.feature" url="features/org.eclipse.barxtools.platform.win32.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.portal.tools.feature" url="features/org.eclipse.foo.portal.tools.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.serverattach" url="features/org.eclipse.foo.serverattach_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.test.examples" primary="true" url="features/org.eclipse.y.test.examples_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barz.common.ui" url="features/org.eclipse.barz.common.ui_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.ejb" url="features/org.eclipse.barz.ejb_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.profiling" primary="true" url="features/org.eclipse.y.profiling_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.ejbdeploy.feature.nl1" url="features/org.eclipse.foo.ejbdeploy.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.emf.integration" url="features/org.eclipse.barz.emf.integration_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.javascript" url="features/org.eclipse.bardebug.javascript_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.ast.feature" url="features/org.eclipse.bardebug.ast.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.wsvt-feature" url="features/org.eclipse.wsvt-feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.sib.mediation.develop.feature" url="features/org.eclipse.foo.sib.mediation.develop.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.ejb.feature.nl1" url="features/org.eclipse.foo.webservice.was.creation.ejb.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webedit.editor.feature" url="features/org.eclipse.foo.webedit.editor.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.data" url="features/org.eclipse.barz.data_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.sib.mediation.deploy.feature" url="features/org.eclipse.foo.sib.mediation.deploy.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.e" url="features/org.eclipse.foo.e_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.ejb.feature" url="features/org.eclipse.foo.webservice.was.creation.ejb.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.siteedit.feature" url="features/org.eclipse.foo.siteedit.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.profiling.server.compatible" url="features/org.eclipse.foo.profiling.server.compatible_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.ws" url="features/org.eclipse.barz.ws_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ejb.samples-feature" url="features/org.eclipse.foo.ejb.samples-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.activities.feature" url="features/org.eclipse.barz.activities.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.examples" url="features/org.eclipse.foo.examples_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barx.sdk" url="features/org.eclipse.barx.sdk_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.pdt.win32" url="features/org.eclipse.bardebug.pdt.win32_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.wsa" url="features/org.eclipse.bardebug.wsa_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.jve.express" url="features/org.eclipse.foo.jve.express_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardata.linux" url="features/org.eclipse.bardata.linux_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsse.xmlmarkup" url="features/org.eclipse.barsse.xmlmarkup_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.validation" url="features/org.eclipse.barz.validation_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.gla" primary="true" url="features/org.eclipse.y.gla_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barz.ws.model" url="features/org.eclipse.barz.ws.model_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barx.ast" url="features/org.eclipse.barx.ast_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.ext.nl1" url="features/org.eclipse.barws.ast.st.ext.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.common.utilities" url="features/org.eclipse.barz.common.utilities_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barz.common" url="features/org.eclipse.barz.common_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.xml.model" url="features/org.eclipse.barz.xml.model_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.pdt" url="features/org.eclipse.bardebug.pdt_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.navigator" url="features/org.eclipse.barz.navigator_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webtools.feature" url="features/org.eclipse.foo.webtools.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.emf.integration.core" url="features/org.eclipse.barz.emf.integration.core_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.struts.feature" url="features/org.eclipse.foo.struts.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsse.base" url="features/org.eclipse.barsse.base_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.help.doc" url="features/org.eclipse.bardebug.help.doc_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.models" url="features/org.eclipse.y.models_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.y.logging" url="features/org.eclipse.y.logging_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.bardebug.javascript.nl1.feature" url="features/org.eclipse.bardebug.javascript.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.batch" url="features/org.eclipse.barws.ast.st.batch_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsse.snippets" url="features/org.eclipse.barsse.snippets_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.rapiddeploy" plugin-identifier="org.eclipse.barws.rapiddeploy.core" url="features/org.eclipse.barws.rapiddeploy_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.bardata" url="features/org.eclipse.bardata_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.security" url="features/org.eclipse.foo.security_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.probekit" url="features/org.eclipse.foo.probekit_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.jsf.feature" url="features/org.eclipse.foo.jsf.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.analysis" url="features/org.eclipse.foo.analysis_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ac-tech" url="features/org.eclipse.foo.ac-tech_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.feature" url="features/org.eclipse.foo.webservice.was.creation.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ejb" url="features/org.eclipse.foo.ejb_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ejbdeploy.feature" url="features/org.eclipse.foo.ejbdeploy.feature_5.1.1/" version="5.1.1"/>
-<feature id="org.eclipse.barz.e" url="features/org.eclipse.barz.e_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ftp" url="features/org.eclipse.foo.ftp_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.examples" url="features/org.eclipse.y.examples_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.jve.core" url="features/org.eclipse.foo.jve.core_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.core" url="features/org.eclipse.y.core_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barz.ws.axis" url="features/org.eclipse.barz.ws.axis_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.jve.e" url="features/org.eclipse.foo.jve.e_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.resources.common.feature" url="features/org.eclipse.foo.resources.common.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws" url="features/org.eclipse.barws_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y" url="features/org.eclipse.y_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.bardebug.ast.nl1.feature" url="features/org.eclipse.bardebug.ast.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz" url="features/org.eclipse.barz_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barlpex" url="features/org.eclipse.barlpex_3.0.0/" version="3.0.0"/>
-<feature id="org.eclipse.barxml" url="features/org.eclipse.barxml_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.ws.consumption" url="features/org.eclipse.barz.ws.consumption_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.egl.feature" url="features/org.eclipse.foo.egl.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.server.tomcat" url="features/org.eclipse.barz.server.tomcat_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.rapiddeploy.cmdframework" url="features/org.eclipse.barws.rapiddeploy.cmdframework_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.ejb.sbf.feature" url="features/org.eclipse.foo.ejb.sbf.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.qev" url="features/org.eclipse.foo.qev_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ext.feature" url="features/org.eclipse.foo.ws.ext.feature_5.9.0/" version="5.9.0"/>
-<feature id="org.eclipse.barz.xml" url="features/org.eclipse.barz.xml_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.web.developer" url="features/org.eclipse.barupdate.web.developer_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.base.nl1" url="features/org.eclipse.barws.ast.st.base.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.jdt.integration" url="features/org.eclipse.barz.jdt.integration_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.source" url="features/org.eclipse.y.source_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.gla" url="features/org.eclipse.foo.gla_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ejb.nl1.feature" url="features/org.eclipse.foo.ws.ejb.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.base" url="features/org.eclipse.barws.ast.st.base_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barsupport.rwd.doc" url="features/org.eclipse.barsupport.rwd.doc_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barupdate.pd.prof" url="features/org.eclipse.barupdate.pd.prof_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.creation.feature.nl1" url="features/org.eclipse.foo.webservice.was.creation.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.wsvtvalidatorfeature" url="features/org.eclipse.wsvtvalidatorfeature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barws.ast.st.batch.nl1" url="features/org.eclipse.barws.ast.st.batch.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.doc.feature" url="features/org.eclipse.barws.ast.doc.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ejb.feature" url="features/org.eclipse.foo.ws.ejb.feature_5.9.0/" version="5.9.0"/>
-<feature id="org.eclipse.barws.rapiddeploy.nl1" url="features/org.eclipse.barws.rapiddeploy.nl1_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barz.jca" url="features/org.eclipse.barz.jca_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.xml.validate" url="features/org.eclipse.barz.xml.validate_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.extension" url="features/org.eclipse.barz.extension_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.env.ui" url="features/org.eclipse.barz.env.ui_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.env" url="features/org.eclipse.barz.env_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.jscrib.framework" url="features/org.eclipse.barupdate.jscrib.framework_1.2.0/" version="1.2.0"/>
-<feature id="org.eclipse.bardebug.pdt.nl1.feature" url="features/org.eclipse.bardebug.pdt.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrwd.doc.feature" url="features/org.eclipse.barrwd.doc.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.orphans" url="features/org.eclipse.barupdate.orphans_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.profiling" url="features/org.eclipse.foo.profiling_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.y.probekit" url="features/org.eclipse.y.probekit_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barsse.webmarkup" url="features/org.eclipse.barsse.webmarkup_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardata.win32" url="features/org.eclipse.bardata.win32_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.server" url="features/org.eclipse.barz.server_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.jem" url="features/org.eclipse.jem_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.foo.project.interchange" url="features/org.eclipse.foo.project.interchange_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.ve" url="features/org.eclipse.ve_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.bardebug.wsa.nl1.feature" url="features/org.eclipse.bardebug.wsa.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.deploy.feature.nl1" url="features/org.eclipse.foo.webservice.was.deploy.feature.nl1_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.ws.ext.nl1.feature" url="features/org.eclipse.foo.ws.ext.nl1.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.bardebug.helpas.doc" url="features/org.eclipse.bardebug.helpas.doc_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.emf.ui.integration" url="features/org.eclipse.foo.emf.ui.integration_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.webservice.was.deploy.feature" url="features/org.eclipse.foo.webservice.was.deploy.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barz.web" url="features/org.eclipse.barz.web_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.foo.profiling.server" url="features/org.eclipse.foo.profiling.server_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barws.ast.st.ext" url="features/org.eclipse.barws.ast.st.ext_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barrup.updatezone.feature" url="features/org.eclipse.barrup.updatezone.feature_1.0.0/" version="1.0.0"/>
-<feature id="org.eclipse.barsamplegallery-feature" url="features/org.eclipse.barsamplegallery-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.jdt.source" url="features/org.eclipse.jdt.source_3.0.1/" version="3.0.1"/>
-<feature application="org.eclipse.ui.ide.workbench" id="org.eclipse.barupdate.sdp.feature" primary="true" url="features/org.eclipse.barupdate.sdp.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.pde.source" url="features/org.eclipse.pde.source_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.foo.lum.utils.feature" url="features/org.eclipse.foo.lum.utils.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.baresupport.client.nl1" url="features/org.eclipse.baresupport.client/" version="0.9.14"/>
-<feature id="org.eclipse.y.logging" url="features/org.eclipse.y.logging_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.emf.ecore.sdo.doc" url="features/org.eclipse.emf.ecore.sdo.doc_2.0.0/" version="2.0.0"/>
-<feature id="org.eclipse.foo.logging" url="features/org.eclipse.foo.logging_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.welcome.feature.nl1" url="features/org.eclipse.barupdate.welcome.feature.nl1/" version="6.0.0"/>
-<feature application="org.eclipse.ui.ide.workbench" id="org.eclipse.platform" primary="true" url="features/org.eclipse.platform_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barcommon.doc.feature" url="features/org.eclipse.barcommon.doc.feature/" version="6.0.0"/>
-<feature id="org.eclipse.jdt" url="features/org.eclipse.jdt_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barsupport.core.doc" url="features/org.eclipse.barsupport.core.doc/" version="1.0.0"/>
-<feature id="org.eclipse.xyz.clearcase" url="features/org.eclipse.xyz.clearcase_6.0.11/" version="6.0.11"/>
-<feature id="org.eclipse.bartutorialgallery-feature" url="features/org.eclipse.bartutorialgallery-feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.welcome.feature" url="features/org.eclipse.barupdate.welcome.feature/" version="6.0.0"/>
-<feature id="org.eclipse.emf" url="features/org.eclipse.emf_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.platform.source" url="features/org.eclipse.platform.source_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.barupdate.common.activities.feature" url="features/org.eclipse.barupdate.common.activities.feature_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barupdate.cdi.itlm" url="features/org.eclipse.barupdate.cdi.itlm_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.pde" url="features/org.eclipse.pde_3.0.1/" version="3.0.1"/>
-<feature id="org.eclipse.emf.doc" url="features/org.eclipse.emf.doc_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.emf.ecore.sdo" url="features/org.eclipse.emf.ecore.sdo_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.barsupport.core.doc.nl1" url="features/org.eclipse.barsupport.core.doc.nl1/" version="1.0.0"/>
-<feature id="org.eclipse.barxtools.comparemerge" url="features/org.eclipse.barxtools.comparemerge_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.barxtools.common.ui.properties" url="features/org.eclipse.barxtools.common.ui.properties_6.0.0/" version="6.0.0"/>
-<feature id="org.eclipse.xsd" url="features/org.eclipse.xsd_2.0.1/" version="2.0.1"/>
-<feature id="org.eclipse.gef" url="features/org.eclipse.gef_3.0.0/" version="3.0.0"/>
-</site>
-</config>
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
deleted file mode 100644
index 78f193d..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 2275ade..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index ea958c7..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index 7f05d82..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
deleted file mode 100644
index 3141af8..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="1.1.1" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site1/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
deleted file mode 100644
index 68a7de8..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/install/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.core" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="2.1.0" ws="WS_WIN32"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar b/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/reconciliationSites/site2/plugins/org.eclipse.update.core_2.0.0/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/resources.properties b/update/org.eclipse.update.tests.core/data/resources.properties
deleted file mode 100644
index f160e56..0000000
--- a/update/org.eclipse.update.tests.core/data/resources.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2003 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-HTTP_PATH_1=/org.eclipse.update.tests.core.updatetests/UpdateManager2/

-HTTP_PATH_2=/org.eclipse.update.tests.core.updatetests/UpdateManager/

-HTTP_PATH_3=/org.eclipse.update.tests.core.updatetests/Site with space/

diff --git a/update/org.eclipse.update.tests.core/data/site.xml b/update/org.eclipse.update.tests.core/data/site.xml
deleted file mode 100644
index 3fc60c7..0000000
--- a/update/org.eclipse.update.tests.core/data/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site type="org.eclipse.update.core.file">

-<description url="info/siteInfo.html"/>

-  <feature url="testAPI/features/feature3">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="http://www.eclipse.org/feature2">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature url="http://www.eclipse.org/feature1">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>    

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>

-  <category-def label="Eclipse Tools" name="eclipse"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/site2/site.xml b/update/org.eclipse.update.tests.core/data/site2/site.xml
deleted file mode 100644
index 39d1c11..0000000
--- a/update/org.eclipse.update.tests.core/data/site2/site.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site url="Info.html" type="org.eclipse.update.core.file">

-  <feature url="features/feature1"/>

-  <archive path="org.eclipse.update.plugin1" url="plugins/plugin1"/>

-  <archive path="org.eclipse.update.archive2" url="plugins/plugin2"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF
deleted file mode 100644
index c223e4f..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Generated-from: 1077062603708
-Bundle-Name: Test
-Bundle-Version: 1.0.3
-Bundle-SymbolicName: org.eclipse.update.core.tests.bundleAndPluginManifestsBUNDLEPARSED
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: plugin.jar
-Legacy: true
-Bundle-Activator: org.eclipse.update.core.tests.bundleAndPluginManifests.Activator
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.ui
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml
deleted file mode 100644
index 6b59ddb..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleAndPluginManifests_1.0.3/plugin.xml
+++ /dev/null
@@ -1,3 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.bundleAndPluginManifests" version="1.0.3" vendor-name="Eclipse.org">
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF
deleted file mode 100644
index 656e680..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/bundleManifest_1.0.1/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Generated-from: 1077062603708
-Bundle-Name: Test
-Bundle-Version: 1.0.1
-Bundle-SymbolicName: org.eclipse.update.core.tests.bundleManifest; singleton=true
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: plugin.jar
-Legacy: true
-Bundle-Activator: org.eclipse.update.core.tests.bundleManifest.Activator
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.ui
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml
deleted file mode 100644
index 7f81c46..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin2" version="5.0.0" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.0/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml
deleted file mode 100644
index efb3c26..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin2" version="5.0.1" vendor-name="junit.org">

-  <runtime>

-    <library name="junit.jar">

-      <export name="*"/>

-    </library>

-  </runtime>

-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/feature1_plugin2_5.0.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF
deleted file mode 100644
index 866fb0f..0000000
--- a/update/org.eclipse.update.tests.core/data/siteTestLocalSite/plugins/notBundleManifest_1.0.2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Generated-from: 1077062603708
-Bundle-Name: Not Valid Bundle Manifest
-Bundle-Version: 1.0.2
-Bundle-Vendor: Eclipse.org
-Bundle-ClassPath: plugin.jar
-Require-Bundle: 
- org.eclipse.core.runtime,
- org.eclipse.ui
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml b/update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml
deleted file mode 100644
index f878d60..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/features/feature3/feature.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >
-  <description>Description</description>
-  <copyright>copyright</copyright>
-  <license>license</license>
-  <url>
-    <update label="URL to update the feature" url="http://www.eclipse.org/"/>
-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>
-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>
-  </url>
-  <plugin download-size="1500" id="org.eclipse.update.plugin1" install-size="1000" fragment="false" nl="us" os="WIN32,LINUX" version="1.1.1"/>
-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml b/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
deleted file mode 100644
index e01846c..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/plugin.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<plugin name="JUnit Test Framework" id="org.eclipse.update.core.tests.feature1.plugin1" version="3.5.6" vendor-name="junit.org">
-  <runtime>
-    <library name="junit.jar">
-      <export name="*"/>
-    </library>
-  </runtime>
-</plugin>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar b/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
deleted file mode 100644
index 2d4d609..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/plugins/org.eclipse.update.plugin1_1.1.1/src.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/testAPI/site.xml b/update/org.eclipse.update.tests.core/data/testAPI/site.xml
deleted file mode 100644
index 4c15d43..0000000
--- a/update/org.eclipse.update.tests.core/data/testAPI/site.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site type="org.eclipse.update.core.file">
-<description url="info/siteInfo.html"/>
-  <feature url="features/feature3">
-    <category name="eclipse/UML"/>
-  </feature>
-  <feature url="http://www.eclipse.org/feature2">
-    <category name="eclipse/J2EE"/>
-  </feature>
-  <feature url="http://www.eclipse.org/feature1">
-    <category name="eclipse/J2EE"/>
-  </feature>
-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1.jar" url="plugins/org.eclipse.update.plugin1_1.1.1"/>    
-  <category-def label="J2EE tools" name="eclipse/J2EE"/>
-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>
-  <category-def label="UML tools" name="eclipse/UML"/>
-  <category-def label="Messaging Tools" name="B2B"/>
-  <category-def label="Eclipse Tools" name="eclipse"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct b/update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct
deleted file mode 100644
index 8b829aa..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site2/.eclipseproduct
+++ /dev/null
@@ -1,3 +0,0 @@
-id=another.product.id

-name=Name of the product

-ver=1.2.4
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension
deleted file mode 100644
index 6d72df7..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site3/.eclipseextension
+++ /dev/null
@@ -1 +0,0 @@
-id=id.of.extended.product
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension
deleted file mode 100644
index acc84e9..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site4/eclipse/.eclipseextension
+++ /dev/null
@@ -1 +0,0 @@
-id=different.product.id
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM b/update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM
deleted file mode 100644
index 196c522..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site5/.eclipseUM
+++ /dev/null
@@ -1,3 +0,0 @@
-id=org.eclipse.platform

-name=a Product 

-version=3.5.6
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension
deleted file mode 100644
index fff40a3..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site5/eclipse/.eclipseextension
+++ /dev/null
@@ -1,3 +0,0 @@
-id=org.eclipse.platform
-name=Eclipse Platform
-version=3.1.0
diff --git a/update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM b/update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM
deleted file mode 100644
index 597f9f8..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site6/.eclipseUM
+++ /dev/null
@@ -1 +0,0 @@
-id=org.eclipse.sdk
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension b/update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension
deleted file mode 100644
index 597f9f8..0000000
--- a/update/org.eclipse.update.tests.core/data/validation/site6/children/children/eclipse/.eclipseextension
+++ /dev/null
@@ -1 +0,0 @@
-id=org.eclipse.sdk
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml
deleted file mode 100644
index 1511800..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse.test.feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.test1.ident1" label="Feature One" nl="en_us,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.0" ws="WS_WIN32,WS_MOTIF,WS_GTK">

-  <description>Test feature for testIdentifier test</description>

-  <copyright>Copyright (c) the company</copyright>

-  <license>Do you accept the license ?</license>

-  <url>

-    <update label="URL to update teh feature" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>

-  <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml b/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml
deleted file mode 100644
index 9f05cda..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/apitests/org.eclipse_test_feature/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.test1.ident2" label="Feature One" nl="en_us,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.0" ws="WS_WIN32,WS_MOTIF,WS_GTK">

-  <description>Test feature for testIdentifier test</description>

-  <copyright>Copyright (c) the company</copyright>

-  <license>Do you accept the license ?</license>

-  <url>

-    <update label="URL to update teh feature" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" url="org.eclipse.update.core.tests.feature1.plugin1" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>

-  <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml b/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
deleted file mode 100644
index c4ee139..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature1" image="feature1.gif" label="Feature One" nl="en,fr,de" os="OS_WIN32,OS_LINUX" provider-name="Object Technology International" version="1.0.4" ws="WS_WIN32,WS_MOTIF,WS_GTK">

-  <description>I believe this is the description of feature 1, well, feature 1 is an exceptional feature that you should install right NOW on your machine... try it.</description>

-  <copyright>Ok, now, this is a very very complex Copyright  not prepared by a lawyer Copyright (c) the company</copyright>

-  <license>#1 Do you accept it #2 you do nto accept it ...Do you accpt it ?</license>

-  <url>

-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-  <plugin download-size="1500" id="org.eclipse.update.core.tests.feature1.plugin1" install-size="1000" fragment="false" nl="us" os="OS_WIN32" version="3.5.6" ws="WS_WIN32"/>

-  <plugin download-size="1200" id="org.eclipse.update.core.tests.feature1.plugin2" install-size="978" fragment="false" version="5.0.0"/>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif b/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
deleted file mode 100644
index 03e30a2..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/feature_1.0.0/feature1.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml b/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
deleted file mode 100644
index 44823c0..0000000
--- a/update/org.eclipse.update.tests.core/data/xmls/site1/site.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site url="info" type="org.eclipse.update.core.file">

-  <feature id="org.isv.feature3" url="www.eclipse.org/feature3" version="3.4.5">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature id="org.eclipse.update.core.tests.feature2" url="www.eclipse.org/feature2" version="3.4.6">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <feature id="org.eclipse.update.core.tests.fature1" url="www.eclipse.org/feature1" version="2.3.5">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <archive path="org.eclipse.update.plugin1" url="www.eclipse.org/pluign1"/>

-  <archive path="org.eclipse.update.archive2" url="www.eclipse.org/plugin2"/>

-  <archive path="org.eclipse.update.plugin3" url="www.eclipse.org/plugin3"/>

-  <archive path="org.eclipse.unknown.plugin" url="www.eclipse.org/plugins/plugin4"/>

-  <archive path="org.eclipse.update.core.tests.feature1.foo1" url="www.eclipse.org/plugin1"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>

-  <category-def label="Eclipse tools" name="eclipse"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/plugin.properties b/update/org.eclipse.update.tests.core/plugin.properties
deleted file mode 100644
index 1ef5740..0000000
--- a/update/org.eclipse.update.tests.core/plugin.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2003 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-

-name = Install/Update Core Tests

-provider-name = Eclipse.org

diff --git a/update/org.eclipse.update.tests.core/plugin.xml b/update/org.eclipse.update.tests.core/plugin.xml
deleted file mode 100644
index 51ba863..0000000
--- a/update/org.eclipse.update.tests.core/plugin.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.0"?>

-<plugin>

-

-     <extension

-         id="feature1"

-         point="org.eclipse.update.core.featureTypes">

-      <feature-factory

-            class="org.eclipse.update.internal.core.FeatureExecutableFactory">

-      </feature-factory>

-   </extension>

-   <extension

-         id="ftp"

-         point="org.eclipse.update.core.siteTypes">

-      <site-factory

-            class="org.eclipse.update.tests.implementation.SiteFTPFactory">

-      </site-factory>

-   </extension>

-

-</plugin>

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
deleted file mode 100644
index 6f61553..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/AllTests.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests;

-

-import junit.framework.Test;

-import junit.framework.TestSuite;

-import org.eclipse.update.tests.api.AllAPITests;

-import org.eclipse.update.tests.branding.*;

-//import org.eclipse.update.tests.configurations.AllConfigurationsTests;

-import org.eclipse.update.tests.core.boot.AllPlatformConfigurationTests;

-import org.eclipse.update.tests.mirror.*;

-import org.eclipse.update.tests.model.AllModelTests;

-import org.eclipse.update.tests.nestedfeatures.AllNestedTests;

-import org.eclipse.update.tests.parser.AllParserTests;

-//import org.eclipse.update.tests.perfms.*;

-import org.eclipse.update.tests.reconciliation.AllReconciliationTests;

-import org.eclipse.update.tests.regularInstall.AllRegularInstallTests;

-//import org.eclipse.update.tests.regularRemove.AllRegularRemoveTests;

-import org.eclipse.update.tests.sitevalidation.AllSiteValidationTests;

-//import org.eclipse.update.tests.standalone.*;

-import org.eclipse.update.tests.types.AllTypesTests;

-import org.eclipse.update.tests.uivalues.AllCoreUITests;

-

-public class AllTests extends TestSuite {

-	public AllTests(String name) {

-		super(name);

-	}

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("All Update Manager Tests");

-		suite.addTest(AllMirrorTests.suite());	

-		suite.addTest(AllSiteValidationTests.suite());

-		suite.addTest(AllPlatformConfigurationTests.suite());

-		suite.addTest(AllRegularInstallTests.suite());

-		suite.addTest(AllAPITests.suite());

-		suite.addTest(AllParserTests.suite());

-		suite.addTest(AllCoreUITests.suite());

-//		suite.addTest(AllConfigurationsTests.suite());

-		suite.addTest(AllTypesTests.suite());

-//		suite.addTest(AllRegularRemoveTests.suite());

-		suite.addTest(AllNestedTests.suite());	

-		suite.addTest(AllReconciliationTests.suite());					

-		suite.addTest(AllModelTests.suite());

-		suite.addTest(AllBrandingTests.suite());

-		//suite.addTest(AllStandaloneTests.suite());

-		//suite.addTest(AllPerformanceTests.suite());

-		return suite;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
deleted file mode 100644
index 3106713..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateManagerTestCase.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests;

-

-

-import java.io.File;

-import java.io.IOException;

-import java.net.*;

-import java.util.*;

-

-import junit.framework.TestCase;

-import org.eclipse.core.runtime.*;

-import org.eclipse.core.runtime.IPluginDescriptor;

-import org.eclipse.core.runtime.Platform;

-import org.eclipse.update.configuration.IConfiguredSite;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-/**

- * All Help System Test cases must subclass this base Testcase.

- * See SampleTestCase.java for a template.

- */

-

-public abstract class UpdateManagerTestCase extends TestCase {

-

-	protected static ResourceBundle bundle;

-	protected static String dataPath;

-

-	protected static URL SOURCE_FILE_SITE;

-	protected static URL SOURCE_FILE_SITE_INSTALLED;

-	protected static URL SOURCE_HTTP_SITE;

-	protected static URL TARGET_FILE_SITE;

-

-	private static final String DATA_PATH = "data/";

-

-	/**

-	 * Default Constructor

-	 */

-	public UpdateManagerTestCase(String name) {

-		super(name);

-		try {

-			init();

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-	}

-

-	protected static void init() throws MissingResourceException, IOException, MalformedURLException {

-

-		IPluginDescriptor dataDesc = Platform.getPluginRegistry().getPluginDescriptor("org.eclipse.update.tests.core");

-		URL resolvedURL = Platform.asLocalURL(Platform.resolve(dataDesc.getInstallURL()));

-		URL dataURL = new URL(resolvedURL, DATA_PATH);

-		dataPath = dataURL.getFile();

-		String homePath = (System.getProperty("java.io.tmpdir")).replace(File.separatorChar, '/');

-

-		if (bundle == null) {

-			ClassLoader l = new URLClassLoader(new URL[] { dataURL }, null);

-			bundle = ResourceBundle.getBundle("resources", Locale.getDefault(), l);

-		}

-

-		try {

-			SOURCE_FILE_SITE = new File(dataPath).toURL();

-			SOURCE_FILE_SITE_INSTALLED = new File(dataPath + "testAPI/").toURL();

-			SOURCE_HTTP_SITE = new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_1"));

-			TARGET_FILE_SITE = new URL("file", null, homePath + "/target/");

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		//cleanup target 

-		File target = new File(homePath + "/target/");

-		UpdateManagerUtils.removeFromFileSystem(target);

-		// cleanup info about just installed plugins

-		InstallRegistry.cleanup();

-		

-		// setup cache site to false. 

-		// Note: the standalone tests will set it back to true

-		InternalSiteManager.globalUseCache = false;

-	}

-

-	/**

-	 * Simple implementation of setUp. Subclasses are prevented 

-	 * from overriding this method to maintain logging consistency.

-	 * umSetUp() should be overriden instead.

-	 */

-	protected final void setUp() throws Exception {

-		System.out.println("----- " + this.getName());

-		System.out.println(this.getName() + ": setUp...");

-		umSetUp();

-	}

-

-	/**

-	 * Sets up the fixture, for example, open a network connection.

-	 * This method is called before a test is executed.

-	 */

-	protected void umSetUp() throws Exception {

-		// do nothing.

-	}

-

-	/**

-	 * Simple implementation of tearDown.  Subclasses are prevented 

-	 * from overriding this method to maintain logging consistency.

-	 * umTearDown() should be overriden instead.

-	 */

-	protected final void tearDown() throws Exception {

-		System.out.println(this.getName() + ": tearDown...\n");

-		umTearDown();

-	}

-

-	/**

-	 * Tears down the fixture, for example, close a network connection.

-	 * This method is called after a test is executed.

-	 */

-	protected void umTearDown() throws Exception {

-		// do nothing.

-	}

-

-	protected static String getHttpHost() {

-		return UpdateTestsPlugin.getWebAppServerHost();

-	}

-

-	protected static int getHttpPort() {

-		return UpdateTestsPlugin.getWebAppServerPort();

-	}

-

-	protected void remove(IFeature feature, IConfiguredSite configSite) throws CoreException {

-		ISite site = configSite.getSite();

-		remove(feature, site);

-	}

-

-	protected void remove(IFeature feature, ISite site) throws CoreException {

-		site.getFeatureReference(feature);

-		// remove the plugins and features dir

-		String sitePath = site.getURL().getFile();

-		File file = null;

-

-		String featureName = feature.getVersionedIdentifier().getIdentifier().toString() + "_" + feature.getVersionedIdentifier().getVersion().toString();

-		file = new File(sitePath, "features" + File.separator + featureName);

-		System.out.println("****************************************Removing :" + file);

-		UpdateManagerUtils.removeFromFileSystem(file);

-

-		IPluginEntry[] entries = feature.getPluginEntries();

-		for (int i = 0; i < entries.length; i++) {

-			String name = entries[i].getVersionedIdentifier().getIdentifier().toString() + "_" + entries[i].getVersionedIdentifier().getVersion().toString() + File.separator;

-			file = new File(sitePath, "plugins" + File.separator + name);

-			System.out.println("****************************************Removing :" + file);

-			UpdateManagerUtils.removeFromFileSystem(file);

-			InstallRegistry.unregisterPlugin(entries[i]);

-		}

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
deleted file mode 100644
index e2a9cf5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/UpdateTestsPlugin.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests;

-import org.eclipse.core.runtime.*;

-import org.eclipse.help.internal.appserver.WebappManager;

-import org.eclipse.update.internal.core.UpdateCore;

-import org.osgi.framework.*;

-

-/**

- * manages the startuo and shutown of the 

- * web server

- */

-public class UpdateTestsPlugin extends Plugin {

-

-	private static String appServerHost = null;

-	private static int appServerPort = 0;

-	private static UpdateTestsPlugin plugin;

-	private static BundleContext bundleContext;

-	private static boolean initialized=false;

-

-	public static UpdateTestsPlugin getPlugin() {

-		return plugin;

-	}

-

-	/* (non-Javadoc)

-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)

-	 */

-	public void start(BundleContext context) throws Exception {

-		super.start(context);

-		plugin = this;

-		bundleContext = context;

-	}

-	

-	/* (non-Javadoc)

-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)

-	 */

-	public void stop(BundleContext context) throws Exception {

-		WebappManager.stop("org.eclipse.update.tests.core.updatetests");

-		plugin = null;

-		bundleContext = null;

-		super.stop(context);

-	}

-

-	/**

-	 * Returns the host identifier for the web app server

-	 */

-	public static String getWebAppServerHost() {

-		if (!initialized) initialize();

-		return appServerHost;

-	}

-

-	/**

-	 * Returns the port identifier for the web app server

-	 */

-	public static int getWebAppServerPort() {

-		if (!initialized) initialize();		

-		return appServerPort;

-	}

-	/**

-	 * Method initialize.

-	 */

-	private static void initialize() {

-		String text = null;

-		try {

-			WebappManager.start("org.eclipse.update.tests.core.updatetests", "org.eclipse.update.tests.core", new Path("webserver"));

-			appServerHost = WebappManager.getHost();

-			appServerPort = WebappManager.getPort();

-

-			text = "The webServer did start ip:" + appServerHost + ":" + appServerPort;

-		} catch (CoreException e) {

-			text = "The webServer didn't start ";

-			IStatus status = new Status(IStatus.ERROR, "org.eclipse.update.tests.core", IStatus.OK, "WebServer not started. Update Tests results are invalid", null);

-			UpdateCore.warn("",new CoreException(status));

-		}finally {

-			System.out.println(text);

-			initialized = true;

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
deleted file mode 100644
index 13c9255..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/AllAPITests.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-/**

- * Manages the API tests

- */

-public class AllAPITests extends UpdateManagerTestCase {

-	/**

-	 * Constructor

-	 */

-	public AllAPITests(String name) {

-		super(name);

-	}

-	

-	/**

-	 * List of API tests

-	 */

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("API Tests");

-

-		suite.addTest(new TestSuite(TestSiteAPI.class));

-		suite.addTest(new TestSuite(TestLocalSiteAPI.class));		

-		suite.addTest(new TestSuite(TestUpdateManagerUtilsAPI.class));		

-		suite.addTest(new TestSuite(TestDefaultExecutableFeatureAPI.class));

-		suite.addTest(new TestSuite(TestDefaultPackageFeatureAPI.class));

-		suite.addTest(new TestSuite(TestPluginContainerAPI.class));

-		suite.addTest(new TestSuite(TestSiteManagerAPI.class));		

-		suite.addTest(new TestSuite(TestNestedFeatureAPI.class));

-		suite.addTest(new TestSuite(TestFeatureContentProvider_FileFilterAPI.class));

-		return suite;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
deleted file mode 100644
index 3456bb3..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/DefaultFeature.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.core.FeatureExecutableContentProvider;

-/**

- * Abstract Class that implements most of the behavior of a feature

- * A feature ALWAYS belongs to an ISite

- */

-public class DefaultFeature extends Feature {

-

-

-	/**

-	 * Copy constructor

-	 */

-	public DefaultFeature(IFeature sourceFeature, ISite targetSite) throws CoreException {

-		this(targetSite);

-		this.setFeatureContentProvider(sourceFeature.getFeatureContentProvider());

-		this.setIdentifier(sourceFeature.getVersionedIdentifier());

-		this.setLabel(sourceFeature.getLabel());

-		this.setUpdateSiteEntry(sourceFeature.getUpdateSiteEntry());

-		this.setDiscoverySiteEntries(sourceFeature.getDiscoverySiteEntries());

-		this.setProvider(sourceFeature.getProvider());

-		this.setDescription(sourceFeature.getDescription());

-		this.setCopyright(sourceFeature.getCopyright());

-		this.setLicense(sourceFeature.getLicense());

-		this.setPluginEntries(sourceFeature.getPluginEntries());

-		this.setImage(sourceFeature.getImage());

-	}

-	

-	/**

-	 * Constructor

-	 */

-	public DefaultFeature(ISite targetSite) throws CoreException {

-		super();

-		this.setSite(targetSite);		

-	}	

-	

-	

-	/**

-	 * Sets the identifier

-	 * @param identifier The identifier to set

-	 */

-	public void setIdentifier(VersionedIdentifier identifier) {

-		setFeatureIdentifier(identifier.getIdentifier());

-		setFeatureVersion(identifier.getVersion().toString());

-	}

-

-	/**

-	 * Sets the discoverySiteEntries

-	 * @param discoveryInfos The discoveryInfos to set

-	 */

-	public void setDiscoverySiteEntries(IURLEntry[] discoveryInfos) {

-		setDiscoverySiteEntryModels((URLEntryModel[]) discoveryInfos);

-	}

-

-	/**

-	 * Sets the updateSiteEntry

-	 * @param updateInfo The updateInfo to set

-	 */

-	public void setUpdateSiteEntry(IURLEntry updateInfo) {

-		setUpdateSiteEntryModel((URLEntryModel) updateInfo);

-	}

-

-	/**

-	 * Adds a discoveryInfo

-	 * @param discoveryInfo The discoveryInfo to add

-	 */

-	public void addDiscoverySiteEntry(IURLEntry discoveryInfo) {

-		addDiscoverySiteEntryModel((URLEntryModel) discoveryInfo);

-	}

-

-	/**

-	 * Sets the description

-	 * @param description The description to set

-	 */

-	public void setDescription(IURLEntry description) {

-		setDescriptionModel((URLEntryModel) description);

-	}

-

-	/**

-	 * Sets the copyright

-	 * @param copyright The copyright to set

-	 */

-	public void setCopyright(IURLEntry copyright) {

-		setCopyrightModel((URLEntryModel) copyright);

-	}

-

-	/**

-	 * Sets the license

-	 * @param license The license to set

-	 */

-	public void setLicense(IURLEntry license) {

-		setLicenseModel((URLEntryModel) license);

-	}

-

-	/**

-	 * Sets the image

-	 * @param image The image to set

-	 */

-	public void setImage(URL image) {

-		if (image==null) return;

-		setImageURLString(image.toExternalForm());

-	}

-

-	/**

-	 * Adds an import

-	 * @param anImport The import to add

-	 */

-	public void addImport(IImport anImport) {

-		if (anImport != null) {

-			addImportModel((ImportModel) anImport);

-		}

-	}

-

-

-	/**

-	 * Sets the pluginEntries

-	 * @param pluginEntries The pluginEntries to set

-	 */

-	public void setPluginEntries(IPluginEntry[] pluginEntries) {

-		if (pluginEntries != null) {

-			for (int i = 0; i < pluginEntries.length; i++) {

-				addPluginEntry(pluginEntries[i]);

-			}

-		}

-	}

-

-

-	/**

-	 * sets teh URL isf not already present

-	 */

-	public void setURL(URL url) throws CoreException{

-		//if (getFeatureContentProvider()==null){

-			FeatureContentProvider contentProvider = new FeatureExecutableContentProvider(url);

-			this.setFeatureContentProvider(contentProvider);

-			contentProvider.setFeature(this);

-		//}

-	}

-	

-	

-	/*

-	 * @see IPluginContainer#addPluginEntry(IPluginEntry)

-	 */

-	public void addPluginEntry(IPluginEntry pluginEntry) {

-		if (pluginEntry != null) {

-			addPluginEntryModel((PluginEntryModel) pluginEntry);

-		}

-	}

-

-	/*

-	 * @see IFeature#addNonPluginEntry(INonPluginEntry)

-	 */

-	public void addNonPluginEntry(INonPluginEntry dataEntry) {

-		if (dataEntry != null) {

-			addNonPluginEntryModel((NonPluginEntryModel) dataEntry);

-		}

-	}	

-

-	}
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
deleted file mode 100644
index b7a716c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/MyURLEntry.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.update.core.URLEntry;

-

-/**

- * Wrapper around URLEntry

- */

-public class MyURLEntry extends URLEntry {

-	

-	public MyURLEntry(String annotation, URL url) throws MalformedURLException {

-		super();

-		setAnnotation(annotation);

-		if (url!=null) {

-			setURLString(url.toExternalForm());

-			resolve(null,null);

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
deleted file mode 100644
index 5d57a8d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultExecutableFeatureAPI.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-

-public class TestDefaultExecutableFeatureAPI extends UpdateManagerTestCase {

-	

-	private DefaultFeature remoteFeature=null;

-	

-	/**

-	 * Test the testFeatures()

-	 */

-	public TestDefaultExecutableFeatureAPI(String arg0) {

-		super(arg0);

-	}

-	

-	/**

-	 * the feature to test

-	 */

-	private DefaultFeature getFeature() throws MalformedURLException, CoreException {

-		if (remoteFeature == null){

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		URL url = UpdateManagerUtils.getURL(site.getURL(),"testAPI/"+Site.DEFAULT_INSTALLED_FEATURE_PATH+"feature3/",null);

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURL(url);

-		IFeature feature = ref.getFeature(null);

-		remoteFeature = new DefaultFeature(feature,site);

-

-		}

-		return remoteFeature;

-	}

-

-	public void testIdentifier() throws CoreException, MalformedURLException {

-		String id1 = "xmls/apitests/org.eclipse.test.feature_1.0.0/";

-		String id2 = "xmls/apitests/org.eclipse_test_feature";

-		VersionedIdentifier ident1 = new VersionedIdentifier("org.test1.ident1","1.0.0");

-		VersionedIdentifier ident2 = new VersionedIdentifier("org.test1.ident2","1.0.0");		

-		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-			

-			URL url1 = UpdateManagerUtils.getURL(site.getURL(),id1,null);			

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url1);

-			remoteFeature.setIdentifier(ident1);

-			assertEquals(ident1.toString(),remoteFeature.getVersionedIdentifier().toString());

-	 	

-			 URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);		

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url2);

-			remoteFeature.setIdentifier(ident2);

-			assertEquals(ident2.toString(),remoteFeature.getVersionedIdentifier().toString());

-		

-

-	}

-

-

-

-	public void testSite() throws MalformedURLException, CoreException{

-		String ident1 = Site.DEFAULT_INSTALLED_FEATURE_PATH+"feature3/";		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-			

-			URL id = UpdateManagerUtils.getURL(site.getURL(),ident1,null);			

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(id);

-			assertEquals(site,remoteFeature.getSite());

-

-	}

-

-

-	public void testLabel() throws CoreException,MalformedURLException {

-		String label = "dummy label";

-		Feature feature = getFeature();

-		feature.setLabel(label);

-		assertEquals(label,feature.getLabel());

-	}

-

-

-	public void testUpdateURL() throws CoreException,MalformedURLException {

-		URL url = null;

-		String label = "OTI Site";

-		try {

-			url = new URL("http://www.oti.com/");

-			

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		feature.setUpdateSiteEntry(new MyURLEntry(label, url));

-		assertEquals(url,feature.getUpdateSiteEntry().getURL());

-		assertEquals(label,feature.getUpdateSiteEntry().getAnnotation());

-

-	} 

-

-

-	

-	public void testDiscoveryURLs() throws CoreException,MalformedURLException {

-		IURLEntry[] urlInfo = new MyURLEntry[2];

-		URL[] url = new URL[2];

-		String[] label = new String[2];

-		try {

-			url[0] = new URL("http://www.oti.com/");

-			url[1] = new URL("http://eclipse.org/");

-			label[0] = "OTI Site";

-			label[1] = "Eclipse Site";

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		for (int i=0;i<2;i++){

-				urlInfo[i] = new MyURLEntry(label[i],url[i]);

-		}

-		feature.setDiscoverySiteEntries(urlInfo);

-		for (int i=0; i<feature.getDiscoverySiteEntries().length;i++){

-			assertEquals(urlInfo[i],feature.getDiscoverySiteEntries()[i]);

-		}

-

-	}

-

-

-	public void testProvider() throws CoreException,MalformedURLException {

-		String provider = "not so dummy provider";

-		IFeature feature = getFeature();

-		((Feature)feature).setProvider(provider);

-		assertEquals(provider,feature.getProvider());

-	}

-

-

-

-	public void testDescription() throws CoreException,MalformedURLException {

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,null);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getAnnotation());

-	}

-	

-

-	public void testDescription1() throws CoreException, MalformedURLException {

-		URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		IURLEntry info = new MyURLEntry(null,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(url,feature.getDescription().getURL());

-	}	

-	

-

-	public void testDescription2() throws CoreException, MalformedURLException {

-		

- 	 URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		String result = feature.getDescription().getAnnotation();

-		assertEquals(desc,result);

-		assertEquals(url,feature.getDescription().getURL());

-	}	

-

-

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
deleted file mode 100644
index 4f2e6a9..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestDefaultPackageFeatureAPI.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-

-public class TestDefaultPackageFeatureAPI extends UpdateManagerTestCase {

-	

-	private	DefaultFeature remoteFeature=null;

-	

-	/**

-	 * Test the testFeatures()

-	 */

-	public TestDefaultPackageFeatureAPI(String arg0) {

-		super(arg0);

-	}

-	

-	/**

-	 * the feature to test

-	 */

-	private DefaultFeature getFeature() throws MalformedURLException, CoreException {

-		if (remoteFeature == null){

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);	

-		remoteFeature = new DefaultFeature(site);

-		remoteFeature.setURL(id);

-		}

-		return remoteFeature;

-	}

-

-	public void testIdentifier() throws CoreException, MalformedURLException {

-		

-		String id1 = "features/org.eclipse.test.feature_1.0.0.jar";

-		String id2 = "features/org.eclipse_test_feature.jar";

-		VersionedIdentifier ident1 = new VersionedIdentifier("org.test1.ident1","1.0.0");

-		VersionedIdentifier ident2 = new VersionedIdentifier("org.test1.ident2","1.0.0");		

-		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-			

-			URL url1 = UpdateManagerUtils.getURL(site.getURL(),id1,null);			

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url1);

-			remoteFeature.setIdentifier(ident1);

-			assertEquals(ident1.toString(),remoteFeature.getVersionedIdentifier().toString());

-		

-			 URL url2 = UpdateManagerUtils.getURL(site.getURL(),id2,null);		

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(url2);

-			remoteFeature.setIdentifier(ident2);			

-			assertEquals(ident2.toString(),remoteFeature.getVersionedIdentifier().toString());

-	}

-

-

-	public void testSite() throws MalformedURLException, CoreException {

-		String ident1 = "org.eclipse.test.feature_1.0.0.jar";		

-

-			ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-			

-			URL id = UpdateManagerUtils.getURL(site.getURL(),ident1,null);		

-			remoteFeature = new DefaultFeature(site);

-			remoteFeature.setURL(id);	

-			assertEquals(site,remoteFeature.getSite());

-

-	}

-

-

-	public void testLabel() throws CoreException, MalformedURLException {

-		String label = "dummy label";

-		Feature feature = getFeature();

-		feature.setLabel(label);

-		assertEquals(label,feature.getLabel());

-	}

-

-	public void testUpdateURL() throws CoreException, MalformedURLException {

-		URL url = null;

-		String label = "OTI Site";

-		try {

-			url = new URL("http://www.oti.com/");

-			

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		feature.setUpdateSiteEntry(new MyURLEntry(label, url));

-		assertEquals(url,feature.getUpdateSiteEntry().getURL());

-		assertEquals(label,feature.getUpdateSiteEntry().getAnnotation());

-

-	} 

-

-

-	

-	public void testDiscoveryURLs() throws CoreException, MalformedURLException {

-		IURLEntry[] urlInfo = new URLEntry[2];

-		URL[] url = new URL[2];

-		String[] label = new String[2];

-		try {

-			url[0] = new URL("http://www.oti.com/");

-			url[1] = new URL("http://eclipse.org/");

-			label[0] = "OTI Site";

-			label[1] = "Eclipse Site";

-		} catch (java.net.MalformedURLException e){} // impossible eh !

-		DefaultFeature feature = getFeature();

-		for (int i=0;i<2;i++){

-				urlInfo[i] = new MyURLEntry(label[i],url[i]);

-		}

-		feature.setDiscoverySiteEntries(urlInfo);

-		for (int i=0; i<feature.getDiscoverySiteEntries().length;i++){

-			assertEquals(urlInfo[i],feature.getDiscoverySiteEntries()[i]);

-		}

-

-

-	}

-

-

-	public void testProvider() throws CoreException, MalformedURLException {

-		String provider = "not so dummy provider";

-		Feature feature = getFeature();

-		feature.setProvider(provider);

-		assertEquals(provider,feature.getProvider());

-	}

-

-

-

-	public void testDescription() throws CoreException, MalformedURLException {

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,null);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getAnnotation());

-	}

-	

-

-	public void testDescription1() throws CoreException, MalformedURLException {

-		URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		IURLEntry info = new MyURLEntry(null,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(url,feature.getDescription().getURL());

-	}	

-	

-	public void testDescription2() throws CoreException, MalformedURLException {

-		

-		URL url = null;

-		try {

-			url = new URL("http://www.oti.com");

-		} catch (MalformedURLException e){/*pretty impossible*/}

-		String desc = "pretty long description as a string with \r\n and \t and \n";

-		IURLEntry info = new MyURLEntry(desc,url);

-		DefaultFeature feature = getFeature();

-		feature.setDescription(info);

-		assertEquals(desc,feature.getDescription().getAnnotation());

-		assertEquals(url,feature.getDescription().getURL());

-	}

-

-

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java
deleted file mode 100644
index be317dd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestFeatureContentProvider_FileFilterAPI.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.api;
-import org.eclipse.update.core.FeatureContentProvider;
-import org.eclipse.update.internal.core.FeatureExecutableContentProvider;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-
-public class TestFeatureContentProvider_FileFilterAPI extends UpdateManagerTestCase {
-	
-	
-	/**
-	 * Test the testFeatures()
-	 */
-	public TestFeatureContentProvider_FileFilterAPI(String arg0) {
-		super(arg0);
-	}
-	
-	public void testFileFilter(){
-		
-		String p1 = "/p1/p2/a.*";
-		String p2 = "p1/p2/b.*";
-		String p3 = "/p1/p2/a.txt";
-		String p4 = "/p1/p2/*.txt";
-		
-		String name1 = "/p1/p2/a.txt";
-		String name2 = "/p1/p2/b.txt";
-		String name3 = "/p3/p2/a.txt";
-		String name4 = "p1/p2/a.txt";
-		String name5 = "/p1/p2/b.txt";
-		String name6 = "/p1/p2/c.txt";
-		String name7 = "/p1/p2/p3/a.txt";
-		
-		
-		FeatureContentProvider cp = new FeatureExecutableContentProvider(null);
-		
-		FeatureContentProvider.FileFilter filter1 = cp.new FileFilter(p1);
-		FeatureContentProvider.FileFilter filter2 = cp.new FileFilter(p2);
-		FeatureContentProvider.FileFilter filter3 = cp.new FileFilter(p3);
-		FeatureContentProvider.FileFilter filter4 = cp.new FileFilter(p4);
-
-		assertTrue("1.1",filter1.accept(name1));		
-		assertTrue("1.2",!filter1.accept(name2));		
-		assertTrue("1.3",!filter1.accept(name3));	
-		assertTrue("1.4",!filter1.accept(name4));		
-		assertTrue("1.5",!filter1.accept(name5));		
-		assertTrue("1.6",!filter1.accept(name6));		
-		assertTrue("1.7",!filter1.accept(name7));
-	
-		assertTrue("2.1",!filter2.accept(name1));		
-		assertTrue("2.2",!filter2.accept(name2));		
-		assertTrue("2.3",!filter2.accept(name3));	
-		assertTrue("2.4",!filter2.accept(name4));		
-		assertTrue("2.5",!filter2.accept(name5));		
-		assertTrue("2.6",!filter2.accept(name6));		
-		assertTrue("2.7",!filter2.accept(name7));
-
-		assertTrue("3.1",filter3.accept(name1));		
-		assertTrue("3.2",!filter3.accept(name2));		
-		assertTrue("3.3",!filter3.accept(name3));	
-		assertTrue("3.4",!filter3.accept(name4));		
-		assertTrue("3.5",!filter3.accept(name5));		
-		assertTrue("3.6",!filter3.accept(name6));		
-		assertTrue("3.7",!filter3.accept(name7));
-		
-		assertTrue("4.1",filter4.accept(name1));		
-		assertTrue("4.2",filter4.accept(name2));		
-		assertTrue("4.3",!filter4.accept(name3));	
-		assertTrue("4.4",!filter4.accept(name4));		
-		assertTrue("4.5",filter4.accept(name5));		
-		assertTrue("4.6",filter4.accept(name6));		
-		assertTrue("4.7",!filter4.accept(name7));								
-					
-	}
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
deleted file mode 100644
index a0cf025..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestLocalSiteAPI.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.CategoryModel;

-import org.eclipse.update.core.model.SiteModel;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestLocalSiteAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestLocalSiteAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testFileParsing() throws Exception {

-

-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE,"siteTestLocalSite/"), null);

-		IArchiveReference[] info = site.getArchives();

-		

-		if (info.length<=0){

-			fail("no plugins in site: "+site.getURL().toExternalForm());

-		}

-		 

-		boolean found1 = false;

-		boolean found2 = false;

-		String name1= "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar";

-		String name2 = "plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar";

-		

-		for (int i =0; i<info.length; i++){

-			if (info[i].getPath().equals(name1)) found1 = true;

-			if (info[i].getPath().equals(name2)) found2 = true;

-		}

-		

-		if (!found1 || !found2){

-			fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");

-		}

-		

-

-	}

-	

-	public void testBundleManifestParsing() throws Exception {

-

-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE,"siteTestLocalSite/"),null);

-		IArchiveReference[] info = site.getArchives();

-		

-		if (info.length<=0){

-			fail("no plugins in site: "+site.getURL().toExternalForm());

-		}

-		 

-		boolean found1 = false;

-		boolean found2 = false;

-		boolean found3 = false;

-		String name1= "plugins/org.eclipse.update.core.tests.bundleManifest_1.0.1.jar";

-		String name2 = "plugins/org.eclipse.update.core.tests.bundleAndPluginManifestsBUNDLEPARSED_1.0.3.jar";

-		String name3 = "plugins/org.eclipse.update.core.tests.bundleAndPluginManifests_1.0.3.jar";

-		

-		for (int i =0; i<info.length; i++){

-			if (info[i].getPath().equals(name1)) found1 = true;

-			if (info[i].getPath().equals(name2)) found2 = true;

-			if (info[i].getPath().equals(name3)) found3 = true;

-		}

-		

-		if (!found1 || !found2){

-			fail("Cannot find plugin : org.eclipse.update.core.tests.feature1.plugin2 version 5.0.0 and 5.0.1 on the site, by parsing file system");

-		}

-		if (found3){

-			fail("Plugin manifest parsed instead of bundle manifest.");

-		}

-		

-

-	}

-	

-	

-	public void testCategories() throws Exception {

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		

-		ICategory category = new Category("category","Label of category");

-		

-		((SiteModel)site).addCategoryModel((CategoryModel)category);

-		

-		ICategory[] categories = site.getCategories();

-		boolean found = false;

-		for (int index = 0; index < categories.length; index++) {

-			ICategory element = categories[index];

-			if (element.getName().equals("category")) found = true;

-		}

-		if (!found) fail("cannot find category 'category' in site");

-

-		ISiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.addCategory(category);		

-		categories = ref.getCategories();

-		found = false;

-		for (int index = 0; index < categories.length; index++) {

-			ICategory element = categories[index];

-			if (element.getName().equals("category")) found = true;

-		}

-		if (!found) fail("cannot find category 'category' in feature");

-		

-			}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java
deleted file mode 100644
index 0c1c7d3..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestNestedFeatureAPI.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.api;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestNestedFeatureAPI extends UpdateManagerTestCase {
-
-	/**
-	 * Test the testFeatures()
-	 */
-	public TestNestedFeatureAPI(String arg0) {
-		super(arg0);
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getRootFeature() throws MalformedURLException, CoreException {
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/site.xml"),null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "rootfeature.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getChildFeature() throws MalformedURLException, CoreException {
-
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/"), null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "org.eclipse.update.core.tests.childrenfeature_2.0.0.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/*
-	 * 
-	 */
-	public void testNested() throws Exception {
-
-		IFeature rootFeature = getRootFeature();
-		IFeatureReference[] ref = rootFeature.getIncludedFeatureReferences();
-		IFeature childFeature = getChildFeature();
-		assertEquals("Children feature are not equal", childFeature, ref[0].getFeature(null));
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getRootFeature2() throws MalformedURLException, CoreException {
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest2/site.xml"),null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "rootfeature.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/**
-	 * the feature to test
-	 */
-	private IFeature getChildFeature2() throws MalformedURLException, CoreException {
-
-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest2/site.xml"),null);
-		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "childrenfeature.jar", null);
-		SiteFeatureReference ref = new SiteFeatureReference();
-		ref.setSite(site);
-		ref.setURL(url);
-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-		IFeature feature = ref.getFeature(null);
-		return feature;
-	}
-
-	/*
-	 * 
-	 */
-	public void testNested2() throws Exception {
-
-		IFeature rootFeature = getRootFeature2();
-		IFeatureReference[] ref = rootFeature.getIncludedFeatureReferences();
-		IFeature childFeature = getChildFeature2();
-		assertEquals("Children feature are not equal", childFeature, ref[0].getFeature(null));
-	}
-
-//	/**
-//	 * the feature to test
-//	 */
-//	private IFeature getRootFeature3() throws MalformedURLException, CoreException {
-//		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest3/site.xml"), null);
-//		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "rootfeature.jar", null);
-//		SiteFeatureReference ref = new SiteFeatureReference();
-//		ref.setSite(site);
-//		ref.setURL(url);
-//		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-//		IFeature feature = ref.getFeature(null);
-//		return feature;
-//	}
-
-//	/**
-//	 * the feature to test
-//	 */
-//	private IFeature getChildFeature3() throws MalformedURLException, CoreException {
-//
-//		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest3/site.xml"));
-//		URL url = UpdateManagerUtils.getURL(site.getURL(), Site.DEFAULT_INSTALLED_FEATURE_PATH + "childrenfeature.jar", null);
-//		SiteFeatureReference ref = new SiteFeatureReference();
-//		ref.setSite(site);
-//		ref.setURL(url);
-//		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);
-//		IFeature feature = ref.getFeature(null);
-//		return feature;
-//	}
-
-	/*
-	 * 
-	 */
-	/*	public void testNested3() throws Exception {
-	
-			IFeature rootFeature = getRootFeature3();
-			IFeatureReference[] ref = rootFeature.getIncludedFeatureReferences();
-			IFeature childFeature = getChildFeature3();
-			assertEquals(
-				"Children feature are not equal",
-				childFeature,
-				ref[0].getFeature());
-		}
-	*/
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
deleted file mode 100644
index 340de5e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestPluginContainerAPI.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestPluginContainerAPI extends UpdateManagerTestCase {

-

-	private Site site;

-	private DefaultFeature feature;

-

-	/**

-	 * the Site to test

-	 */

-	private Site getSite() throws CoreException, MalformedURLException {

-		if (site == null) {

-

-			site = (Site)SiteManager.getSite(new URL(SOURCE_FILE_SITE,"testAPI/"), null);

-

-		}

-		return site;

-	}

-

-	/**

-	 * the feature to test

-	 */

-	private DefaultFeature getFeature() throws MalformedURLException, CoreException {

-		if (feature == null) {

-			ISite site = getSite();

-			URL id = UpdateManagerUtils.getURL(site.getURL(),"org.eclipse.update.core.feature1_1.0.0.jar",null);						

-			feature = new DefaultFeature(site);

-			feature.setURL(id);	

-		}

-		return feature;

-	}

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestPluginContainerAPI(String arg0) throws CoreException {

-		super(arg0);

-	}

-

-	public void testAbstractFeature() throws CoreException, MalformedURLException {

-		PluginEntry pluginEntry = new PluginEntry();

-		pluginEntry.setVersionedIdentifier(new VersionedIdentifier("id", "6"));

-		Feature _feature = getFeature();

-		((DefaultFeature)_feature).addPluginEntry(pluginEntry);

-		assertEquals(_feature.getPluginEntryCount(), 1);

-		assertEquals(_feature.getPluginEntries()[0], pluginEntry);

-

-	}

-

-	public void testAbstactSite() throws CoreException, MalformedURLException {

-		PluginEntry pluginEntry = new PluginEntry();

-		pluginEntry.setVersionedIdentifier(new VersionedIdentifier("id", "6"));

-		Site _site = getSite();

-		_site.addPluginEntry(pluginEntry);

-		assertEquals(_site.getPluginEntryCount(), 1);

-		assertEquals(_site.getPluginEntries()[0], pluginEntry);

-

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
deleted file mode 100644
index 35d67d7..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteAPI.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.ISite;

-import org.eclipse.update.core.SiteManager;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestSiteAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testURL() throws Exception {

-

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		assertEquals(new File(site.getURL().getFile()),new File(SOURCE_FILE_SITE.getFile()));

-		

-		ISite site2 = SiteManager.getSite(SOURCE_HTTP_SITE, null);

-		assertEquals(site2.getURL(),new URL("http", getHttpHost(),getHttpPort(), bundle.getString("HTTP_PATH_1")+"site.xml"));

-

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
deleted file mode 100644
index cb4359e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestSiteManagerAPI.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestSiteManagerAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteManagerAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testFile() throws Exception {

-		ISite fileSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		String site = fileSite.getURL().toExternalForm();		

-		assertEquals(TARGET_FILE_SITE.toExternalForm(), site);

-	}

-	

-	public void testUnknown() throws Exception {

-		URL url = new URL("ftp://255.255.255.255/");

-		try {

-		SiteManager.getSite(url,null);

-		fail("Connected to ftp://255.255.255.255/, should not happen");

-		} catch (CoreException e){

-			// expected

-		} catch (IllegalArgumentException e){

-			// expected as the version of the WebDav HTTP Connection returns so

-		}

-	}

-	

-	public void testLocalSite() throws Exception {

-		

-		ILocalSite site = SiteManager.getLocalSite();

-		IConfiguredSite[] instSites = site.getCurrentConfiguration().getConfiguredSites();

-		assertTrue(instSites.length>0);

-		System.out.println("Local Site:"+instSites[0].getSite().getURL().toExternalForm());

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED,null);

-		IFeature remoteFeature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		remove(remoteFeature,instSites[0].getSite());		

-		instSites[0].getSite().install(remoteFeature,null,null);

-		

-		IFeatureReference[] features = site.getCurrentConfiguration().getConfiguredSites()[0].getSite().getFeatureReferences();

-		assertTrue(features.length>0);

-

-		//cleanup

-		assertNotNull(remoteFeature);		

-		File file = new File(instSites[0].getSite().getURL().getFile()+File.separator+Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file = new File(instSites[0].getSite().getURL().getFile()+File.separator+Site.DEFAULT_PLUGIN_PATH+"org.eclipse.update.plugin1_1.1.1");

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-

-	}

-	

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
deleted file mode 100644
index 96184a6..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/api/TestUpdateManagerUtilsAPI.java
+++ /dev/null
@@ -1,229 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.api;

-import java.net.URL;

-

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestUpdateManagerUtilsAPI extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestUpdateManagerUtilsAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testgetURL() throws Exception {

-		URL url1 = new URL("http://www.eclipse.org");

-		URL url2 = new URL("file://c:/hello");

-		URL url3 = new URL("file:/home/eclipse/");

-		URL url4 = new URL("ftp:/host:8080/path/");

-		URL url5 = new URL("jar:file:/tmp/100100!/");

-		

-		String default1 = "default1/default";

-		String default2 = "/default2/";

-		

-		String str1 = "http://dev.eclipse.org";

-		String str2 = "relative1/path/";

-		String str3 = "/relative2/path";

-		

-		String result1=null;

-		String result2=null;

-		

-		//****************************************************************************************

-		// 1.0

-		result1 = UpdateManagerUtils.getURL(url1,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("1.0",result2,result1);

-		

-		// 1.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("1.1",result2,result1);

-		

-		// 1.2

-		 result1 = UpdateManagerUtils.getURL(url1,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("1.2",result2,result1);

-		

-		// 1.3

-		 result1 = UpdateManagerUtils.getURL(url1,str2,default1).toExternalForm();

-		 result2 = "http://www.eclipse.org/relative1/path/";

-		assertEquals("1.3",result2,result1);

-		

-		// 1.4

-		 result1 = UpdateManagerUtils.getURL(url1,str3,default1).toExternalForm();

-		 result2 = "http://www.eclipse.org/relative2/path";

-		assertEquals("1.4",result2,result1);

-		

-		// 1.5

-		 result1 = UpdateManagerUtils.getURL(url1,null,default1).toExternalForm();

-		 result2 = "http://www.eclipse.org/default1/default";

-		assertEquals("1.5",result2,result1);

-		

-		// 1.6

-		 result1 = UpdateManagerUtils.getURL(url1,null,default2).toExternalForm();

-		 result2 = "http://www.eclipse.org/default2/";

-		assertEquals("1.6",result2,result1);

-		

-		//****************************************************************************************

-		// 2.0

-		 result1 = UpdateManagerUtils.getURL(url2,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("2.0",result2,result1);

-		

-		// 2.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("2.1",result2,result1);

-		

-		// 2.2

-		 result1 = UpdateManagerUtils.getURL(url2,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("2.2",result2,result1);

-		

-		// 2.3

-		 result1 = UpdateManagerUtils.getURL(url2,str2,default1).toExternalForm();

-		 result2 = "file://c:/relative1/path/";

-		assertEquals("2.3",result2,result1);

-		

-		// 2.4

-		 result1 = UpdateManagerUtils.getURL(url2,str3,default1).toExternalForm();

-		 result2 = "file://c:/relative2/path";

-		assertEquals("2.4",result2,result1);

-		

-		// 2.5

-		 result1 = UpdateManagerUtils.getURL(url2,null,default1).toExternalForm();

-		 result2 = "file://c:/default1/default";

-		assertEquals("2.5",result2,result1);

-		

-		// 2.6

-		 result1 = UpdateManagerUtils.getURL(url2,null,default2).toExternalForm();

-		 result2 = "file://c:/default2/";

-		assertEquals("2.6",result2,result1);

-		

-

-		//****************************************************************************************

-		// 3.0

-		 result1 = UpdateManagerUtils.getURL(url3,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("3.0",result2,result1);

-		

-		// 3.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("3.1",result2,result1);

-		

-		// 3.2

-		 result1 = UpdateManagerUtils.getURL(url3,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("3.2",result2,result1);

-		

-		// 3.3

-		 result1 = UpdateManagerUtils.getURL(url3,str2,default1).toExternalForm();

-		 result2 = "file:/home/eclipse/relative1/path/";

-		assertEquals("3.3",result2,result1);

-		

-		// 3.4

-		 result1 = UpdateManagerUtils.getURL(url3,str3,default1).toExternalForm();

-		 result2 = "file:/home/eclipse/relative2/path";

-		assertEquals("3.4",result2,result1);

-		

-		// 3.5

-		 result1 = UpdateManagerUtils.getURL(url3,null,default1).toExternalForm();

-		 result2 = "file:/home/eclipse/default1/default";

-		assertEquals("3.5",result2,result1);

-		

-		// 3.6

-		 result1 = UpdateManagerUtils.getURL(url3,null,default2).toExternalForm();

-		 result2 = "file:/home/eclipse/default2/";

-		assertEquals("3.6",result2,result1);

-				

-		//****************************************************************************************

-		// 4.0

-		 result1 = UpdateManagerUtils.getURL(url4,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("4.0",result2,result1);

-		

-		// 4.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("4.1",result2,result1);

-		

-		// 4.2

-		 result1 = UpdateManagerUtils.getURL(url4,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("4.2",result2,result1);

-		

-		// 4.3

-		 result1 = UpdateManagerUtils.getURL(url4,str2,default1).toExternalForm();

-		 result2 = "ftp:/host:8080/path/relative1/path/";

-		assertEquals("4.3",result2,result1);

-		

-		// 4.4

-		 result1 = UpdateManagerUtils.getURL(url4,str3,default1).toExternalForm();

-		 result2 = "ftp:/host:8080/path/relative2/path";

-		assertEquals("4.4",result2,result1);

-		

-		// 4.5

-		 result1 = UpdateManagerUtils.getURL(url4,null,default1).toExternalForm();

-		 result2 = "ftp:/host:8080/path/default1/default";

-		assertEquals("4.5",result2,result1);

-		

-		// 4.6

-		 result1 = UpdateManagerUtils.getURL(url4,null,default2).toExternalForm();

-		 result2 = "ftp:/host:8080/path/default2/";

-		assertEquals("4.6",result2,result1);

-		

-		//****************************************************************************************

-		// 5.0

-		 result1 = UpdateManagerUtils.getURL(url5,str1,default1).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("5.0",result2,result1);

-		

-		// 5.1

-		 result1 = UpdateManagerUtils.getURL(null,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("5.1",result2,result1);

-		

-		// 5.2

-		 result1 = UpdateManagerUtils.getURL(url5,str1,null).toExternalForm();

-		 result2 = "http://dev.eclipse.org";

-		assertEquals("5.2",result2,result1);

-		

-		// 5.3

-		 result1 = UpdateManagerUtils.getURL(url5,str2,default1).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/relative1/path/";

-		assertEquals("5.3",result2,result1);

-		

-		// 5.4

-		 result1 = UpdateManagerUtils.getURL(url5,str3,default1).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/relative2/path";

-		assertEquals("5.4",result2,result1);

-		

-		// 5.5

-		 result1 = UpdateManagerUtils.getURL(url5,null,default1).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/default1/default";

-		assertEquals("5.5",result2,result1);

-		

-		// 5.6

-		 result1 = UpdateManagerUtils.getURL(url5,null,default2).toExternalForm();

-		 result2 = "jar:file:/tmp/100100!/default2/";

-		assertEquals("5.6",result2,result1);				

-

-	}

-	

-	

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java
deleted file mode 100644
index 6630a97..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/AllBrandingTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.branding;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-/**
- * Manages the API tests
- */
-public class AllBrandingTests extends UpdateManagerTestCase {
-	/**
-	 * Constructor
-	 */
-	public AllBrandingTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * List of API tests
-	 */
-	public static Test suite() throws Exception {
-		TestSuite suite = new TestSuite();
-		suite.setName("Branding Tests");
-
-		suite.addTest(new TestSuite(BundleProviderTest.class));	
-		suite.addTest(new TestSuite(ProductTest.class));	
-
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java
deleted file mode 100644
index 9b4b716..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/BundleProviderTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.branding;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.configurator.branding.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import org.osgi.framework.*;
-
-public class BundleProviderTest extends UpdateManagerTestCase {
-
-	public BundleProviderTest(String testcase){
-		super(testcase);
-	}
-
-	public void testMain() throws Exception {
-		
-		IBundleGroupProvider[] bundleGroupProviders = Platform.getBundleGroupProviders();
-		for (int i=0; i<bundleGroupProviders.length; i++) {
-			System.out.println("BundleGroupProvider:"+bundleGroupProviders[i].getName());
-			IBundleGroup[] bundleGroups = bundleGroupProviders[i].getBundleGroups();
-			for (int j=0; j<bundleGroups.length; j++) {
-				System.out.println("BundleGroup name:"+bundleGroups[j].getName() +"\n" +
-						"description:" + bundleGroups[j].getDescription() + "\n"+
-						"id:" + bundleGroups[j].getIdentifier() + "\n" +
-						"provider:" + bundleGroups[j].getProviderName() + "\n" +
-						"version:" + bundleGroups[j].getVersion() + "\n" +
-						"license:" + bundleGroups[j].getProperty(IBundleGroupConstants.LICENSE_HREF) + "\n" +
-						"featureImage:" + bundleGroups[j].getProperty(IBundleGroupConstants.FEATURE_IMAGE) + "\n" +
-						"tips and tricks:" + bundleGroups[j].getProperty(IBundleGroupConstants.TIPS_AND_TRICKS_HREF) + "\n" +
-						"welcomePage:" + bundleGroups[j].getProperty(IBundleGroupConstants.WELCOME_PAGE) + "\n" +
-						"welcomePerspective:" + bundleGroups[j].getProperty(IBundleGroupConstants.WELCOME_PERSPECTIVE));
-				System.out.println("bundles:");
-				Bundle[] bundles = bundleGroups[j].getBundles();
-				for (int b=0; b<bundles.length; b++)
-					System.out.println(bundles[b].getSymbolicName());
-				System.out.println();
-			}
-		}
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java
deleted file mode 100644
index 84cbe03..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/branding/ProductTest.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.branding;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.configurator.branding.*;
-import org.eclipse.update.tests.*;
-
-public class ProductTest extends UpdateManagerTestCase {
-
-	public ProductTest(String testcase){
-		super(testcase);
-	}
-
-	public void testMain() throws Exception {
-		
-		IProduct product = Platform.getProduct();
-		if (product == null)
-			System.out.println("No product defined");
-		else
-			System.out.println("Product is: \n" +
-					"name=" + product.getName() + "\n" +
-					"application=" + product.getApplication() + "\n" +
-					"description=" + product.getDescription() + "\n" +
-					"id="+ product.getId() + "\n" +
-					"about_text:"+product.getProperty(IProductConstants.ABOUT_TEXT) +"\n" +
-					"about_image:"+product.getProperty(IProductConstants.ABOUT_IMAGE) +"\n" +
-					"app_name:"+product.getProperty(IProductConstants.APP_NAME) +"\n" +
-					"window_image:"+product.getProperty(IProductConstants.WINDOW_IMAGE) +"\n" +
-					"window_images:"+product.getProperty(IProductConstants.WINDOW_IMAGES) );
-				
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
deleted file mode 100644
index 428e17b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/AllConfigurationsTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.configurations;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllConfigurationsTests extends UpdateManagerTestCase {

-public AllConfigurationsTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-//	suite.addTest(new TestSuite(TestRevert.class));

-	suite.addTest(new TestSuite(TestBackward.class));

-		

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
deleted file mode 100644
index de01aeb..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestBackward.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.configurations;

-import java.io.File;

-

-

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestBackward extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestBackward(String arg0) {

-		super(arg0);

-	}

-	

-	public void testSimpleBackward() throws Exception {

-

-		// cleanup

-		SiteLocal siteLocal = ((SiteLocal)SiteManager.getLocalSite());

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference featureRef = remoteSite.getFeatureReferences()[0];

-		

-		IInstallConfiguration oldInstallConfig = site.getCurrentConfiguration();

-		IConfiguredSite oldConfigSite = oldInstallConfig.getConfiguredSites()[0];

-		

-		((ConfiguredSite)oldConfigSite).setUpdatable(true);	

-		assertNotNull("Reference is null",featureRef);

-		remove(featureRef.getFeature(null),oldConfigSite);	

-		oldConfigSite.install(featureRef.getFeature(null),null,null);

-		site.save();

-	

-		

-		// Activity -> InstallConfig

-		IInstallConfiguration current = site.getCurrentConfiguration();

-//		IActivity activity = current.getActivities()[0];	

-//		assertTrue(activity.getInstallConfiguration().equals(current));

-		

-		// ConfigSite->InstallConfig

-		IConfiguredSite newConfigSite = current.getConfiguredSites()[0];

-		assertTrue(newConfigSite.getInstallConfiguration().equals(current));

-		

-		// cleanup

-		localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);			

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
deleted file mode 100644
index b4f5b00..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/configurations/TestRevert.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.configurations;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.model.ConfiguredSiteModel;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestRevert extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestRevert(String arg0) {

-		super(arg0);

-	}

-	

-	public void testSimpleRevertInstall() throws Exception {

-

-		// cleanup

-		SiteLocal siteLocal = ((SiteLocal)SiteManager.getLocalSite());

-		File localFile = new File(siteLocal.getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference featureRef = remoteSite.getFeatureReferences()[0];

-		IFeatureReference featureRef2 = remoteSite.getFeatureReferences()[1];

-		IFeature feature = featureRef.getFeature(null);

-		

-		// old config, no features installed

-		IInstallConfiguration old = site.getCurrentConfiguration();

-		ConfigurationPolicy excludepolicy = new ConfigurationPolicy();

-		excludepolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_EXCLUDE);

-		IConfiguredSite oldConfigSite = old.getConfiguredSites()[0];

-		excludepolicy.setConfiguredSiteModel((ConfiguredSiteModel)oldConfigSite);		

-		((ConfiguredSiteModel)oldConfigSite).setConfigurationPolicyModel(excludepolicy);

-		

-		// install one feature

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		if (!configSite.getSite().equals(oldConfigSite.getSite())) fail("Config sites are not equals");

-		site.addConfiguration(newConfig);	

-		

-		((ConfiguredSite)configSite).setUpdatable(true);			

-		IFeatureReference installedFeature = configSite.install(feature,null,null);

-		site.save();

-

-		// unconfigure it

-		configSite.unconfigure(installedFeature.getFeature(null));

-

-		// install another feature

-		IFeature feature2 = featureRef2.getFeature(null);

-		IInstallConfiguration newConfig2 = site.cloneCurrentConfiguration();

-		IConfiguredSite anotherConfigSite = newConfig2.getConfiguredSites()[0];

-		if (!anotherConfigSite.getSite().equals(oldConfigSite.getSite())) fail("Config sites are not equals");		

-		site.addConfiguration(newConfig2);		

-		anotherConfigSite.install(feature2,null,null);

-		site.save();

-

-		// revert to old state where no feature where configured

-		site.revertTo(old,null,null);

-		site.save();

-		

-		// check

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		File file = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		

-		//find configured site

-		IConfiguredSite newConfigSite = null;

-		IConfiguredSite[] sites = site.getCurrentConfiguration().getConfiguredSites();

-		for (int i = 0; i < sites.length; i++) {

-			if (sites[i].getSite().equals(oldConfigSite.getSite())){

-				 newConfigSite = sites[i];

-				 break;

-			}

-		}

-		if (newConfigSite==null) fail("Cannot find configuration site");

-

-		int oldNumber = oldConfigSite.getConfiguredFeatures().length;

-		int newNumber = newConfigSite.getConfiguredFeatures().length;

-		

-		//

-		IFeatureReference[] configFeatures = newConfigSite.getConfiguredFeatures();

-		for (int i = 0; i < configFeatures.length; i++) {

-			System.out.println(configFeatures[i]);

-		}		

-		assertTrue("Wrong number of configured features old:"+oldNumber+" new:"+newNumber,oldNumber==newNumber);

-		

-		// test only 2 install config in local site

-		int newNumberUnconfiguredFeatures = ((ConfiguredSite)newConfigSite).getConfigurationPolicy().getUnconfiguredFeatures().length;

-		int oldNumberUnconfiguredFeatures = ((ConfiguredSite)oldConfigSite).getConfigurationPolicy().getUnconfiguredFeatures().length;		

-		assertEquals("wrong number of unconfigured features",oldNumberUnconfiguredFeatures+2,newNumberUnconfiguredFeatures);

-		

-		// cleanup

-		localFile = new File(siteLocal.getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);				

-		UpdateManagerUtils.removeFromFileSystem(file);	

-		time = ""+newConfig.getCreationDate().getTime();

-		file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"DefaultConfig"+time+".xml").getFile());	

-		UpdateManagerUtils.removeFromFileSystem(file);	

-		time = ""+newConfig2.getCreationDate().getTime();

-		file = new File(new URL(((SiteLocal)SiteManager.getLocalSite()).getLocationURL(),"DefaultConfig"+time+".xml").getFile());	

-		UpdateManagerUtils.removeFromFileSystem(file);	

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
deleted file mode 100644
index 697b4d1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/AllPlatformConfigurationTests.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.core.boot;

-

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-public class AllPlatformConfigurationTests

-	extends PlatformConfigurationTestCase {

-	/**

-	 * Constructor

-	 */

-	public AllPlatformConfigurationTests(String name) {

-		super(name);

-	}

-	

-	/**

-	 * List of API tests

-	 */

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("PlatformConfiguration Tests");

-

-		suite.addTest(new TestSuite(TestPlatCfgAPI.class));

-

-		return suite;

-	}

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
deleted file mode 100644
index bc46a59..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/PlatformConfigurationTestCase.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.core.boot;

-

-import java.io.File;

-import java.util.Date;

-

-import junit.framework.TestCase;

-

-public class PlatformConfigurationTestCase extends TestCase {

-	

-	protected String tempDir;

-	

-	public PlatformConfigurationTestCase(String name) {

-		super(name);

-		try {

-			init();

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-	}

-	

-	protected void init() {

-	}

-	

-	protected void setUp() {

-		// get new temp directory for testcase

-		String root = getTempDirectoryName();

-		setupDirectory(root);

-		tempDir = root;

-	}

-	

-	protected void tearDown() {

-		// cleanup testcase temp directory

-		if (tempDir != null)

-			cleanupDirectory(tempDir);

-	}

-	

-	protected String getTempDirectoryName() {

-		String tmp = System.getProperty("java.io.tmpdir");

-		if (!tmp.endsWith(File.separator))

-			tmp += File.separator;

-		return tmp+"eclipse"+File.separator+(new Date().getTime()+File.separator);

-	}

-	

-	protected void setupDirectory(String name) {

-		File dir = new File(name);

-		dir.mkdirs();

-	}

-	

-	protected void cleanupDirectory(String name) {

-		File dir = new File(name);

-		deleteDirectory(dir);

-	}

-	

-	private void deleteDirectory(File dir) {

-		File[] list = dir.listFiles();

-		if (list == null)

-			return;

-			

-		for (int i=0; i<list.length; i++) {

-			if (list[i].isDirectory()) 

-				deleteDirectory(list[i]);

-			if (!list[i].delete())

-				System.out.println("Unable to delete "+list[i].toString());

-		}

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
deleted file mode 100644
index 2a4693a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgAPI.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.core.boot;

-

-import java.io.IOException;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import junit.framework.Assert;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.configurator.IPlatformConfiguration.*;

-

-public class TestPlatCfgAPI extends PlatformConfigurationTestCase {

-			

-	public TestPlatCfgAPI(String arg0) {

-		super(arg0);

-	}

-	

-	public void testBasic() throws Exception {

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		try {

-			cfig = ConfiguratorUtils.getPlatformConfiguration(null);

-		} catch (IOException e) {

-			Assert.fail("0.0.0 "+e.toString());

-		}

-		ISiteEntry[] dflt = cfig.getConfiguredSites();

-		Assert.assertEquals("0.0.1",dflt.length,0);

-		

-		// policy tests

-		ISitePolicy p1 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, null);

-		Assert.assertEquals("1.0.0",p1.getType(),ISitePolicy.USER_INCLUDE);

-		Assert.assertEquals("1.0.1",p1.getList().length,0);

-		p1.setList(new String[] {"first"});

-		Assert.assertEquals("1.0.2",p1.getList().length,1);

-		Assert.assertEquals("1.0.3",p1.getList()[0],"first");

-		

-		ISitePolicy p2 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[0]);

-		Assert.assertEquals("1.1.0",p2.getType(),ISitePolicy.USER_EXCLUDE);

-		Assert.assertEquals("1.1.1",p2.getList().length,0);

-		p2.setList(new String[] {"first", "second"});

-		Assert.assertEquals("1.1.2",p2.getList().length,2);

-		Assert.assertEquals("1.1.3",p2.getList()[1],"second");

-		

-		// create some urls

-		URL u1 = null;

-		URL u2 = null;

-

-		URL u4 = null;

-		try {

-			u1 = new URL("file:/d:/temp_test_dummy");

-//			u2 = new URL("file://localhost/temp");

-			new URL("http://some.server/temp/");

-			u4 = new URL("http://bad.url");

-		} catch (MalformedURLException e) {

-			Assert.fail("2.0.0 unable to create URL "+e);

-		}

-				

-		// site creation tests

-		ISiteEntry s1 = cfig.createSiteEntry(u1,p2);

-		Assert.assertEquals("3.0.0",s1.getURL(),u1);

-		Assert.assertEquals("3.0.1",s1.getSitePolicy(),p2);

-		s1.setSitePolicy(p1);

-		Assert.assertEquals("3.0.2",s1.getSitePolicy(),p1);

-		

-//		ISiteEntry s2 = cfig.createSiteEntry(u2,p1);

-//		Assert.assertEquals("3.1.0",s2.getURL(),u2);

-//		Assert.assertEquals("3.1.1",s2.getSitePolicy(),p1);

-//		s2.setSitePolicy(p2);

-//		Assert.assertEquals("3.1.2",s2.getSitePolicy(),p2);

-		

-		// configure site tests

-		Assert.assertEquals("3.3.0",cfig.getConfiguredSites().length,0);

-		cfig.configureSite(s1);

-		Assert.assertEquals("3.3.1",cfig.getConfiguredSites().length,1);

-//		cfig.configureSite(s2);

-//		Assert.assertEquals("3.3.2",cfig.getConfiguredSites().length,2);

-//		

-		// lookup site tests

-		Assert.assertEquals("3.4.0",cfig.findConfiguredSite(u1),s1);

-//		Assert.assertEquals("3.4.1",cfig.findConfiguredSite(u2),s2);

-		Assert.assertNull("3.4.3",cfig.findConfiguredSite(u4));

-		

-		// unconfigure site tests

-		cfig.unconfigureSite(s1);

-		Assert.assertEquals("3.5.0",cfig.getConfiguredSites().length,0);

-		Assert.assertNull("3.5.1",cfig.findConfiguredSite(u1));		

-//		cfig.unconfigureSite(s2);

-//		Assert.assertEquals("3.5.2",cfig.getConfiguredSites().length,0);

-//		Assert.assertNull("3.5.3",cfig.findConfiguredSite(u2));	

-	}

-	

-	public void testSaveRestore() throws Exception {

-				

-		Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		try {

-			cfig = ConfiguratorUtils.getPlatformConfiguration(null);

-		} catch (IOException e) {

-			Assert.fail("0.0.0 "+e.toString());

-		}

-		ISiteEntry[] sites = cfig.getConfiguredSites();

-		Assert.assertEquals("0.0.1",sites.length,0);

-				

-		// create policies

-		ISitePolicy p1 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, null);

-		ISitePolicy p2 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[0]);		

-		ISitePolicy p3 = cfig.createSitePolicy(ISitePolicy.USER_INCLUDE, new String[] {"first"});

-		ISitePolicy p4 = cfig.createSitePolicy(ISitePolicy.USER_EXCLUDE, new String[] {"first", "second"});

-						

-		// create some urls

-		URL u1 = null;

-		URL u2 = null;

-		URL u3 = null;

-		URL u4 = null;

-

-		try {

-			u1 = new URL("file:d:/temp/");

-			u2 = new URL("file://localhost/temp/");

-			u3 = new URL("http://some.server/temp/");

-			u4 = new URL("http://another.server/temp/");

-			new URL("http://one.more.server/temp/");

-		} catch (MalformedURLException e) {

-			Assert.fail("1.0 unable to create URL "+e);

-		}

-		

-		// create and configure sites

-		ISiteEntry s1 = cfig.createSiteEntry(u1,p1);

-		cfig.configureSite(s1);

-		ISiteEntry s2 = cfig.createSiteEntry(u2,p2);

-		cfig.configureSite(s2);

-		ISiteEntry s3 = cfig.createSiteEntry(u3,p3);

-		cfig.configureSite(s3);

-		ISiteEntry s4 = cfig.createSiteEntry(u4,p4);

-		cfig.configureSite(s4);

-		sites = cfig.getConfiguredSites();

-		Assert.assertEquals("1.1",sites.length,4);

-		

-		// do save

-		try {

-			cfig.save();

-			Assert.fail("2.0 was expecting IOException");

-		} catch (IOException e) {

-		}

-		

-		URL cfigURL = null;

-		try {

-			cfigURL = new URL("file:"+tempDir+ "platform.xml");

-		} catch(MalformedURLException e) {

-			Assert.fail("2.1 unable to create URL "+e);

-		}

-		

-		try {

-			cfig.save(cfigURL);

-		} catch (IOException e) {

-			Assert.fail("2.2 "+e);

-		}

-		

-		// reload configuration	

-		try {

-			ConfiguratorUtils.getPlatformConfiguration(cfigURL);

-		} catch (IOException e) {

-			Assert.fail("2.3 "+e.toString());

-		}

-		ISiteEntry[] newSites = cfig.getConfiguredSites();

-		Assert.assertEquals("2.4",newSites.length,4);

-		

-		// check what we've got

-		Assert.assertEquals("3.0.1",sites[0].getURL(),newSites[0].getURL());

-		Assert.assertEquals("3.0.2",sites[0].getSitePolicy().getType(),newSites[0].getSitePolicy().getType());

-		Assert.assertEquals("3.0.3",sites[0].getSitePolicy().getList(),newSites[0].getSitePolicy().getList());

-		

-		Assert.assertEquals("3.1.1",sites[1].getURL(),newSites[1].getURL());

-		Assert.assertEquals("3.1.2",sites[1].getSitePolicy().getType(),newSites[1].getSitePolicy().getType());

-		Assert.assertEquals("3.1.3",sites[1].getSitePolicy().getList(),newSites[1].getSitePolicy().getList());

-		

-		Assert.assertEquals("3.2.1",sites[2].getURL(),newSites[2].getURL());

-		Assert.assertEquals("3.2.2",sites[2].getSitePolicy().getType(),newSites[2].getSitePolicy().getType());

-		Assert.assertEquals("3.2.3",sites[2].getSitePolicy().getList(),newSites[2].getSitePolicy().getList());

-		

-		Assert.assertEquals("3.3.1",sites[3].getURL(),newSites[3].getURL());

-		Assert.assertEquals("3.3.2",sites[3].getSitePolicy().getType(),newSites[3].getSitePolicy().getType());

-		Assert.assertEquals("3.3.3",sites[3].getSitePolicy().getList(),newSites[3].getSitePolicy().getList());

-		

-	}

-	

-	public void testCurrentConfiguration() throws Exception {

-				

-		Assert.assertNotNull("0.0 Unable to obtain temp directory",tempDir);

-		

-		// get new config object

-		IPlatformConfiguration cfig = null;

-		cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();

-		cfig.getPluginPath();

-		cfig.save();

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
deleted file mode 100644
index 1a16ccf..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/core/boot/TestPlatCfgDefault.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.core.boot;

-

-import org.eclipse.update.configurator.*;

-

-

-public class TestPlatCfgDefault

-	extends PlatformConfigurationTestCase {

-		

-	public TestPlatCfgDefault(String arg0) {

-		super(arg0);

-	}

-	

-	public void testInitial() throws Exception {

-		IPlatformConfiguration cfig = null;

-		cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();

-		IPlatformConfiguration.ISiteEntry se = cfig.getConfiguredSites()[0];

-		IPlatformConfiguration.ISitePolicy sp = cfig.createSitePolicy(IPlatformConfiguration.ISitePolicy.USER_EXCLUDE, new String[] {"1", "2","3","4","5","6","7","8","9","10","11","12"});

-		se.setSitePolicy(sp);

-		cfig.save();

-		System.out.println("done ...");

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
deleted file mode 100644
index 36d2a50..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTP.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.implementation;

-

-import java.io.InputStream;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureReference;

-import org.eclipse.update.core.IPluginEntry;

-import org.eclipse.update.core.IURLEntry;

-import org.eclipse.update.core.model.InstallAbortedException;

-import org.eclipse.update.internal.core.*;

-

-public class SiteFTP implements ISite {

-

-	private URL url;

-	public SiteFTP(URL url){

-		this.url = url;

-	}

-

-	/*

-	 * @see ISite#getFeatureReferences()

-	 */

-	public ISiteFeatureReference[] getFeatureReferences() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#install(IFeature, FeatureVerification verifier,IProgressMonitor)

-	 */

-	public IFeatureReference install(IFeature feature,IVerificationListener verificationListener, IProgressMonitor monitor) throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see ISite#remove(IFeature, IProgressMonitor)

-	 */

-	public void remove(IFeature feature, IProgressMonitor monitor) throws CoreException {

-	}

-

-	/*

-	 * @see ISite#addSiteChangedListener(IConfiguredSiteChangedListener)

-	 */

-	public void addSiteChangedListener(IConfiguredSiteChangedListener listener) {

-	}

-

-	/*

-	 * @see ISite#removeSiteChangedListener(IConfiguredSiteChangedListener)

-	 */

-	public void removeSiteChangedListener(IConfiguredSiteChangedListener listener) {

-	}

-

-	/*

-	 * @see ISite#getURL()

-	 */

-	public URL getURL() {

-		return url;

-	}

-

-	/*

-	 * @see ISite#getType()

-	 */

-	public String getType() {

-		return "org.eclipse.update.tests.ftp";

-	}

-

-	/*

-	 * @see ISite#getCategories()

-	 */

-	public ICategory[] getCategories() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getArchives()

-	 */

-	public IArchiveReference[] getArchives() {

-		return null;

-	}

- 

-	/*

-	 * @see ISite#addCategory(ICategory)

-	 */

-	public void addCategory(ICategory category) {

-	}

-

-	/*

-	 * @see ISite#save()

-	 */

-	public void save() throws CoreException {

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntries()

-	 */

-	public IPluginEntry[] getPluginEntries() {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntryCount()

-	 */

-	public int getPluginEntryCount() {

-		return 0;

-	}

-

-	/*

-	 * @see ISite#getDownloadSizeFor(IFeature)

-	 */

-	public long getDownloadSizeFor(IFeature feature) {

-		return 0;

-	}

-

-	/*

-	 * @see ISite#getInstallSizeFor(IFeature)

-	 */

-	public long getInstallSizeFor(IFeature feature) {

-		return 0;

-	}

-

-

-	/*

-	 * @see IPluginContainer#store(IPluginEntry, String, InputStream)

-	 */

-	public void store(IPluginEntry entry, String name, InputStream inStream) throws CoreException {

-	}

-

-	/*

-	 * @see IAdaptable#getAdapter(Class)

-	 */

-	public Object getAdapter(Class adapter) {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#remove(IPluginEntry)

-	 */

-	public void remove(IPluginEntry entry) throws CoreException {

-	}

-

-	/*

-	 * @see ISite#setSiteContentConsumer(ISiteContentConsumer)

-	 */

-	public void setSiteContentConsumer(ISiteContentConsumer contentConsumer) {

-	}

-

-	/*

-	 * @see ISite#setSiteContentProvider(ISiteContentProvider)

-	 */

-	public void setSiteContentProvider(ISiteContentProvider siteContentProvider) {

-	}

-

-	/*

-	 * @see ISite#getSiteContentProvider()

-	 */

-	public ISiteContentProvider getSiteContentProvider() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getDefaultPackagedFeatureType()

-	 */

-	public String getDefaultPackagedFeatureType() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#store(IFeature, String, InputStream, IProgressMonitor)

-	 */

-	public void store(IFeature feature, String name, InputStream inStream, IProgressMonitor monitor) throws CoreException {

-	}

-

-

-	/*

-	 * @see IPluginContainer#remove(IPluginEntry, IProgressMonitor)

-	 */

-	public void remove(IPluginEntry entry, IProgressMonitor monitor) throws CoreException {

-	}

-

-	/*

-	 * @see ISite#getCategory(String)

-	 */

-	public ICategory getCategory(String key) {

-		return null;

-	}

-

-	/*

-	 * @see ISite#createSiteContentConsumer(IFeature)

-	 */

-	public ISiteContentConsumer createSiteContentConsumer(IFeature feature) throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getFeatureReference(IFeature)

-	 */

-	public ISiteFeatureReference getFeatureReference(IFeature feature) {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getDescription()

-	 */

-	public IURLEntry getDescription() {

-		return null;

-	}

-

-	/*

-	 * @see ISite#getPluginEntriesOnlyReferencedBy(IFeature)

-	 */

-	public IPluginEntry[] getPluginEntriesOnlyReferencedBy(IFeature feature) throws CoreException {

-		return null;

-	}

-

-	/**

-	 * @see ISite#addPluginEntry(IPluginEntry)

-	 */

-	public void addPluginEntry(IPluginEntry pluginEntry) {

-	}

-

-	/**

-	 * @see org.eclipse.update.core.ISite#install(IFeature, IFeatureReference[], IVerificationListener, IProgressMonitor)

-	 */

-	public IFeatureReference install(IFeature feature, IFeatureReference[] optionalfeatures, IVerificationListener verificationListener, IProgressMonitor monitor) throws InstallAbortedException, CoreException {

-		return null;

-	}

-

-

-	public IConfiguredSite getCurrentConfiguredSite() {

-		return null;

-	}

-

-	public IFeature createFeature(String type, URL url) throws CoreException {

-		return null;

-	}

-

-	/**

-	 * @see org.eclipse.update.core.ISite#createFeature(java.lang.String, java.net.URL, org.eclipse.core.runtime.IProgressMonitor)

-	 */

-	public IFeature createFeature(String type, URL url, IProgressMonitor monitor) throws CoreException {

-		return null;

-	}

-

-

-	/**

-	 * @see org.eclipse.update.core.ISite#getRawFeatureReferences()

-	 */

-	public ISiteFeatureReference[] getRawFeatureReferences() {

-		return null;

-	}

-

-

-	/* (non-Javadoc)

-	 * @see org.eclipse.update.core.ISite#getMirrorSiteEntries()

-	 */

-	public IURLEntry[] getMirrorSiteEntries() throws CoreException {

-		return null;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
deleted file mode 100644
index 14e97c4..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/implementation/SiteFTPFactory.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.implementation;

-import java.io.IOException;

-import java.io.InputStream;

-import java.net.MalformedURLException;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.core.URLEncoder;

-

-public class SiteFTPFactory extends SiteModelFactory implements ISiteFactory {

-

-	public static final String FILE = "a/b/c/";

-

-	/*

-	 * @see ISiteFactory#createSite(URL, boolean)

-	 */

-	public ISite createSite(URL url)

-		throws CoreException, InvalidSiteTypeException {

-		ISite site = null;

-		InputStream siteStream = null;

-

-		try {

-			URL resolvedURL = URLEncoder.encode(url);

-			siteStream = resolvedURL.openStream();

-

-			SiteModelFactory factory = this;

-			factory.parseSite(siteStream);

-

-			site = new SiteFTP(new URL("http://eclipse.org/" + FILE));

-			

-		} catch (MalformedURLException e) {

-			throw Utilities.newCoreException("Unable to create URL", e);

-		} catch (IOException e) {

-			throw Utilities.newCoreException("Unable to access URL",ISite.SITE_ACCESS_EXCEPTION, e);

-		} finally {

-			try {

-				if (siteStream != null)

-					siteStream.close();

-			} catch (Exception e) {

-			}

-		}

-		return site;

-	}

-

-	/*

-	 * @see SiteModelFactory#canParseSiteType(String)

-	 */

-	public boolean canParseSiteType(String type) {

-		return "org.eclipse.update.tests.core.ftp".equalsIgnoreCase(type);

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java
deleted file mode 100644
index 2f1c866..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/AllMirrorTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.mirror;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class AllMirrorTests extends UpdateManagerTestCase {
-	
-	public AllMirrorTests(String name){
-		super(name);
-	}
-	
-	public static Test suite(){
-		TestSuite suite = new TestSuite();
-		suite.setName("Mirror Tests");
-		
-		// the following will take all the test methods in the class that starts with "test"
-		
-		suite.addTest(new TestSuite(TestRemoteFeatureVersionMirror.class));
-		suite.addTest(new TestSuite(TestRemoteEmbeddedFeatureMirror.class));
-		suite.addTest(new TestSuite(TestRemoteDoubleEmbeddedFeatureMirror.class));
-		
-		// or you can specify the method
-		//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));
-		return suite;	
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
deleted file mode 100644
index 23c17ca..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/MirrorManagerTestCase.java
+++ /dev/null
@@ -1,464 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.mirror;
-
-import java.io.*;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.core.UpdateCore;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-public class MirrorManagerTestCase extends UpdateManagerTestCase{
-	public static int exitValue=-1;
-	public static StringBuffer errOutput;
-	
-	public MirrorManagerTestCase(String arg0){
-		super(arg0);
-	}
-	
-	//WatchDog thread to kill mirroring process if it hangs (or takes too long)
-	public static class Timer extends Thread{
-		private Process proc;
-		
-		public Timer(Process proc){
-			super();
-			this.setDaemon(true);
-			this.proc = proc;
-		}
-		
-		public void run(){
-			try {
-				// Note: normal test on 2.2Ghz P4 is 2.9s 
-				//:. giving 100x leeway to complete process before killing it
-				sleep(300000); 
-				proc.destroy();
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	// structure to hold category definition names and descriptions
-	class CategoryDefinition {
-		private String name;
-		private String desc;
-		public void setName(String name) {
-			this.name = name;
-		}
-		public void setDesc(String desc) {
-			this.desc = desc;
-		}
-		public String getName() {
-			return name;
-		}
-		public String getDesc() {
-			return desc;
-		}
-	}
-	
-	// structure to hold feature IDs and their category names
-	public class FeatureCategory{
-		private String featureId;
-		private ArrayList category;
-		
-		public FeatureCategory(){
-			category = new ArrayList();
-		}
-		
-		public void setFeatureID(String fid){
-			featureId = fid;
-		}
-		
-		public void addCategory(String cat){
-			category.add(cat);
-		}
-		
-		public String getFeatureID(){
-			return featureId;
-		}
-		
-		public String[] getCategories(){
-			return (String[])category.toArray(new String[category.size()]);
-		}
-	}
-	
-	// StreamConsumer to display output to output files or console
-	public static class StreamConsumer extends Thread {
-		private BufferedReader bReader;
-
-		public StreamConsumer(InputStream inputStream) {
-			super();
-			setDaemon(true);
-			bReader = new BufferedReader(new InputStreamReader(inputStream));
-		}
-
-		public void run() {
-			try {
-				String line;
-				while (null != (line = bReader.readLine())) {
-					System.out.println(line);
-					errOutput.append(line);
-					errOutput.append("\n");
-				}
-			} catch (IOException e) {
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	/**
-	 * Returns a string array consisting of commands and their arguments to
-	 * be run.
-	 * @param remoteLoc - path of remote site (site being mirrored)
-	 * @param toLocalSiteUrl - path of local site (new mirror site)
-	 * @param fid - feature id of featuring being mirror (optional - can be null)
-	 * @param ver - version of feature to be mirrored (optional - can be null)
-	 * @param mirUrl - directory location of policy.xml (optional - can be mull)
-	 * @return
-	 */
-	public String[] getCommand(
-		String remoteLoc,
-		String toLocalSiteUrl,
-		String fid,
-		String ver,
-		String mirUrl) {
-		final String classpath = "startup.jar";
-		final String launcher = "org.eclipse.core.launcher.Main";
-		final String command = "mirror";
-		final String application = "org.eclipse.update.core.standaloneUpdate";
-		final String FLAG_CP = "-cp";
-		final String FLAG_APP = "-application";
-		final String FLAG_CMD = "-command";
-		final String FLAG_FID = "-featureId";
-		final String FLAG_DATA = "-data";
-		final String FLAG_VERSION = "-version";
-		final String FLAG_FROM = "-from";
-		final String FLAG_TO = "-to";
-		final String FLAG_URL = "-mirrorURL";
-		final String FLAG_SPLASH = "-nosplash";
-		final String FLAG_CONSOLELOG = "-consolelog";
-		final String data =
-			UpdateCore.getPlugin().getStateLocation().toOSString();
-		String[] cmd =
-			new String[] {
-				getJavaVMPath(),
-				FLAG_CP,
-				classpath,
-				launcher,
-				FLAG_APP,
-				application,
-				FLAG_CMD,
-				command,
-				FLAG_FROM,
-				(remoteLoc !=null ? remoteLoc : ""),
-				FLAG_TO,
-				toLocalSiteUrl,
-				(fid != null ? FLAG_FID : ""),
-				(fid != null ? fid : ""),
-				(ver != null ? FLAG_VERSION : ""),
-				(ver != null ? ver : ""),
-				(mirUrl != null ? FLAG_URL : ""),
-				(mirUrl != null ? mirUrl : ""),
-				FLAG_SPLASH,
-				FLAG_DATA,
-				data,
-				FLAG_CONSOLELOG};
-		return cmd;
-	}
-	
-	public boolean checkFeatureInSiteXMLExists(String url, String fid, String ver){
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-		String jarName = fid + "_" + ver + ".jar";
-		String feature = "<feature url=\"" +
-			"features/" + jarName + 
-			"\" id=\"" + fid + 
-			"\" version=\"" + ver+"\">";
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return false;
-		}
-		try {
-			while ((text = breader.readLine()) != null) {
-				text = text.trim();
-				if (text.equals(feature)){
-					breader.close();
-					freader.close();
-					return true;
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return false;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		}
-	}
-
-	public void checkSiteXML(String url) throws Exception {
-		File mirror = new File(url);
-		File site = new File(url + "/site.xml");
-		assertTrue(mirror.isDirectory());
-		assertTrue(mirror.exists());
-		assertTrue(site.exists());
-	}
-
-	public void checkPolicyXML(String url) throws Exception {
-		File mirror = new File(url);
-		File site = new File(url + "/policy.xml");
-		assertTrue(mirror.isDirectory());
-		assertTrue(mirror.exists());
-		assertTrue(site.exists());
-	}
-	public boolean checkPolicyURL(String url, String mirrorUrl){
-		File site = new File(url + "/policy.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return false;
-		}
-
-		try {
-			while ((text = breader.readLine()) != null) {
-				if (text.indexOf(mirrorUrl)!=-1){
-					breader.close();
-					freader.close();	
-					return true;
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return false;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		}
-	}
-
-	public boolean doesCategoryDefinitionExist(String url) {
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return false;
-		}
-
-		try {
-			while ((text = breader.readLine()) != null) {
-				if (text.indexOf("category-def")!=-1)
-					return true;
-			}
-
-			breader.close();
-			freader.close();
-			return false;
-		} catch (IOException e) {
-			e.printStackTrace();
-			return false;
-		}
-
-	}
-	
-	public String getEclipseRoot() {
-		return ConfiguratorUtils.getInstallURL().toExternalForm().replaceFirst(
-			"file:",
-			"");
-	}
-	
-	public FeatureCategory[] getFeatureCategories(String url){
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-		ArrayList featureCategories = new ArrayList();
-		
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return new FeatureCategory[0];
-		}
-
-		try {
-			FeatureCategory currTok = new FeatureCategory();
-			boolean add = false;
-			while((text =breader.readLine())!=null){
-				StringTokenizer strTok = new StringTokenizer(text);
-				while (strTok.hasMoreTokens()){
-					String temp = strTok.nextToken();
-					if (temp.equals("</feature>")){
-						add = true;
-					} else if (temp.startsWith("id")){
-						currTok.setFeatureID(temp.split("\"")[1]);
-					} else if (temp.startsWith("name")){
-						currTok.addCategory(temp.split("\"")[1]);
-					}
-				}
-				if (add){
-					featureCategories.add(currTok);
-					currTok = new FeatureCategory();
-					add = false;
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return (FeatureCategory[])featureCategories.toArray(new FeatureCategory[featureCategories.size()]);
-		} catch (IOException e) {
-			System.err.println(e);
-			return new FeatureCategory[0];
-		}
-	}
-	
-	public String getJavaVMPath() {
-		// Create command string for launching the process
-		String vm = System.getProperty("java.vm.name");
-		String executable = "J9".equals(vm) ? "j9" : "java";
-		if (org.eclipse.osgi.service.environment.Constants.OS_WIN32.equals(Platform.getOS()))
-			executable += "w.exe";
-
-		String javaInstallDir =
-			System.getProperty("java.home") + File.separator + "bin";
-		return javaInstallDir + File.separator + executable;
-	}
-	
-	public CategoryDefinition[] getCategoryDefinitions(String url) {
-		File site = new File(url + "/site.xml");
-		assertTrue(site.exists());
-		BufferedReader breader;
-		FileReader freader;
-		String text = new String();
-		ArrayList catDef = new ArrayList();
-
-		try {
-			freader = new FileReader(site);
-			breader = new BufferedReader(freader);
-		} catch (FileNotFoundException e) {
-			// would have been caught by assert above
-			return new CategoryDefinition[0];
-		}
-
-		try {
-			boolean add = false;
-			boolean isDesc = false;
-			CategoryDefinition temp = new CategoryDefinition();
-			while ((text = breader.readLine()) != null) {
-				if (text.trim().startsWith("<category-def")
-					&& text.indexOf("name") != -1) {
-					temp.setName(text.split("\"")[1]);
-					add = false;
-				} else if (text.trim().equals("<description>")) {
-					isDesc = true;
-				} else if (text.trim().equals("</description>")) {
-					isDesc = false;
-				} else if (isDesc) {
-					temp.setDesc(text.trim());
-				} else if (text.trim().equals("</category-def>")) {
-					add = true;
-				}
-				if (add) {
-					catDef.add(temp);
-					add = false;
-					temp = new CategoryDefinition();
-				}
-			}
-
-			breader.close();
-			freader.close();
-			return (CategoryDefinition[])catDef.toArray(new CategoryDefinition[catDef.size()]);
-		} catch (IOException e) {
-			System.err.println(e);
-			return new CategoryDefinition[0];
-		}
-
-	}
-	
-	public int performMirror(String[] cmd_mirror) {
-		File file = new File(getEclipseRoot());
-		try {
-			System.out.println("Launching:");
-			for(int i=0; i<cmd_mirror.length; i++){
-				System.out.print(cmd_mirror[i]+" ");
-			}
-			System.out.println();
-			Process proc =
-				Runtime.getRuntime().exec(cmd_mirror, (String[]) null, file);
-
-			StreamConsumer outputs = new StreamConsumer(proc.getInputStream());
-			outputs.start();
-			StreamConsumer errors = new StreamConsumer(proc.getErrorStream());
-			errors.start();
-			Timer timer = new Timer(proc);
-			timer.start();
-
-			return proc.waitFor();
-		} catch (IOException e) {
-			System.err.println(e);
-		} catch (InterruptedException e) {
-			System.err.println(e);
-		} catch (Exception e) {
-			System.err.println(e);
-		}
-		return -1;
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		assertEquals(exitValue, 0);
-	}
-	
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		StringTokenizer tokenizer =
-			new StringTokenizer(
-				errOutput.toString(),
-				"\n");
-		String lastLine = new String();
-		while (tokenizer.hasMoreTokens()){
-			lastLine = tokenizer.nextToken();
-		}
-		assertTrue(
-			lastLine.equals("Mirror command completed successfully.")
-				|| lastLine.equals("Command completed successfully."));
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
deleted file mode 100644
index 4b47062..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteDoubleEmbeddedFeatureMirror.java
+++ /dev/null
@@ -1,215 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.mirror;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestRemoteDoubleEmbeddedFeatureMirror extends MirrorManagerTestCase {
-	private static boolean isMirrored;
-
-	public TestRemoteDoubleEmbeddedFeatureMirror(String arg0) {
-		super(arg0);
-		errOutput = new StringBuffer();
-		isMirrored = false;
-	}
-
-	public void umSetUp() {
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		// first mirror
-		String fromRemoteSiteUrl =
-			"file:"
-				+ dataPath
-				+ "mirrors/update-site1";
-		if (!isMirrored) {
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, null, null, mirrorURL));
-		
-		// end of first mirror
-		fromRemoteSiteUrl =
-			"file:"
-			+ dataPath
-			+ "mirrors/update-site5";
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
-			isMirrored = true;
-		}
-	}
-
-	// make sure each feature is under its correct category names
-	public void testFeatureCategories() throws Exception{
-		String fromRemoteSiteUrl =
-		        dataPath
-				+ "mirrors/update-site5";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		FeatureCategory[] mirrorFeatures = getFeatureCategories(toLocalSiteUrl);
-		FeatureCategory[] required = new FeatureCategory[1];
-		required[0] = new FeatureCategory();
-		required[0].setFeatureID("update.feature1c");
-		required[0].addCategory("Site5-Category1");
-		assertTrue(checkFeatureCategoriesContained(required, mirrorFeatures));
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		super.testExitValue();
-	}
-	
-	// ensure category definitions exist
-	public void testCategoryDefinitionsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		assertTrue(doesCategoryDefinitionExist(toLocalSiteUrl));
-	}
-
-	// ensure feature exists per site.xml
-	public void testFeatureInSiteXMLExists() {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		assertTrue(
-			checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
-	}
-
-	// ensure site.xml is generated
-	public void testSiteXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		checkSiteXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml is generated
-	public void testPolicyXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		checkPolicyXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml references the correct mirrorURL
-	public void testPolicyURL() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		assertTrue(checkPolicyURL(toLocalSiteUrl, mirrorURL));
-	}
-
-	// ensure all jars in features directory mirrored
-	public void testAllFeatureJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String[] featureJars = { "update.feature1b_2.0.0.jar" };
-		assertTrue(checkAllFeatureJars(toLocalSiteUrl, featureJars));
-	}
-
-	// ensure all jars in plugins directory mirrored
-	public void testAllPluginJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteDoubleEmbeddedFeatureMirror";
-		String[] pluginJars =
-			{ "com.plugin1_1.0.0.jar", "com.plugin1a_1.0.1.jar" };
-		assertTrue(checkAllPluginJars(toLocalSiteUrl, pluginJars));
-	}
-
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		super.testMirrorSuccess();
-	}
-	
-	public boolean checkAllFeatureJars(String url, String[] jarNames) {
-		File featuresDir = new File(url + "/features");
-		assertTrue(featuresDir.exists());
-		assertTrue(featuresDir.isDirectory());
-		String[] list = featuresDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkAllPluginJars(String url, String[] jarNames) {
-		File pluginsDir = new File(url + "/plugins");
-		assertTrue(pluginsDir.exists());
-		assertTrue(pluginsDir.isDirectory());
-		String[] list = pluginsDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkFeatureCategoriesContained(FeatureCategory[] required,FeatureCategory[] localDefs){
-		boolean hasMatch;
-		for (int i = 0 ; i<required.length; i++){
-			hasMatch = false;
-			for (int j = 0; j<localDefs.length; j++){
-				if (localDefs[j].getFeatureID().equals(required[i].getFeatureID()) &&
-					checkCategoriesMatch(localDefs[j].getCategories(), required[i].getCategories())){
-						hasMatch = true;
-						j=localDefs.length;
-				}
-			}
-			if (!hasMatch)
-				return false;
-		}
-		return true;
-	}
-	
-	public boolean checkCategoriesMatch(String[] localCat, String[] remoteCat){
-		boolean hasMatch;
-		for (int i = 0; i<localCat.length; i++){
-			hasMatch = false;
-			for (int j = 0; j<remoteCat.length; i++){
-				if (localCat[i].equals(remoteCat[j])){
-					hasMatch = true;
-					j=remoteCat.length;
-				}
-			}
-			if(!hasMatch)
-				return false;
-		}
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
deleted file mode 100644
index 7684753..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteEmbeddedFeatureMirror.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.mirror;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestRemoteEmbeddedFeatureMirror extends MirrorManagerTestCase {
-	private static boolean isMirrored;
-
-	public TestRemoteEmbeddedFeatureMirror(String arg0) {
-		super(arg0);
-		errOutput = new StringBuffer();
-		isMirrored = false;
-	}
-
-	public void umSetUp() {
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		String fromRemoteSiteUrl =
-				"file:"
-				+ dataPath
-				+ "mirrors/update-site4";
-		if (!isMirrored) {
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
-			isMirrored = true;
-		}
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		super.testExitValue();
-	}
-
-	// ensure all category definitions exist
-	public void testCategoryDefinitionsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		assertTrue(doesCategoryDefinitionExist(toLocalSiteUrl));
-	}
-
-	public void testFeatureInSiteXMLExists() {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String featureId = "update.feature1c";
-		String version = "3.0.0";
-		assertTrue(
-			checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
-	}
-
-	// ensure site.xml is generated
-	public void testSiteXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		checkSiteXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml is generated
-	public void testPolicyXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		checkPolicyXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml uses the correct mirrorURL
-	public void testPolicyURL() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		assertTrue(checkPolicyURL(toLocalSiteUrl, mirrorURL));
-	}
-
-	// ensure all jars in features directory mirrored
-	public void testAllFeatureJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String[] featureJars = { "update.feature1_1.0.0.jar", "update.feature1_1.0.1.jar", "update.feature1b_2.0.0.jar", "update.feature1c_3.0.0.jar" };
-		assertTrue(checkAllFeatureJars(toLocalSiteUrl, featureJars));
-	}
-
-	// ensure all jars in plugins directory mirrored
-	public void testAllPluginJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String[] pluginJars =
-			{ "com.plugin1_1.0.0.jar", "com.plugin1a_1.0.1.jar" };
-		assertTrue(checkAllPluginJars(toLocalSiteUrl, pluginJars));
-	}
-
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		super.testMirrorSuccess();
-	}
-
-	public boolean checkAllFeatureJars(String url, String[] jarNames) {
-		File featuresDir = new File(url + "/features");
-		assertTrue(featuresDir.exists());
-		assertTrue(featuresDir.isDirectory());
-		String[] list = featuresDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		assertEquals(list.length, jarNames.length);
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkAllPluginJars(String url, String[] jarNames) {
-		File pluginsDir = new File(url + "/plugins");
-		assertTrue(pluginsDir.exists());
-		assertTrue(pluginsDir.isDirectory());
-		String[] list = pluginsDir.list();
-
-		ArrayList ls = new ArrayList();
-		for (int i = 0; i < list.length; i++) {
-			ls.add(list[i]);
-		}
-
-		assertEquals(list.length, jarNames.length);
-		for (int j = 0; j < jarNames.length; j++) {
-			assertTrue(ls.contains(jarNames[j]));
-		}
-		return true;
-	}
-
-	public boolean checkCategoryDefinitionsContained(CategoryDefinition[] localDefs, CategoryDefinition[] remoteDefs){
-		boolean hasMatch;
-		for (int i = 0 ; i<localDefs.length; i++){
-			hasMatch = false;
-			for (int j = 0; j<remoteDefs.length; j++){
-				if (localDefs[i].getName().equals(remoteDefs[j].getName())
-						&& localDefs[i].getDesc().equals(remoteDefs[j].getDesc()))
-					hasMatch = true;
-			}
-			if (!hasMatch)
-				return false;
-		}
-		return true;
-	}
-	
-
-
-	// start testing category definitions
-	public void testCategoryDefinitions() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteEmbeddedFeatureMirror";
-		String fromRemoteSiteUrl =
-		        dataPath
-				+ "mirrors/update-site4";
-		CategoryDefinition[] localDefs = getCategoryDefinitions(toLocalSiteUrl);
-		CategoryDefinition[] remoteDefs = getCategoryDefinitions(fromRemoteSiteUrl);
-		assertTrue(checkCategoryDefinitionsContained(localDefs, remoteDefs));
-	}
-
-
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java
deleted file mode 100644
index dd4ce98..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/mirror/TestRemoteFeatureVersionMirror.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.mirror;
-
-import java.io.File;
-
-import org.eclipse.update.tests.UpdateTestsPlugin;
-
-public class TestRemoteFeatureVersionMirror extends MirrorManagerTestCase {
-	private static boolean isMirrored;
-	
-	public TestRemoteFeatureVersionMirror(String arg0) {
-		super(arg0);
-		errOutput = new StringBuffer();
-		isMirrored = false;
-	}
-
-	public void umSetUp() {
-		String featureId = "update.feature1";
-		String version = "1.0.0";
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		String fromRemoteSiteUrl = "file:" + dataPath + "mirrors/update-site1";
-		if (!isMirrored) {
-			exitValue =
-				performMirror(
-					getCommand(fromRemoteSiteUrl,toLocalSiteUrl, featureId, version, mirrorURL));
-			isMirrored = true;
-		}
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		super.testExitValue();
-	}
-
-	// ensure all category definitions exist
-	public void testCategoryDefinitionsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		assertTrue(doesCategoryDefinitionExist(toLocalSiteUrl));
-	}
-
-	// ensure feature exists per site.xml
-	public void testFeatureInSiteXMLExists(){
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String featureId = "update.feature1";
-		String version = "1.0.0";
-		assertTrue(checkFeatureInSiteXMLExists(toLocalSiteUrl, featureId, version));
-	}
-	
-	// ensure site.xml is generated
-	public void testSiteXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		checkSiteXML(toLocalSiteUrl);
-	}
-
-	// ensure policy.xml is generated
-	public void testPolicyXMLExists() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		checkPolicyXML(toLocalSiteUrl);
-	}
-	
-	// ensure policy.xml uses the correct mirrorURL
-	public void testPolicyURL() throws Exception{
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String mirrorURL = "http://update.eclipse.org/my-mirror-url";
-		assertTrue(checkPolicyURL(toLocalSiteUrl, mirrorURL));
-	}
-
-	// ensure all jars for features and plugins mirrored
-	public void testAllJarsExist() throws Exception {
-		String toLocalSiteUrl =
-			UpdateTestsPlugin.getPlugin().getStateLocation()
-				+ "/temp/testRemoteFeatureVersionMirror";
-		String featureId = "update.feature1";
-		String version = "1.0.0";
-		String jarName = featureId + "_" + version + ".jar";
-		File file = new File(toLocalSiteUrl + "/features/" + jarName);
-		assertTrue(file.exists());
-	}
-
-	// ensure output string buffer ends with "Mirror command completed
-	// successfully."
-	// note: output may instead by "Command completed successfully."
-	public void testMirrorSuccess() throws Exception {
-		super.testMirrorSuccess();
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
deleted file mode 100644
index 0f464fd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/AllModelTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.model;

-import junit.framework.Test;

-import junit.framework.TestSuite;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-/**

- * Manages the API tests

- */

-public class AllModelTests extends UpdateManagerTestCase {

-	/**

-	 * Constructor

-	 */

-	public AllModelTests(String name) {

-		super(name);

-	}

-	

-	/**

-	 * List of API tests

-	 */

-	public static Test suite() throws Exception {

-		TestSuite suite = new TestSuite();

-		suite.setName("Model Tests");

-

-		suite.addTest(new TestSuite(FeatureMain.class));

-		suite.addTest(new TestSuite(SiteMain.class));		

-

-		return suite;

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
deleted file mode 100644
index 241450a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/FeatureMain.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.model;

-

-import java.io.*;

-import java.net.URL;

-import java.util.ResourceBundle;

-

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class FeatureMain extends UpdateManagerTestCase {

-

-	public FeatureMain(String testcase){

-		super(testcase);

-	}

-

-	public void testMain() throws Exception {

-		

-		FeatureModelFactory factory = new FeatureModelFactory();

-		InputStream is = null;

-		FeatureModel feature = null;

-		

-		System.out.println("Parsing feature ...");

-		try {

-			is = FeatureMain.class.getResourceAsStream("feature.xml");		

-			feature = factory.parseFeature(is);

-		} finally {

-			if (is != null) {

-				try { is.close();} catch(IOException e) {}

-			}

-		}

-		

-		String base = "http://another.server/feature.xml";

-		System.out.println("Resolving feature using "+base+" ...");

-		ResourceBundle bundle = null;

-		bundle = ResourceBundle.getBundle("org/eclipse/update/tests/model/test");

-		feature.resolve(new URL(base), new URL(base));

-	}

-	

-//	private static void writeFeature(PrintWriter w, int level, FeatureModel feature) {

-//		if (feature == null) return;

-//		

-//		String in = getIndent(level);

-//		w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

-//		

-//		w.println(in+"<feature");

-//		w.println(in+"   "+"id=\""+feature.getFeatureIdentifier()+"\"");

-//		w.println(in+"   "+"version=\""+feature.getFeatureVersion()+"\"");

-//		w.println(in+"   "+"label=\""+feature.getLabel()+"\"");

-//		w.println(in+"   "+"provider-name=\""+feature.getProvider()+"\"");

-//		w.println(in+"   "+"image=\""+feature.getImageURLString()+"\" -> "+feature.getImageURL());

-//		w.println(in+"   "+"os=\""+feature.getOS()+"\"");

-//		w.println(in+"   "+"ws=\""+feature.getWS()+"\"");

-//		w.println(in+"   "+"nl=\""+feature.getNL()+"\"");

-//		w.println(in+"   "+"application=\""+feature.getApplication()+"\"");

-//		w.println(in+"   "+">");

-//		

-//		writeDescription(w, level+1, feature.getDescriptionModel());

-//		writeCopyright(w, level+1, feature.getCopyrightModel());

-//		writeLicense(w, level+1, feature.getLicenseModel());

-//		writeURLs(w, level+1, feature);

-//		writePrereqs(w, level+1, feature);

-//		writePluginEntries(w, level+1, feature);

-//		writeNonPluginEntries(w, level+1, feature);

-//		         

-//        w.println(in+"</feature>");

-//	}

-//	

-//	private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) {

-//		String in = getIndent(level);

-//		w.println("");

-//		w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-//		w.println(in+ue.getAnnotation());

-//		w.println(in+"</description>");

-//	}

-//	

-//	private static void writeCopyright(PrintWriter w, int level, URLEntryModel ue) {

-//		String in = getIndent(level);

-//		w.println("");

-//		w.println(in+"<copyright url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-//		w.println(in+ue.getAnnotation());

-//		w.println(in+"</copyright>");

-//	}

-//	

-//	private static void writeLicense(PrintWriter w, int level, URLEntryModel ue) {

-//		String in = getIndent(level);

-//		w.println("");

-//		w.println(in+"<license url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-//		w.println(in+ue.getAnnotation());

-//		w.println(in+"</license>");

-//	}

-//	

-//	private static void writeURLs(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		String in2 = getIndent(level+1);

-//		w.println("");

-//		w.println(in+"<url>");

-//		

-//		URLEntryModel update = feature.getUpdateSiteEntryModel();

-//		w.println(in2+"<update");

-//		w.println(in2+"   "+"url=\""+update.getURLString()+"\" -> "+update.getURL());

-//		w.println(in2+"   "+"label=\""+update.getAnnotation()+"\"");

-//		w.println(in2+"   "+"/>");

-//		

-//		URLEntryModel[] discovery = feature.getDiscoverySiteEntryModels();

-//		for (int i=0; i<discovery.length; i++) {

-//			w.println(in2+"<discovery");

-//			w.println(in2+"   "+"url=\""+discovery[i].getURLString()+"\" -> "+discovery[i].getURL());

-//			w.println(in2+"   "+"label=\""+discovery[i].getAnnotation()+"\"");

-//			w.println(in2+"   "+"/>");

-//		}

-//		

-//		w.println(in+"</url>");

-//	}

-//	

-//	private static void writePrereqs(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		String in2 = getIndent(level+1);

-//		w.println("");

-//		w.println(in+"<requires>");

-//		

-//		ImportModel[] imp = feature.getImportModels();

-//		for (int i=0; i<imp.length; i++) {

-//			w.println(in2+"<import");

-//			w.println(in2+"   "+"plugin=\""+imp[i].getIdentifier()+"\"");

-//			w.println(in2+"   "+"version=\""+imp[i].getVersion()+"\"");

-//			w.println(in2+"   "+"match=\""+imp[i].getMatchingRuleName()+"\"");

-//			w.println(in2+"   "+"/>");

-//		}

-//		

-//		w.println(in+"</requires>");

-//	}

-//	

-//	private static void writePluginEntries(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		w.println("");

-//		

-//		PluginEntryModel[] plugin = feature.getPluginEntryModels();

-//		for (int i=0; i<plugin.length; i++) {

-//			w.println(in+"<plugin");

-//			w.println(in+"   "+"id=\""+plugin[i].getPluginIdentifier()+"\"");

-//			w.println(in+"   "+"version=\""+plugin[i].getPluginVersion()+"\"");

-//			w.println(in+"   "+"fragment=\""+plugin[i].isFragment()+"\"");

-//			w.println(in+"   "+"os=\""+plugin[i].getOS()+"\"");

-//			w.println(in+"   "+"ws=\""+plugin[i].getWS()+"\"");

-//			w.println(in+"   "+"nl=\""+plugin[i].getNL()+"\"");

-//			w.println(in+"   "+"download-size=\""+plugin[i].getDownloadSize()+"\"");

-//			w.println(in+"   "+"install-size=\""+plugin[i].getInstallSize()+"\"");

-//			w.println(in+"   "+"/>");

-//		}

-//	}

-//	

-//	private static void writeNonPluginEntries(PrintWriter w, int level, FeatureModel feature) {

-//		String in = getIndent(level);

-//		w.println("");

-//		

-//		NonPluginEntryModel[] data = feature.getNonPluginEntryModels();

-//		for (int i=0; i<data.length; i++) {

-//			w.println(in+"<data");

-//			w.println(in+"   "+"id=\""+data[i].getIdentifier()+"\"");

-//			w.println(in+"   "+"download-size=\""+data[i].getDownloadSize()+"\"");

-//			w.println(in+"   "+"install-size=\""+data[i].getInstallSize()+"\"");

-//			w.println(in+"   "+"/>");

-//		}

-//	}

-//	

-//	

-//	private static String getIndent(int level) {

-//		String indent = "";

-//		for (int i=0; i<level; i++) 

-//			indent += "   ";

-//		return indent;

-//	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
deleted file mode 100644
index c760cd1..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/SiteMain.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.model;

-

-import java.io.*;

-import java.net.URL;

-

-import org.eclipse.update.core.SiteFeatureReferenceModel;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class SiteMain extends UpdateManagerTestCase {

-	

-	public SiteMain(String name){

-		super(name);

-	}

-

-	public void testMain() throws Exception {

-		

-		StringWriter strWriter=new StringWriter();

-		PrintWriter w = new PrintWriter(strWriter);

-

-		process("site_old_format.xml",w);

-		process("site.xml",w);

-		try {

-			process("site_with_type.xml",w);

-			fail("InvalidSiteTypeException not thrown");

-		} catch (InvalidSiteTypeException e) {

-			assertEquals(e.getNewType(),"some.other.site.type");

-		} finally {

-			System.out.println(strWriter);

-			w.close();

-		}

-	}

-	

-	private static void process(String xml, PrintWriter w) throws Exception {

-		

-		SiteModelFactory factory = new SiteModelFactory();

-		InputStream is = null;

-		SiteModel site = null;

-		

-		w.println("");

-		w.println("Parsing site map ...");

-		try {

-			is = SiteMain.class.getResourceAsStream(xml);		

-			site = factory.parseSite(is);

-		}  finally {

-			if (is != null) {

-				try { is.close();} catch(IOException e) {}

-			}

-		}

-		

-		if (site == null) return;

-		

-		String base = "http://another.server/site.xml";

-		w.println("Resolving site using "+base+" ...");

-		site.resolve(new URL(base), null);

-		

-		w.println("Writing site ...");

-		writeSite(w,0,site);

-	}

-	

-	private static void writeSite(PrintWriter w, int level, SiteModel site) {

-		if (site == null) return;

-		

-		String in = getIndent(level);

-		w.println(in+"<?xml version=\"1.0\" encoding=\"UTF-8\"?>");

-		

-		w.println(in+"<site");

-		w.println(in+"   "+"type=\""+site.getType()+"\"");

-		w.println(in+"   "+">");

-		

-		writeDescription(w, level+1, site.getDescriptionModel());

-		writeFeatures(w, level+1, site);

-		writeArchives(w, level+1, site);

-		writeCategoryDefs(w, level+1, site);

-         

-        w.println(in+"</feature>");

-	}

-	

-	private static void writeDescription(PrintWriter w, int level, URLEntryModel ue) {

-		if (ue == null) return;

-		String in = getIndent(level);

-		w.println("");

-		w.println(in+"<description url=\""+ue.getURLString()+"\" -> "+ue.getURL()+">");

-		w.println(in+ue.getAnnotation());

-		w.println(in+"</description>");

-	}

-	

-	private static void writeFeatures(PrintWriter w, int level, SiteModel site) {

-		String in = getIndent(level);

-		getIndent(level+1);

-		w.println("");

-		

-		SiteFeatureReferenceModel[] features = site.getFeatureReferenceModels();

-		for (int i=0; i<features.length; i++) {

-			w.println(in+"<feature");

-			w.println(in+"   "+"type=\""+features[i].getType()+"\"");

-			w.println(in+"   "+"url=\""+features[i].getURLString()+"\" -> "+features[i].getURL());

-			w.println(in+"   "+">");

-			writeCategories(w, level+1, features[i]);

-			w.println(in+"</feature>");

-		}

-	}

-	

-	private static void writeArchives(PrintWriter w, int level, SiteModel site) {

-		String in = getIndent(level);

-		w.println("");

-		

-		ArchiveReferenceModel[] archive = site.getArchiveReferenceModels();

-		for (int i=0; i<archive.length; i++) {

-			w.println(in+"<archive");

-			w.println(in+"   "+"path=\""+archive[i].getPath()+"\"");

-			w.println(in+"   "+"url=\""+archive[i].getURLString()+"\" -> "+archive[i].getURL());

-			w.println(in+"   "+"/>");

-		}

-	}

-	

-	private static void writeCategoryDefs(PrintWriter w, int level, SiteModel site) {

-		String in = getIndent(level);

-		getIndent(level+1);

-		w.println("");

-		

-		CategoryModel[] cat = site.getCategoryModels();

-		for (int i=0; i<cat.length; i++) {

-			w.println(in+"<category-def");

-			w.println(in+"   "+"name=\""+cat[i].getName()+"\"");

-			w.println(in+"   "+"label=\""+cat[i].getLabel()+"\"");

-			w.println(in+"   "+">");

-			writeDescription(w, level+1, cat[i].getDescriptionModel());

-			w.println(in+"</category-def>");

-		}

-	}

-	

-	private static void writeCategories(PrintWriter w, int level, SiteFeatureReferenceModel feature) {

-		String in = getIndent(level);

-		String[] cat = feature.getCategoryNames();

-		for (int i=0; i<cat.length; i++) {

-			w.println(in+"<category name=\""+cat[i]+"\"");

-		}

-	}

-	

-	private static String getIndent(int level) {

-		String indent = "";

-		for (int i=0; i<level; i++) 

-			indent += "   ";

-		return indent;

-	}

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
deleted file mode 100644
index 1db9650..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/feature.xml
+++ /dev/null
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<feature id="my.feature" version="3.7.1" label="%s1" provider-name="VK Inc."

-         image="images/feature.gif" os="Win32" ws="Win32" nl="en_CA,en_US"

-         application="org.eclipse.ui.workbench">

-

-   <install-handler url="install/handler.html" library="custom.jar" class="InstallHandler"/>

-   

-   <description url="http://www.tools.com/features/my.feature">

-      Description of my.feature

-   </description>

-   

-   <copyright url="copyright/my.feature">

-      Copyright for my.feature

-   </copyright>

-   

-   <license url="%url1">

-      License for my.feature

-   </license>

-   

-   <url>

-      <update url="http://www.tools.com/update" label="Update site"/>

-      <discovery url="http://www.tools.com/discovery1" label="%s2"/>

-      <discovery url="%url2" label="%s3 Discovery site 2"/>

-      <discovery url="%url3 http://www.tools.com/discovery3" label="Discovery site 3"/>

-   </url>

-   

-   <requires>

-      <import plugin="plugin.1" version="1.0.0" match="perfect"/>

-      <import plugin="plugin.2" version="3.2.0"/>

-      <import plugin="plugin.3"/>

-   </requires>

-   

-   <plugin id="my.plugin.1" version="1.0.0" fragment="true"

-           os="Win32" ws="Win32" nl="en_US" download-size="23456" install-size="1234567"/>

-   <plugin id="my.plugin.2" version="1.0.1"/>

-   <plugin id="my.plugin.3" version="1.0.2"/>

-   

-   <data id="examples.zip" download-size="23456" install-size="1234567"/>

-   <data id="custom/rt.jar"/>

-

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
deleted file mode 100644
index 7516f26..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<site>

-

-   <description url="http://www.tools.com/updateSite">

-      Site description

-   </description>

-

-   <feature type="my.feature.type" url="feature1.jar">

-      <category name="tools"/>

-      <category name="utilities"/>

-      <category name="windows.tools"/>

-   </feature>

-   

-   <feature type="" url="file:/feature2.jar">

-      <category name="utilities"/>

-   </feature>

-   

-   

-   <archive path="first/archive" url="archive1.jar"/>

-   <archive path="second/archive" url="archive2.jar"/>

-   

-   <category-def name="tools" label="Development Tools">

-      <description url="http://www.tools.com/tools">

-         This is description for tools

-      </description>

-   </category-def>

-   

-   <category-def name="utilities" label="Utilities">

-      <description url="tools.html"/>/

-   </category-def>

-   

-   <category-def name="windows.tools" label="Windows Development Tools"/>

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
deleted file mode 100644
index dd10ef7..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_old_format.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<site url="www.tools.com/updateSite">

-

-   <feature type="my.feature.type" url="feature1.jar">

-      <category name="tools"/>

-      <category name="utilities"/>

-      <category name="windows.tools"/>

-   </feature>

-   

-   <feature type="" url="feature2.jar">

-      <category name="utilities"/>

-   </feature>

-  

-   <archive path="first/archive" url="archive1.jar"/>

-   <archive path="second/archive" url="archive2.jar"/>

-   

-   <category-def name="tools" label="Development Tools">

-      <description url="http://www.tools.com/tools">

-         This is description for tools

-      </description>

-   </category-def>

-   

-   <category-def name="utilities" label="Utilities">

-      <description url="utilities.html"/>

-   </category-def>

-   

-   <category-def name="windows.tools" label="Windows Development Tools"/>

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
deleted file mode 100644
index 2ee3a3f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/site_with_type.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-

-<site url="http://www.tools.com/updateSite" type="some.other.site.type">

-

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
deleted file mode 100644
index 02069fb..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/model/test.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2003 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-s1 = String 1

-s2 = String 2

-url1 = relative/index.html

-url2 = http://some.server/tools.html

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java
deleted file mode 100644
index ed90181..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nativeTests/TestLocalSystemInfo.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.nativeTests;
-import java.io.File;
-
-import org.eclipse.update.configuration.IVolume;
-import org.eclipse.update.configuration.LocalSystemInfo;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestLocalSystemInfo extends UpdateManagerTestCase {
-
-	/**
-	 * Test the natives
-	 */
-	public TestLocalSystemInfo(String arg0) {
-		super(arg0);
-	}
-
-	public void testNative() throws Exception {
-	
-		// mount point
-       IVolume[] a = LocalSystemInfo.getVolumes();
-        if (a==null) throw new Exception("cannot find native library");
-		System.out.println("Found "+a.length+" mount points.");
-		for (int i =0; i<a.length;i++){
-			System.out.print("#"+i+" - "+a[i]);
-			
-			File root = a[i].getFile();
-			String label = a[i].getLabel();
-			if (label==null) label="NO LABEL";
-			int type = a[i].getType();
-			long size = LocalSystemInfo.getFreeSpace(root);
-			System.out.println(" ->:"+label+":"+getType(type)+":"+getSize(size));
-		}
-	}
-	
-	private String getType(int type){
-		switch (type) {
-			case LocalSystemInfo.VOLUME_FIXED :
-				return "VOLUME FIXED";
-			case LocalSystemInfo.VOLUME_REMOTE :
-				return "VOLUME REMOTE";
-			case LocalSystemInfo.VOLUME_REMOVABLE :
-				return "VOLUME REMOVABLE";
-			case LocalSystemInfo.VOLUME_CDROM :
-				return "VOLUME CDROM";				
-			case LocalSystemInfo.VOLUME_UNKNOWN :
-				return "VOLUME UNKNOWN";
-			default :
-				return "WRONG VOLUME INFO";
-		}
-	}
-	
-	private String getSize(long size){
-		if (size==LocalSystemInfo.SIZE_UNKNOWN) return "UNKNOWN SIZE";
-		
-		long kb = size/(1024*1024);
-		return new String(size+" ("+kb+"MB)");
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java
deleted file mode 100644
index 9c78faf..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/AllNestedTests.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.nestedfeatures;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-public class AllNestedTests extends UpdateManagerTestCase {
-public AllNestedTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.setName("Nested Install Tests");
-	
-	// the following will take all teh test methods in teh class that start with 'test'
-
-	suite.addTest(new TestSuite(TestInstall.class));
-
-	// or you can specify the method
-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	
-	
-	return suite;
-}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java
deleted file mode 100644
index 8f8bc2a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/nestedfeatures/TestInstall.java
+++ /dev/null
@@ -1,301 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.nestedfeatures;
-import java.io.File;
-import java.net.URL;
-
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-public class TestInstall extends UpdateManagerTestCase {
-
-	/**
-	 * Constructor for Test1
-	 */
-	public TestInstall(String arg0) {
-		super(arg0);
-	}
-
-	public void testFileSite() throws Exception {
-		
-		//cleanup target 
-		File target = new File(TARGET_FILE_SITE.getFile());
-		UpdateManagerUtils.removeFromFileSystem(target);		
-		InstallRegistry.cleanup();
-		
-
-		ISite remoteSite =
-			SiteManager.getSite(new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/site.xml"),null);
-		IFeature remoteFeature = remoteSite.getFeatureReferences()[0].getFeature(null);
-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);
-		localSite.install(remoteFeature, null, null);
-
-		// verify root Feature
-		String site = localSite.getURL().getFile();
-		IPluginEntry[] entries = remoteFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-		String pluginName = entries[0].getVersionedIdentifier().toString();
-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());
-		File pluginXMLFile =
-			new File(
-				site,
-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");
-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
-		File featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ remoteFeature.getVersionedIdentifier().toString());
-		assertTrue(
-			"feature info not installed locally:" + featureFile,
-			featureFile.exists());
-
-		// clean plugins & feature
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[i].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-			InstallRegistry.unregisterPlugin(entries[i]);
-		}
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-
-		// verify child Feature
-		IFeature childFeature =
-			remoteFeature.getIncludedFeatureReferences()[0].getFeature(null);
-		entries = childFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-		pluginName = entries[0].getVersionedIdentifier().toString();
-		pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());
-		pluginXMLFile =
-			new File(
-				site,
-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");
-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
-		featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ childFeature.getVersionedIdentifier().toString());
-		assertTrue(
-			"feature info not installed locally:" + featureFile,
-			featureFile.exists());
-
-		// clean plugins
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[0].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-		}
-
-		// clean features
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
-		InstallRegistry.cleanup();
-	}
-
-	/**
-	 * 
-	 */
-	public void testHTTPSite() throws Exception {
-
-		ISite remoteSite =
-			SiteManager.getSite(new URL(SOURCE_HTTP_SITE, "nestedFeatureSiteTest/"),null);
-		IFeatureReference[] features = remoteSite.getFeatureReferences();
-		IFeature remoteFeature = null;
-
-		if (features == null || features.length == 0)
-			fail("No features on the site");
-
-		for (int i = 0; i < features.length; i++) {
-			if (features[i].getURL().toExternalForm().endsWith("rootfeature.jar")) {
-				remoteFeature = features[i].getFeature(null);
-				break;
-			}
-		}
-
-		assertNotNull("Cannot find rootfeature.jar on site", remoteFeature);
-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);
-		localSite.install(remoteFeature, null, null);
-
-		// rootfeature.jar should not be in the local site
-		IFeatureReference[] localFeatures = localSite.getFeatureReferences();
-		if (localFeatures == null || localFeatures.length == 0)
-			fail("No features on the target site");
-
-		boolean found = false;
-		for (int i = 0; i < localFeatures.length; i++) {
-			if (localFeatures[i].getURL().toExternalForm().endsWith("rootfeature.jar")) {
-				found = true;
-				break;
-			}
-		}
-
-		assertTrue(
-			"Found rootfeature.jar on target site. Target site feature ref shouldnot contain JAR file",
-			!found);
-
-		// check root
-		String site = localSite.getURL().getFile();
-		IPluginEntry[] entries = remoteFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-
-		String pluginName = entries[0].getVersionedIdentifier().toString();
-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());		
-		File pluginXMLFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName+ File.separator + "plugin.xml");
-		assertTrue(
-			"plugin info not installed locally:" + pluginXMLFile,
-			pluginXMLFile.exists());
-
-		File featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ remoteFeature.getVersionedIdentifier().toString());
-		assertTrue("feature info not installed locally", featureFile.exists());
-
-		// clean plugins & feature
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[i].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-			InstallRegistry.unregisterPlugin(entries[i]);
-		}
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-
-		// verify child Feature
-		IFeature childFeature =
-			remoteFeature.getIncludedFeatureReferences()[0].getFeature(null);
-		entries = childFeature.getPluginEntries();
-		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-		pluginName = entries[0].getVersionedIdentifier().toString();
-		pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-		assertTrue(
-			"plugin files not installed locally:" + pluginFile,
-			pluginFile.exists());
-		pluginXMLFile =
-			new File(
-				site,
-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");
-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());
-
-		featureFile =
-			new File(
-				site,
-				Site.DEFAULT_INSTALLED_FEATURE_PATH
-					+ childFeature.getVersionedIdentifier().toString());
-		assertTrue(
-			"feature info not installed locally:" + featureFile,
-			featureFile.exists());
-
-		// clean plugins
-		for (int i = 0; i < entries.length; i++) {
-			pluginName = entries[0].getVersionedIdentifier().toString();
-			pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);
-			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-		}
-
-		// clean features
-		UpdateManagerUtils.removeFromFileSystem(featureFile);
-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));
-	}
-
-//	public void testInstall() throws Exception {
-//
-//		// cleanup local files...
-//		URL localURL = ((SiteLocal) SiteManager.getLocalSite()).getLocationURL();
-//		File localFile = new File(localURL.getFile());
-//		UpdateManagerUtils.removeFromFileSystem(localFile);
-//		InstallRegistry.cleanup();
-//
-//		URL INSTALL_SITE = null;
-//		try {
-//			INSTALL_SITE = new URL(SOURCE_FILE_SITE, "nestedFeatureSiteTest/site.xml");
-//		} catch (Exception e) {
-//			fail(e.toString());
-//			e.printStackTrace();
-//		}
-//
-//		ISite remoteSite = SiteManager.getSite(INSTALL_SITE,null);
-//		IFeatureReference[] features = remoteSite.getFeatureReferences();
-//		IFeature remoteFeature = null;
-//
-//		if (features == null || features.length == 0)
-//			fail("No features on the site");
-//
-//		for (int i = 0; i < features.length; i++) {
-//			if (features[i].getURL().toExternalForm().endsWith("rootfeature.jar")) {
-//				remoteFeature = features[i].getFeature(null);
-//				break;
-//			}
-//		}
-//
-//		assertNotNull("Cannot find rootfeature.jar on site", remoteFeature);
-//		ILocalSite localSite = SiteManager.getLocalSite();
-//		IConfiguredSite site =
-//			localSite.getCurrentConfiguration().getConfiguredSites()[0];
-//
-//		((ConfiguredSite)site).setUpdatable(true);
-//		site.install(remoteFeature, null, null);
-//
-//		IPluginEntry[] entries = remoteFeature.getPluginEntries();
-//		assertTrue("no plugins entry", (entries != null && entries.length != 0));
-//
-//		String sitePath = site.getSite().getURL().getFile();
-//		String pluginName = entries[0].getVersionedIdentifier().toString();
-//		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);
-//		assertTrue("plugin info not installed locally"+pluginFile, pluginFile.exists());
-//
-//		File featureFile =
-//			new File(
-//				sitePath,
-//				Site.DEFAULT_INSTALLED_FEATURE_PATH
-//					+ remoteFeature.getVersionedIdentifier().toString());
-//		assertTrue("feature info not installed locally", featureFile.exists());
-//
-//		//cleanup
-//		File file =
-//			new File(
-//				site.getSite().getURL().getFile()
-//					+ File.separator
-//					+ Site.DEFAULT_INSTALLED_FEATURE_PATH
-//					+ remoteFeature.getVersionedIdentifier());
-//		// clean plugins
-//		for (int i = 0; i < entries.length; i++) {
-//			pluginName = entries[0].getVersionedIdentifier().toString();
-//			pluginFile =
-//				new File(
-//					site.getSite().getURL().getFile(),
-//					Site.DEFAULT_PLUGIN_PATH + pluginName);
-//			UpdateManagerUtils.removeFromFileSystem(pluginFile);
-//		}
-//
-//		UpdateManagerUtils.removeFromFileSystem(file);
-//		UpdateManagerUtils.removeFromFileSystem(pluginFile);
-//		UpdateManagerUtils.removeFromFileSystem(localFile);
-//		UpdateManagerUtils.removeFromFileSystem(
-//			new File(
-//				((InstallConfiguration) localSite.getCurrentConfiguration())
-//					.getURL()
-//					.getFile()));
-//	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
deleted file mode 100644
index c3906c5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/AllParserTests.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.parser;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllParserTests extends UpdateManagerTestCase {

-public AllParserTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Parsing Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	suite.addTest(new TestSuite(TestFeatureParse.class));

-	suite.addTest(new TestSuite(TestSiteParse.class));	

-	suite.addTest(new TestSuite(TestCategories.class));		

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
deleted file mode 100644
index 325f1ea..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestCategories.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.parser;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestCategories extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestCategories(String arg0) {

-		super(arg0);

-	}

-

-	public void testCategories() throws Exception {

-

-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");

-		ISite remoteSite = SiteManager.getSite(remoteUrl,null);

-

-		ISiteFeatureReference[] feature = remoteSite.getFeatureReferences();

-		//ICategory[] categories = remoteSite.getCategories();

-

-		ICategory featureCategory = feature[0].getCategories()[0];

-

-		assertEquals("UML tools", featureCategory.getLabel());

-

-	}

-

-	public void testOrderedCategories() throws Exception {

-

-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");

-		ISite remoteSite = SiteManager.getSite(remoteUrl,null);

-

-		ICategory[] categories = remoteSite.getCategories();

-		for (int i = 0; i < categories.length; i++) {

-			System.out.println("Cat ordered->" + categories[i].getName());

-		}

-

-		assertEquals("Eclipse tools", categories[1].getLabel());

-

-	}

-

-	public void testTranslatedCategories() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-

-		ICategory[] categories = remoteSite.getCategories();

-

-		assertEquals("Required Drivers", categories[0].getLabel());

-

-	}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
deleted file mode 100644
index 4008f78..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestFeatureParse.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.parser;

-

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.DefaultFeatureParser;

-import org.eclipse.update.core.model.FeatureModel;

-import org.eclipse.update.core.model.URLEntryModel;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import org.xml.sax.SAXParseException;

-

-public class TestFeatureParse extends UpdateManagerTestCase {

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestFeatureParse(String arg0) {

-		super(arg0);

-	}

-

-	public void testParse() throws Exception {

-

-		String xmlFile = "xmls/feature_1.0.0/";

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE, null);

-		URL url = UpdateManagerUtils.getURL(remoteSite.getURL(), xmlFile, null);

-

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(remoteSite);

-		ref.setURL(url);

-		IFeature feature = ref.getFeature(null);

-

-		String prov = feature.getProvider();

-		assertEquals("Object Technology International", prov);

-

-	}

-

-	public void testParseValid1() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature1.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should NOT be thrown");

-		}

-	}

-

-	public void testParseValid1bis() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature1bis.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should NOT be thrown");

-		}

-	}

-

-	public void testParseValid2() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature2.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid3() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature3.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-			String copyrightString = remoteFeature.getCopyrightModel().getURL().getFile();

-			boolean resolved = copyrightString.indexOf(SiteManager.getOS()) != -1;

-			assertTrue("Copyright URL not resolved:" + copyrightString, resolved);

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	// parse type

-	public void testParseValid4() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/feature4.xml");

-			DefaultFeatureParser parser = new DefaultFeatureParser();

-			parser.init(new FeatureExecutableFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			FeatureModel remoteFeature = parser.parse(resolvedURL.openStream());

-			remoteFeature.resolve(remoteURL, null);

-

-			URLEntryModel[] models = remoteFeature.getDiscoverySiteEntryModels();

-			assertTrue("Discovery model is not a Web Model", models[0].getType()==IURLEntry.WEB_SITE);

-			URLEntryModel copyright = remoteFeature.getCopyrightModel();

-			assertTrue("Copyright model is not an Update Model", copyright.getType()==IURLEntry.UPDATE_SITE);

-			

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
deleted file mode 100644
index d573c54..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/parser/TestSiteParse.java
+++ /dev/null
@@ -1,288 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.parser;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.core.SiteFileFactory;

-import org.eclipse.update.internal.core.URLEncoder;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import org.xml.sax.SAXParseException;

-

-public class TestSiteParse extends UpdateManagerTestCase {

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestSiteParse(String arg0) {

-		super(arg0);

-	}

-

-	public void testParse() throws Exception {

-

-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "xmls/site1/");

-		ISite remoteSite = SiteManager.getSite(remoteUrl,null);

-

-		//IFeatureReference[] feature = remoteSite.getFeatureReferences();

-		//ICategory[] categories = remoteSite.getCategories();

-

-		String path = remoteUrl.getFile();

-		String path2 = remoteSite.getDescription().getURL().getFile();

-		assertEquals(new File(path + "index.html"), new File(path2));

-

-	}

-

-	public void testNumberOfFeatures() throws Exception {

-

-		URL remoteURL = new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));

-		ISite remoteSite = SiteManager.getSite(remoteURL,null);

-

-		IFeatureReference[] feature = remoteSite.getFeatureReferences();

-		assertEquals(feature.length, 2);

-

-	}

-

-	public void testParseValid1() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 6);

-		assertTrue("Wrong number of categories", categories.length == 3);

-		assertTrue("Wrong number of archives", archives.length == 0);

-

-		String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();

-		String path2 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "index.html", path2);

-

-	}

-

-	public void testParseValid2() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/reddot.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 2);

-		assertTrue("Wrong number of categories", categories.length == 1);

-		assertTrue("Wrong number of archives", archives.length == 2);

-

-		String valideString = "This category contains all of the <currently> available versions of Red Dot feature. <greeting>Hello, world!</greeting>";

-		assertEquals(valideString, remoteSite.getCategoryModels()[0].getDescriptionModel().getAnnotation());

-

-		String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();

-		String path2 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "index.html", path2);

-

-	}

-

-	public void testParseValid3() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/reddot1.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 2);

-		assertTrue("Wrong number of categories", categories.length == 1);

-		assertTrue("Wrong number of archives", archives.length == 2);

-

-		String valideString = "This category contains all of the <currently> available versions of Red Dot feature.";

-		assertEquals(valideString, remoteSite.getCategoryModels()[0].getDescriptionModel().getAnnotation());

-

-		String path = new URL(SOURCE_FILE_SITE + "parsertests/").getFile();

-		String path2 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "index.html", path2);

-

-	}

-

-	public void testParseValid4() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/site.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] feature = remoteSite.getFeatureReferenceModels();

-		//CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", feature.length == 2);

-		assertTrue("Wrong number of archives", archives.length == 3);

-

-		URL path1 = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/artifacts/features/helpFeature.jar");

-		URL url1 = feature[0].getURL();

-		assertEquals(path1, url1);

-		URL path2 = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/artifacts/plugins/help.jar");

-		assertEquals(path2, archives[0].getURL());

-

-		String path = new URL(SOURCE_FILE_SITE + "SiteURLTest/data/info/").getFile();

-		String path3 = remoteSite.getDescriptionModel().getURL().getFile();

-		assertEquals(path + "siteInfo.html", path3);

-

-	}

-

-	public void testParseValid5() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site2.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();

-		//CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", featureRef.length == 1);

-		assertTrue("Wrong number of archives", archives.length == 0);

-

-		try {

-			((FeatureReference) featureRef[0]).getFeature(null);

-		} catch (CoreException e) {

-			Throwable e1 = e.getStatus().getException();

-			if (e1.getMessage().indexOf("not-eclipse") == -1) {

-				throw e;

-			}

-		}

-	}

-

-	public void testParseValid6() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site4.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();

-		//CategoryModel[] categories = remoteSite.getCategoryModels();

-		ArchiveReferenceModel[] archives = remoteSite.getArchiveReferenceModels();

-

-		assertTrue("Wrong number of features", featureRef.length == 2);

-		assertTrue("Wrong number of archives", archives.length == 0);

-

-		try {

-			((FeatureReference) featureRef[0]).getFeature(null);

-		} catch (CoreException e) {

-			Throwable e1 = e.getStatus().getException();

-			String msg = e1.getMessage().replace(File.separatorChar, '/');

-			if (msg.indexOf("_1.0.0.jar/feature.xml") == -1) {

-				throw e;

-			}

-		}

-	}

-

-	public void testParseUnknownCategory() throws Exception {

-

-		URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site3.xml");

-		DefaultSiteParser parser = new DefaultSiteParser();

-		parser.init(new SiteFileFactory());

-		URL resolvedURL = URLEncoder.encode(remoteURL);

-		SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-		remoteSite.resolve(remoteURL, null);

-

-		FeatureReferenceModel[] featureRef = remoteSite.getFeatureReferenceModels();

-		ICategory[] categories = ((SiteFeatureReference) featureRef[0]).getCategories();

-		assertTrue(categories.length == 0);

-	}

-

-	public void testParseValid7() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site7.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid8() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site8.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid9() throws Exception {

-

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site9.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			SiteModel remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-	}

-

-	public void testParseValid10() throws Exception {

-

-		SiteModel remoteSite = null;

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/site10.xml");

-			DefaultSiteParser parser = new DefaultSiteParser();

-			parser.init(new SiteFileFactory());

-			URL resolvedURL = URLEncoder.encode(remoteURL);

-			remoteSite = parser.parse(resolvedURL.openStream());

-			remoteSite.resolve(remoteURL, null);

-		} catch (SAXParseException e) {

-			fail("Exception should not be thrown" + e.getMessage());

-		}

-		FeatureReferenceModel[] models = remoteSite.getFeatureReferenceModels();

-		assertEquals("Invalid versioned identifier", models[0].getFeatureIdentifier(), "org.eclipse.test.feature");

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java
deleted file mode 100644
index 865295a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/AllPerformanceTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.perfms;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-
-public class AllPerformanceTests extends UpdateManagerTestCase {
-public AllPerformanceTests(String name) {
-	super(name);
-}
-public static Test suite() {
-	TestSuite suite = new TestSuite();
-	suite.setName("Update Performance Tests");
-	
-	// the following will take all teh test methods in the class that start with 'test'
-	//suite.addTest(new TestSuite(TestStartup.class));
-	return suite;
-}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java
deleted file mode 100644
index 02b2721..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/perfms/TestStartup.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.perfms;
-//import java.net.*;
-
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.configurator.*;
-import org.eclipse.test.performance.*;
-import org.eclipse.update.tests.*;
-
-
-
-public class TestStartup extends UpdateManagerTestCase {
-	public TestStartup(String arg0) {
-		super(arg0);
-	}
-	
-
-	public void testConfigurationCreation() {
-		Performance perf= Performance.getDefault();
-		PerformanceMeter performanceMeter= perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
-		perf.tagAsGlobalSummary(performanceMeter, "Configuration creation", Dimension.ELAPSED_PROCESS);
-		
-		try {
-			for (int i= 0; i < 10; i++) {
-				performanceMeter.start();
-				try {
-					URL platformXml = new URL("file", "",dataPath + "/" + "perf/platform.xml");
-					IPlatformConfiguration config = new PlatformConfigurationFactory().getPlatformConfiguration(platformXml);
-				} catch (IOException e) {
-					System.out.println("Cannot create configuration for performance measurement");
-				}
-				performanceMeter.stop();
-	 		}
-			performanceMeter.commit();
-			perf.assertPerformance(performanceMeter);
-	 	} finally {
-			performanceMeter.dispose();
-	 	}
-	}
-	
-	public void testConfigurationDetection() {
-		Performance perf= Performance.getDefault();
-		PerformanceMeter performanceMeter= perf.createPerformanceMeter(perf.getDefaultScenarioId(this));
-		perf.tagAsGlobalSummary(performanceMeter, "Configuration detection", Dimension.ELAPSED_PROCESS);
-
-		try {
-			for (int i= 0; i < 10; i++) {
-				performanceMeter.start();
-				try {
-					URL siteURL = new URL("file", "",dataPath + "/" + "perf/eclipse");
-					SiteEntry site = new SiteEntry(siteURL);
-					site.loadFromDisk(0);
-				} catch (Exception e) {
-					System.out.println("Cannot create site entry for performance measurement");
-				}
-				performanceMeter.stop();
-	 		}
-			performanceMeter.commit();
-			perf.assertPerformance(performanceMeter);
-	 	} finally {
-			performanceMeter.dispose();
-	 	}
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
deleted file mode 100644
index 5ab541b..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/AllReconciliationTests.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.reconciliation;
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-/**
- * Manages the API tests
- */
-public class AllReconciliationTests extends UpdateManagerTestCase {
-	/**
-	 * Constructor
-	 */
-	public AllReconciliationTests(String name) {
-		super(name);
-	}
-	
-	/**
-	 * List of API tests
-	 */
-	public static Test suite() throws Exception {
-		TestSuite suite = new TestSuite();
-		suite.setName("API Tests");
-
-
-		suite.addTest(new TestSuite(TestSiteReconciliation.class));
-
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
deleted file mode 100644
index 3ac23c5..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/reconciliation/TestSiteReconciliation.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.reconciliation;
-import java.io.*;
-import java.net.*;
-
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.*;
-
-public class TestSiteReconciliation extends UpdateManagerTestCase {
-	
-
-	
-
-	/**
-	 * Test the getFeatures()
-	 */
-	public TestSiteReconciliation(String arg0) {
-		super(arg0);
-	}
-
-	private void addConfigSite(int policy, URL url,String[] listOfPlugins) throws Exception {
-		String xmlFile = ((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile();
-		UpdateManagerUtils.removeFromFileSystem(new File(xmlFile));		
-		InternalSiteManager.localSite=null;
-		// get new config object
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISitePolicy p1 = cfig.createSitePolicy(policy, listOfPlugins);	
-		ISiteEntry s1 = cfig.createSiteEntry(url,p1);
-		cfig.configureSite(s1);	
-	}
-	
-	private void removeConfigSite(URL url) throws Exception {
-		// get new config object
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISiteEntry s1 = cfig.findConfiguredSite(url);
-		assertNotNull("Unable to find site entry:"+url,s1);
-		cfig.unconfigureSite(s1);
-		cfig.save();
-	}	
-	/**
-	 * Site 1 contains a feature which needs a plugin taht is not on the path when we start
-	 * it will never be configured
-	 */
-	public void testNewSiteInclude1() throws Exception {
-	
-		int policy  = ISitePolicy.USER_INCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site1/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);		
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);		
-		
-		removeConfigSite(url);
-	}
-
-	public void testNewSiteExclude1() throws Exception {
-		
-		int policy  = ISitePolicy.USER_EXCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site1/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-		
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);		
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);		
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);				
-		removeConfigSite(url);
-	}
-
-	/**
-	 * Site 2 contains a feature which needs a plugin taht is on the path when we start
-	 * it will be configured
-	 */
-	public void testNewSiteInclude2() throws Exception {
-		
-		int policy  = ISitePolicy.USER_INCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site2/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);		
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);
-		
-		removeConfigSite(url);
-	}
-
-
-
-	public void testNewSiteExclude2() throws Exception {
-		
-		int policy  = ISitePolicy.USER_EXCLUDE;
-		URL url = new URL("file",null,dataPath+"reconciliationSites/site2/");
-		String[] plugins = new String[]{};
-		addConfigSite(policy,url, plugins);
-		ILocalSite local = SiteManager.getLocalSite();
-		((SiteLocal)local).setStamp(0);		
-		IConfiguredSite[] newSites = local.getCurrentConfiguration().getConfiguredSites();
-		IConfiguredSite newSite = null;
-		for (int i = 0; i < newSites.length; i++) {
-			if (UpdateManagerUtils.sameURL(newSites[i].getSite().getURL(),url)){
-				newSite = newSites[i];
-			}
-		}
-		
-		if (newSite==null) fail("Site not found in configuration");
-		
-		IFeatureReference[] ref = newSite.getConfiguredFeatures();
-		assertEquals("Wrong number of configured features",0,ref.length);
-		ref = ((ConfiguredSite)newSite).getConfigurationPolicy().getUnconfiguredFeatures();
-		assertEquals("Wrong number of unconfigured features",0,ref.length);
-
-		removeConfigSite(url);
-	}
-}
-
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
deleted file mode 100644
index 59f5b33..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/AllRegularInstallTests.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllRegularInstallTests extends UpdateManagerTestCase {

-public AllRegularInstallTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-

-	suite.addTest(new TestSuite(TestInstall.class));

-	suite.addTest(new TestSuite(TestInstallURLSIteXML.class));	

-	suite.addTest(new TestSuite(TestSpaceInInstall.class));	

-	suite.addTest(new TestSuite(TestGetFeature.class));

-	suite.addTest(new TestSuite(TestExecutableInstall.class));	

-	suite.addTest(new TestSuite(TestExecutablePackagedInstall.class));		

-	suite.addTest(new TestSuite(TestDataEntryInstall.class));

-	suite.addTest(new TestSuite(TestLocalSite.class));		

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
deleted file mode 100644
index 87d50b8..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/MultipleTestLocalSite.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class MultipleTestLocalSite extends UpdateManagerTestCase {

-public MultipleTestLocalSite(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Multiple Test Local Site");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	

-	for(int i=0; i<50; i++){

-		suite.addTest(new TestSuite(TestLocalSite.class));

-	}

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
deleted file mode 100644
index 918fd31..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestDataEntryInstall.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestDataEntryInstall extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestDataEntryInstall(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 * With site.xml

-	 */

-	public void testDataEntrySite() throws Exception {

-

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL =new File(dataPath + "dataEntrySiteTest/site1/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			localSite.install(remoteFeature, null,null);

-

-			// verify

-			String site = localSite.getURL().getFile();

-			INonPluginEntry[] entries = remoteFeature.getNonPluginEntries();

-			assertTrue("no data entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ pluginName);

-			assertTrue("data files not installed locally:"+pluginFile, pluginFile.exists());

-		} 

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-	/**

-	 * With site.xml

-	 */

-	public void testDataEntrySitePackaged() throws Exception {

-

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL =new File(dataPath + "dataEntrySiteTest/site2/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			localSite.install(remoteFeature, null,null);

-

-			// verify

-			String site = localSite.getURL().getFile();

-			INonPluginEntry[] entries = remoteFeature.getNonPluginEntries();

-			assertTrue("no data entry", (entries != null && entries.length != 0));

-			entries[0].getIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ "nondata"+File.separator+"file1.zip");

-			assertTrue("Data file inside the jar not installed locally:"+pluginFile, pluginFile.exists());

-			pluginFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString()+File.separator+ "file.zip");

-			assertTrue("Data file outside the jar not installed locally:"+pluginFile, pluginFile.exists());

-			

-		} 

-		

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}	

-	

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
deleted file mode 100644
index 26f9edd..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutableInstall.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-

-import java.io.File;

-import java.util.Locale;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestExecutableInstall extends UpdateManagerTestCase {

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestExecutableInstall(String arg0) {

-		super(arg0);

-	}

-	

-

-

-	public void testFileSite() throws Exception{

-		

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);		

-		InstallRegistry.cleanup();

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED,null);

-		IFeatureReference[] remoteFeatureReference = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = remoteFeatureReference[0].getFeature(null);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		assertNotNull(remoteFeature);

-		remove(remoteFeature,localSite);		

-		localSite.install(remoteFeature,null,null);

-		

-		// verify

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-		assertTrue("no plugins entry",(entries!=null && entries.length!=0));

-		String pluginName= entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site,Site.DEFAULT_PLUGIN_PATH+pluginName);

-		if (Locale.getDefault().toString().indexOf("us") != -1)

-			assertTrue("plugin files not installed locally",pluginFile.exists());

-

-		File featureFile = new File(site,Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally:"+featureFile,featureFile.exists());

-		assertTrue("feature is a file, not a directory:"+featureFile,featureFile.isDirectory());

-

-		

-		File featureFileXML = new File(site,Site.DEFAULT_INSTALLED_FEATURE_PATH+remoteFeature.getVersionedIdentifier().toString()+File.separator+"feature.xml");

-		assertTrue("feature info not installed locally: no feature.xml",featureFileXML.exists());

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-	}

-

-}

-

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
deleted file mode 100644
index 6fbb06e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestExecutablePackagedInstall.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestExecutablePackagedInstall extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestExecutablePackagedInstall(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 * With site.xml

-	 */

-	public void testFilePackageExecutableFeatureSite() throws Exception {

-

-		//cleanup target  

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL = new File(dataPath + "ExecutableFeaturePackagedSite/data2/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			remove(remoteFeature,localSite);			

-			localSite.install(remoteFeature, null,null);

-			

-			if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-			if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-

-			// verify

-			String site = localSite.getURL().getFile();

-			IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getVersionedIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally:"+pluginFile, pluginFile.exists());

-

-			File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-			assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-	/**

-	 * Without site.xml

-	 */

-	public void testFileNoSiteXMLSite() throws Exception {

-

-		//cleanup target 

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL = new File(dataPath + "ExecutableFeaturePackagedSite/data/").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			try {

-				remoteFeature = featuresRef[i].getFeature(null);

-			} catch (CoreException e){

-				Throwable e1 = e.getStatus().getException();

-				String msg = e1.getMessage().replace(File.separatorChar,'/');

-				if (msg.indexOf("CVS/feature.xml")==-1){

-					throw e;

-				}				

-			}

-			if (remoteFeature!=null){

-				remove(remoteFeature,localSite);

-				localSite.install(remoteFeature,null, null);

-				

-				if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-				if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-	

-				// verify

-				String site = localSite.getURL().getFile();

-				IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-				assertTrue("no plugins entry", (entries != null && entries.length != 0));

-				String pluginName = entries[0].getVersionedIdentifier().toString();

-				File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-				assertTrue("plugin files not installed locally:"+pluginFile, pluginFile.exists());

-	

-				File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-				assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-	

-				File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-				assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-			}

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
deleted file mode 100644
index 7157e9f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestGetFeature.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestGetFeature extends UpdateManagerTestCase {

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestGetFeature(String arg0) {

-		super(arg0);

-	}

-	

-	

-	public void testFeatureFileSite() throws Exception{

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeatureReference[] remoteFeatures = remoteSite.getFeatureReferences();

-		if (remoteFeatures==null || remoteFeatures.length==0) fail("No feature available for testing");

-		for (int i=0;i<remoteFeatures.length;i++){

-			System.out.println("feature:"+remoteFeatures[i].getURL().toExternalForm());

-		}

-	}

-

-

-	public void testFeatureHTTPSite() throws Exception{ 

-		

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference[] remoteFeatures = remoteSite.getFeatureReferences();

-		if (remoteFeatures==null || remoteFeatures.length==0) fail("No feature available for testing");		

-		for (int i=0;i<remoteFeatures.length;i++){

-			System.out.println("feature:"+remoteFeatures[i].getURL().toExternalForm());

-		}

-	}

-}

-

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
deleted file mode 100644
index 5d86598..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstall.java
+++ /dev/null
@@ -1,313 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-import java.io.File;

-import java.net.MalformedURLException;

-import java.net.URL;

-import java.util.Locale;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestInstall extends UpdateManagerTestCase {

-

-	/**

-	 * 

-	 */

-	public static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$

-

-	public class Listener implements IConfiguredSiteChangedListener {

-

-		public boolean notified = false;

-

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified DefaultFeature Installed");

-		}

-

-		public void featureRemoved(IFeature feature) {

-		}

-

-		public void featureConfigured(IFeature feature) {

-		}

-		public void featureUnconfigured(IFeature feature) {

-		}

-

-		public boolean isNotified() {

-			return notified;

-		}

-	}

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestInstall(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site)

-		throws MalformedURLException, CoreException {

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");

-		ref.setType(getDefaultInstallableFeatureType());

-		ref.resolve(site.getURL(), null);

-		return ref.getFeature(null);

-	}

-

-	public void testFileSite() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		localSite.install(remoteFeature, null, null);

-

-		// verify

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files not installed locally:"+pluginFile, pluginFile.exists());

-		File pluginXMLFile =

-			new File(

-				site,

-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");

-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue(

-			"feature info not installed locally:" + featureFile,

-			featureFile.exists());

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-

-	}

-

-	/**

-	 * 

-	 */

-	public void testHTTPSite() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find feature2.jar on site", remoteFeature);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		localSite.install(remoteFeature, null, null);

-

-		// feature2.jar should not be in the local site

-		IFeatureReference[] localFeatures = localSite.getFeatureReferences();

-		if (localFeatures == null || localFeatures.length == 0)

-			fail("No features on the target site");

-

-		boolean found = false;

-		for (int i = 0; i < localFeatures.length; i++) {

-			if (localFeatures[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				found = true;

-				break;

-			}

-		}

-

-		assertTrue(

-			"Found feature2.jar on target site. Target site feature ref shouldnot contain JAR file",

-			!found);

-

-		// check

-		String site = localSite.getURL().getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin info not installed locally:"+pluginFile, pluginFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//localSite.save();

-

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-	}

-

-	public void testInstall() throws Exception {

-

-		// cleanup local files...

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-

-		URL INSTALL_SITE = null;

-		try {

-			INSTALL_SITE =

-				new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		ISite remoteSite = SiteManager.getSite(INSTALL_SITE,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("helpFeature.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find help.jar on site", remoteFeature);

-		ILocalSite localSite = SiteManager.getLocalSite();

-		IConfiguredSite site =

-			localSite.getCurrentConfiguration().getConfiguredSites()[0];

-		Listener listener = new Listener();

-		site.addConfiguredSiteChangedListener(listener);

-

-		((ConfiguredSite)site).setUpdatable(true);

-		site.install(remoteFeature, null, null);

-

-		IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String sitePath = site.getSite().getURL().getFile();

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		if (Locale.getDefault().toString().indexOf("fr") != -1)

-			assertTrue("plugin info not installed locally", pluginFile.exists());

-

-		File featureFile =

-			new File(

-				sitePath,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//cleanup

-		File file =

-			new File(

-				site.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		InstallRegistry.unregisterPlugin(entries[0]);

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		UpdateManagerUtils.removeFromFileSystem(

-			new File(

-				((InstallConfiguration) localSite.getCurrentConfiguration())

-					.getURL()

-					.getFile()));

-

-		site.removeConfiguredSiteChangedListener(listener);

-		assertTrue("Listener hasn't received notification", listener.isNotified());

-	}

-

-	public void testFileSiteWithoutSiteXML() throws Exception {

-

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		IConfiguredSite localSite =

-			SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0];

-		localSite.getSite().install(remoteFeature, null, null);

-

-		IFeatureReference[] features = localSite.getSite().getFeatureReferences();

-		if (features.length == 0)

-			fail("The local site does not contain feature, should not contain an XML file but features should be found anyway by parsing");

-		if (localSite.getSite().getArchives().length == 0)

-			fail("The local site does not contain archives, should not contain an XML file but archives should be found anyway by parsing");

-

-		//cleanup

-		File file =

-			new File(

-				localSite.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file =

-			new File(

-				localSite.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_PLUGIN_PATH

-					+ "org.eclipse.update.core.tests.feature1.plugin1_3.5.6");

-		UpdateManagerUtils.removeFromFileSystem(file);

-		file =

-			new File(

-				localSite.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_PLUGIN_PATH

-					+ "org.eclipse.update.core.tests.feature1.plugin2_5.0.0");

-		UpdateManagerUtils.removeFromFileSystem(file);

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-

-		try {

-			SiteManager.getSite(new URL("http://www.eclipse.org/"),null);

-			fail("The site contains site.xml... it should be an HTTP site without an XML file");			

-		} catch (CoreException e) {

-			// expected

-		}

-

-	}

-

-//	/**

-//	* 

-//	*/

-//	private Feature createPackagedFeature(URL url, ISite site)

-//		throws CoreException {

-//		String packagedFeatureType = ISite.DEFAULT_PACKAGED_FEATURE_TYPE;

-//		Feature result = null;

-//		if (packagedFeatureType != null) {

-//			IFeatureFactory factory =

-//				FeatureTypeFactory.getInstance().getFactory(packagedFeatureType);

-//			result = (Feature) factory.createFeature(url, site);

-//		}

-//		return result;

-//	}

-	/*

-	 * @see ISite#getDefaultInstallableFeatureType()

-	 */

-	public String getDefaultInstallableFeatureType() {

-		String pluginID =

-			UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + ".";

-		return pluginID + PACKAGED_FEATURE_TYPE;

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
deleted file mode 100644
index 1152d8d..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestInstallURLSIteXML.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-import java.io.*;

-import java.net.*;

-import java.util.Locale;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.*;

-

-public class TestInstallURLSIteXML extends UpdateManagerTestCase {

-

-	/**

-	 * 

-	 */

-	public static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$	

-

-	public class Listener implements IConfiguredSiteChangedListener {

-

-		public boolean notified = false;

-

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified DefaultFeature Installed");

-		}

-

-		public void featureRemoved(IFeature feature) {

-		}

-

-		public void featureConfigured(IFeature feature) {

-		}

-		public void featureUnconfigured(IFeature feature) {

-		}

-

-		public boolean isNotified() {

-			return notified;

-		}

-	}

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestInstallURLSIteXML(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site)

-		throws MalformedURLException, CoreException {

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");

-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);

-		ref.resolve(site.getURL(), null);

-		return ref.getFeature(null);

-	}

-

-	public void testFileSite() throws Exception {

-

-		ISite remoteSite =

-			SiteManager.getSite(new URL(SOURCE_FILE_SITE, Site.SITE_XML),true,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		URL url = TARGET_FILE_SITE;

-		File file = new File(TARGET_FILE_SITE.getFile());

-		if (!file.exists()) file.mkdirs();

-		ISite localSite = SiteManager.getSite(url,true,null);

-		remove(remoteFeature,localSite);

-		localSite.install(remoteFeature, null, null);

-

-		// verify

-		String site = TARGET_FILE_SITE.getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files not installed locally", pluginFile.exists());

-		File pluginXMLFile =

-			new File(

-				site,

-				Site.DEFAULT_PLUGIN_PATH + pluginName + File.separator + "plugin.xml");

-		assertTrue("plugin.xml file not installed locally", pluginXMLFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue(

-			"feature info not installed locally:" + featureFile,

-			featureFile.exists());

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-		InstallRegistry.cleanup();

-	}

-

-	/**

-	 * 

-	 */

-	public void testHTTPSite() throws Exception {

-

-		// clean

-		File targetFile  = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(targetFile);

-		InstallRegistry.cleanup();

-

-		ISite remoteSite =

-			SiteManager.getSite(new URL(SOURCE_HTTP_SITE, Site.SITE_XML),true,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find feature2.jar on site", remoteFeature);

-		URL url = TARGET_FILE_SITE;

-		File file = new File(TARGET_FILE_SITE.getFile());

-		if (!file.exists()) file.mkdirs();

-		ISite localSite = SiteManager.getSite(url,true,null);

-		localSite.install(remoteFeature, null, null);

-

-		// feature2.jar should not be in the local site

-		IFeatureReference[] localFeatures = localSite.getFeatureReferences();

-		if (localFeatures == null || localFeatures.length == 0)

-			fail("No features on the target site");

-

-		boolean found = false;

-		for (int i = 0; i < localFeatures.length; i++) {

-			if (localFeatures[i].getURL().toExternalForm().endsWith("features2.jar")) {

-				found = true;

-				break;

-			}

-		}

-

-		assertTrue(

-			"Found feature2.jar on target site. Target site feature ref shouldnot contain JAR file",

-			!found);

-

-		// check

-		String site = TARGET_FILE_SITE.getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin info not installed locally", pluginFile.exists());

-

-		File featureFile =

-			new File(

-				site,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//localSite.save();

-

-		//cleanup

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(localSite.getURL().getFile()));

-		InstallRegistry.cleanup();

-	}

-

-	public void testInstall() throws Exception {

-

-		// cleanup local files...

-		SiteLocal siteLocal = ((SiteLocal) SiteManager.getLocalSite());

-		File localFile = new File(siteLocal.getLocationURL().getFile());

-		//if (!localFile.exists()) fail("LocalSite file doesn't exist ->"+localFile.getAbsolutePath()+"<-");

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		/*

-		localFile = new File(localFile,SiteLocal.SITE_LOCAL_FILE);

-		if (!localFile.exists()) fail("LocalSite.xml doesn't exist:"+localFile);

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		*/

-		

-		InternalSiteManager.localSite = null;

-

-		URL INSTALL_SITE = null;

-		try {

-			INSTALL_SITE =

-				new URL("http", getHttpHost(), getHttpPort(), bundle.getString("HTTP_PATH_2"));

-		} catch (Exception e) {

-			fail(e.toString());

-			e.printStackTrace();

-		}

-

-		ISite remoteSite = SiteManager.getSite(INSTALL_SITE,true,null);

-		IFeatureReference[] features = remoteSite.getFeatureReferences();

-		IFeature remoteFeature = null;

-

-		if (features == null || features.length == 0)

-			fail("No features on the site");

-

-		for (int i = 0; i < features.length; i++) {

-			if (features[i].getURL().toExternalForm().endsWith("helpFeature.jar")) {

-				remoteFeature = features[i].getFeature(null);

-				break;

-			}

-		}

-

-		assertNotNull("Cannot find help.jar on site", remoteFeature);

-		ILocalSite localSite = SiteManager.getLocalSite();

-		IConfiguredSite site = localSite.getCurrentConfiguration().getConfiguredSites()[0];

-		Listener listener = new Listener();

-		site.addConfiguredSiteChangedListener(listener);

-

-		((ConfiguredSite)site).setUpdatable(true);

-		site.install(remoteFeature, null, null);

-

-		IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-

-		String sitePath = site.getSite().getURL().getFile();

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-		File pluginFile = new File(sitePath, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		if (Locale.getDefault().toString().indexOf("fr") != -1)

-			assertTrue("plugin info not installed locally:"+pluginFile, pluginFile.exists());

-

-		File featureFile =

-			new File(

-				sitePath,

-				Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier().toString());

-		if (Locale.getDefault().toString().indexOf("fr") != -1 ||

-				Locale.getDefault().toString().indexOf("us") != -1 ||

-				Locale.getDefault().toString().indexOf("de") != -1)

-		assertTrue("feature info not installed locally", featureFile.exists());

-

-		//cleanup

-		File file =

-			new File(

-				site.getSite().getURL().getFile()

-					+ File.separator

-					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-					+ remoteFeature.getVersionedIdentifier());

-		UpdateManagerUtils.removeFromFileSystem(file);

-		UpdateManagerUtils.removeFromFileSystem(pluginFile);

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		UpdateManagerUtils.removeFromFileSystem(

-			new File(

-				((InstallConfiguration) localSite.getCurrentConfiguration())

-					.getURL()

-					.getFile()));

-		InstallRegistry.cleanup();

-		

-		site.removeConfiguredSiteChangedListener(listener);

-		assertTrue("Listener hasn't received notification", listener.isNotified());

-	}

-

-//	public void testFileSiteWithoutSiteXML() throws Exception {

-//

-//		ISite remoteSite =

-//			SiteManager.getSite(new URL(SOURCE_FILE_SITE, Site.SITE_XML),true,null);

-//		IFeature remoteFeature = getFeature1(remoteSite);

-//		IConfiguredSite localSite =

-//			SiteManager.getLocalSite().getCurrentConfiguration().getConfiguredSites()[0];

-//		localSite.getSite().install(remoteFeature, null, null);

-//

-//		IFeatureReference[] features = localSite.getSite().getFeatureReferences();

-//		if (features.length == 0)

-//			fail("The local site does not contain feature, should not contain an XML file but features should be found anyway by parsing");

-//		if (localSite.getSite().getArchives().length == 0)

-//			fail("The local site does not contain archives, should not contain an XML file but archives should be found anyway by parsing");

-//

-//		//cleanup

-//		File file =

-//			new File(

-//				localSite.getSite().getURL().getFile()

-//					+ File.separator

-//					+ Site.DEFAULT_INSTALLED_FEATURE_PATH

-//					+ remoteFeature.getVersionedIdentifier());

-//		UpdateManagerUtils.removeFromFileSystem(file);

-//		file =

-//			new File(

-//				localSite.getSite().getURL().getFile()

-//					+ File.separator

-//					+ Site.DEFAULT_PLUGIN_PATH

-//					+ "org.eclipse.update.core.tests.feature1.plugin1_3.5.6");

-//		UpdateManagerUtils.removeFromFileSystem(file);

-//		file =

-//			new File(

-//				localSite.getSite().getURL().getFile()

-//					+ File.separator

-//					+ Site.DEFAULT_PLUGIN_PATH

-//					+ "org.eclipse.update.core.tests.feature1.plugin2_5.0.0");

-//		UpdateManagerUtils.removeFromFileSystem(file);

-//		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-//		UpdateManagerUtils.removeFromFileSystem(localFile);

-//

-//	}

-

-	/**

-	* 

-	*/

-//	private Feature createPackagedFeature(URL url, ISite site)

-//		throws CoreException {

-//		String packagedFeatureType = ISite.DEFAULT_PACKAGED_FEATURE_TYPE;

-//		Feature result = null;

-//		if (packagedFeatureType != null) {

-//			IFeatureFactory factory =

-//				FeatureTypeFactory.getInstance().getFactory(packagedFeatureType);

-//			result = (Feature) factory.createFeature(url, site);

-//		}

-//		return result;

-//	}

-	/*

-	 * @see ISite#getDefaultInstallableFeatureType()

-	 */

-	public String getDefaultInstallableFeatureType() {

-		String pluginID =

-			UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + ".";

-		return pluginID + PACKAGED_FEATURE_TYPE;

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
deleted file mode 100644
index 69d3cf9..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestLocalSite.java
+++ /dev/null
@@ -1,422 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-import java.io.*;

-import java.net.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.internal.model.*;

-import org.eclipse.update.tests.*;

-

-public class TestLocalSite extends UpdateManagerTestCase {

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestLocalSite(String arg0) {

-		super(arg0);

-	}

-	

-	public void testCreationConfigFile() throws Exception {

-

-		//clean up

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;	

-

-

-		ILocalSite site = SiteManager.getLocalSite();

-		site.save();

-		assertTrue("config file hasn't been saved in :"+localFile.getAbsolutePath(), localFile.exists());

-		

-		// cleanup

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-	}

-	

-	public void testDefaultConfigFile() throws Exception {

-

-		//clean up

-

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;

-

-		ILocalSite site = SiteManager.getLocalSite();

-		assertTrue("The local site does not contain an history of install configuration",site.getConfigurationHistory().length!=0);

-		assertTrue("The local site does not contain an current install configuration",site.getCurrentConfiguration()!=null);

-		assertTrue("The local site does not contain a default configuration site for the current install config",site.getCurrentConfiguration().getConfiguredSites().length!=0);

-		

-		System.out.println("Default Config Site is :"+site.getCurrentConfiguration().getConfiguredSites()[0].getSite().getURL().toExternalForm());

-		

-		// cleanup	

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		

-

-	}

-	

-/*	public void testInstallFeatureSaveConfig() throws Exception {

-

-		//clean up

-		SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();

-		URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);

-		File localFile = new File(newURL.getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));	

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature();

-		int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		newConfig.setLabel("new Label");		

-		//IInstallConfiguration newConfig = site.getCurrentConfiguration();

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-		configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-		((ConfiguredSite)configSite).setConfigurationPolicy((ConfigurationPolicy)configPolicy);

-		int oldNumberOfhistory = site.getConfigurationHistory().length;		

-		site.addConfiguration(newConfig);	

-		assertNotNull(feature);	

-

-		((ConfiguredSite)configSite).isUpdatable(true);

-		remove(feature,configSite);				

-		configSite.install(feature,null,null);

-				

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		assertTrue("No Configured features found",configSite.getConfiguredFeatures().length>0);

-		IFeatureReference ref = configSite2.getConfiguredFeatures()[0];

-		IFeature feature2 = ref.getFeature();

-		//String configuredFeature = feature2.getLabel();

-

-		assertEquals(feature2.getVersionedIdentifier().toString(),"org.eclipse.update.core.tests.feature3_1.0.0");

-		assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));

-		

-		// only one feature configured

-		assertTrue("too many features configured",configSite2.getConfiguredFeatures().length==1);

-		

-		// no feature unconfigured

-		assertTrue("too many unconfigured features",((ConfiguredSite)configSite2).getConfigurationPolicy().getUnconfiguredFeatures().length==0);

-		

-		// test only 2 install config in local site

-		//assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-		// test same # of sites in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-		//test only one feature for the site

-		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-		// test only 2 activities

-		assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-

-		site.save();		

-

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		URL location = ((SiteLocal)site).getLocationURL();

-		File file = new File(new URL(location,"Config"+time+".xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// cleanup

-		localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature2.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		localFile = new File(feature2.getURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-	}

-*/

-	

-	public void testRetriveConfig() throws Exception {

-

-		//clean up

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);	

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE_INSTALLED,null);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;		

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		newConfig.setLabel("new Label");		

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-		configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-		((ConfiguredSite)configSite).setConfigurationPolicyModel(configPolicy);	

-		int oldNumberOfhistory = site.getConfigurationHistory().length;			

-		site.addConfiguration(newConfig);

-		assertNotNull(feature);			

-		

-		((ConfiguredSite)configSite).setUpdatable(true);

-		remove(feature,configSite);			

-		configSite.install(feature,null,null);

-		site.save();

-		

-		// we created the second xml file

-

-		//do not cleanup, we want to reuse previously created local site

-		// but force re-read of xml File

-		InternalSiteManager.localSite=null;

-		site = SiteManager.getLocalSite();

-		

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		URL location = ((SiteLocal)site).getLocationURL();		

-		File file = new File(new URL(location,"platform.xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		IFeatureReference[] refs = configSite2.getConfiguredFeatures();

-		IFeature feature2 = null;

-		for (int i = 0; i < refs.length; i++) {

-			IFeature feature3 = refs[i].getFeature(null);			

-			if ("org.eclipse.update.core.tests.feature3_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-				feature2 = feature3;

-				break;

-			}		

-		}

-		assertNotNull("Feature 2 is Null",feature2);

-		assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.eclipse.update.core.tests.feature3_1.0.0"));

-		

-		// test only 2 install config in local site

-//		assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-		// test # of sites in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-		//test only one feature for the site

-//		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-		// test only 2 activities

-//		assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-		

-		

-		// cleanup

-		localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);					

-		UpdateManagerUtils.removeFromFileSystem(file);		

-	}

-

-/*	public void testRetriveConfigHTTPInstall() throws Exception {

-

-		//clean up

-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-		InternalSiteManager.localSite=null;		

-

-		ILocalSite site = SiteManager.getLocalSite();

-		ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeature feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		

-		// we are not checking if this is read only

-		IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-		newConfig.setLabel("new Label");		

-		IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-		ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-		configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-		((ConfiguredSite)configSite).setConfigurationPolicyModel((ConfigurationPolicyModel)configPolicy);	

-		int oldNumberOfhistory = site.getConfigurationHistory().length;			

-		site.addConfiguration(newConfig);

-		

-	

-		((ConfiguredSite)configSite).setUpdatable(true);				

-		configSite.install(feature,null,null);

-		site.save();

-

-		//do not cleanup, we want to reuse previously created local site

-		// but force re-read of xml File

-		InternalSiteManager.localSite=null;

-		site = SiteManager.getLocalSite();

-		feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;		

-		

-		// check

-		// there are 2 configuration

-		String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-		URL location = ((SiteLocal)site).getLocationURL();		

-		File file = new File(new URL(location,"platform.xml").getFile());

-		assertTrue("new configuration does not exist", file.exists());

-		

-		// teh current one points to a real fature

-		// does not throw error.

-		IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		

-		IFeatureReference[] refs = configSite2.getConfiguredFeatures();

-		boolean found = false;

-		IFeature feature2 = null;

-		for (int i = 0; !found && i < refs.length; i++) {

-			IFeature feature3 = refs[i].getFeature(null);			

-			if ("org.test1.ident1_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-				feature2 = feature3;

-				found = true;

-			}		

-		}

-

-		//String configuredFeature = feature2.getLabel();

-		assertTrue("cannot find feature org.test1.ident1_1.0.0 in configured Site",found);

-		assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.test1.ident1_1.0.0"));

-		

-		// test only 2 install config in local site

-//		assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-		// test same number of sites in current config

-		assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-		//test only one feature for the site

-//		assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-		// test only 2 activities

-//		assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-		

-		

-		// cleanup

-		localFile = new File(location.getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);		

-		localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-		UpdateManagerUtils.removeFromFileSystem(localFile);							

-		UpdateManagerUtils.removeFromFileSystem(file);		

-		localFile = new File(feature2.getURL().getFile());

-		UpdateManagerUtils.removeFromFileSystem(localFile);

-	}*/

-	

-//TODO uncomment this once site disabling is supported

-public void testRetriveConfigHTTPInstallNotEnable() throws Exception {

-/*

-	//clean up

-	SiteLocal siteLocal = (SiteLocal)SiteManager.getLocalSite();

-	URL newURL = new URL(siteLocal.getLocationURL(),SiteLocal.SITE_LOCAL_FILE);

-	File localFile = new File(newURL.getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);

-	UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)siteLocal.getCurrentConfiguration()).getURL().getFile()));	

-	InternalSiteManager.localSite=null;		

-

-	ILocalSite site = SiteManager.getLocalSite();

-	ISite remoteSite = SiteManager.getSite(SOURCE_HTTP_SITE);

-	IFeature feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-		

-	// we are not checking if this is read only

-	IInstallConfiguration newConfig = site.cloneCurrentConfiguration();

-	newConfig.setLabel("new Label");		

-	IConfiguredSite configSite = newConfig.getConfiguredSites()[0];

-	ConfigurationPolicyModel configPolicy = new BaseSiteLocalFactory().createConfigurationPolicyModel();

-	configPolicy.setPolicy(IPlatformConfiguration.ISitePolicy.USER_INCLUDE);

-	((ConfiguredSite)configSite).setConfigurationPolicyModel((ConfigurationPolicyModel)configPolicy);	

-	int oldNumberOfhistory = site.getConfigurationHistory().length;			

-	site.addConfiguration(newConfig);

-		

-	

-	((ConfiguredSite)configSite).setUpdatable(true);

-	configSite.install(feature,null,null);

-	((ConfiguredSite)configSite).setEnabled(false);	

-	site.save();

-

-	//do not cleanup, we want to reuse previously created local site

-	// but force re-read of xml File

-	InternalSiteManager.localSite=null;

-	site = SiteManager.getLocalSite();

-	feature = remoteSite.getFeatureReferences()[0].getFeature(null);

-	int oldNumber = site.getCurrentConfiguration().getConfiguredSites().length;		

-		

-	// check

-	// there are 2 configuration

-	String time = ""+site.getCurrentConfiguration().getCreationDate().getTime();

-	URL location = ((SiteLocal)site).getLocationURL();		

-	File file = new File(location.getFile());

-	assertTrue("new configuration does not exist", file.exists());

-		

-	// teh current one points to a real fature

-	// does not throw error.

-	IConfiguredSite configSite2 = site.getCurrentConfiguration().getConfiguredSites()[0];

-		

-	IFeatureReference[] refs = configSite2.getConfiguredFeatures();

-	boolean found = false;

-	IFeature feature2 = null;

-	for (int i = 0; !found && i < refs.length; i++) {

-		IFeature feature3 = refs[i].getFeature(null);			

-		if ("org.test1.ident1_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-			feature2 = feature3;

-			found = true;

-		}		

-	}

-

-	//String configuredFeature = feature2.getLabel();

-	assertTrue("found feature org.test1.ident1_1.0.0 in disabled configured Site",!found);

-		

-	//test no configured features

-//	assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==0);

-	

-	

-	configSite2.setEnabled(true);

-	refs = configSite2.getConfiguredFeatures();	

-	for (int i = 0; i < refs.length; i++) {

-		IFeature feature3 = refs[i].getFeature(null);			

-		if ("org.test1.ident1_1.0.0".equals(feature3.getVersionedIdentifier().toString())){

-			feature2 = feature3;

-			found = true;

-		}		

-	}

-

-	//String configuredFeature = feature2.getLabel();

-	assertTrue("cannot find feature org.test1.ident1_1.0.0 in configured Site",found);

-	assertTrue("Wrong id  version of feature",feature2.getVersionedIdentifier().toString().equalsIgnoreCase("org.test1.ident1_1.0.0"));

-		

-	// test only 2 install config in local site

-//	assertEquals("wrong number of history in Local site:",oldNumberOfhistory+1,site.getConfigurationHistory().length);

-		

-	// test same number of sites in current config

-//	assertTrue("Wrong number of config sites in current config",site.getCurrentConfiguration().getConfiguredSites().length==oldNumber);

-		

-	//test only one feature for the site

-//	assertTrue("wrong number of configured features for config site",site.getCurrentConfiguration().getConfiguredSites()[0].getConfiguredFeatures().length==1);

-		

-	// test only 2 activities

-//	assertTrue("Wrong number of activities for install config",site.getCurrentConfiguration().getActivities().length==2);

-		

-		

-	// cleanup

-	localFile = new File(new URL(location,SiteLocal.SITE_LOCAL_FILE).getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);		

-	localFile = new File(new URL(location,SiteLocal.DEFAULT_CONFIG_FILE).getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);	

-	localFile = new File(new URL(location,Site.DEFAULT_FEATURE_PATH+File.separator+feature.getVersionedIdentifier().toString()).getFile());		

-	UpdateManagerUtils.removeFromFileSystem(localFile);	

-	UpdateManagerUtils.removeFromFileSystem(new File(((InstallConfiguration)site.getCurrentConfiguration()).getURL().getFile()));						

-	UpdateManagerUtils.removeFromFileSystem(file);		

-	localFile = new File(feature2.getURL().getFile());

-	UpdateManagerUtils.removeFromFileSystem(localFile);*/

-}

-

-

-}

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
deleted file mode 100644
index c19554e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularInstall/TestSpaceInInstall.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularInstall;

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestSpaceInInstall extends UpdateManagerTestCase {

-	/**

-	 * Constructor for Test1

-	 */

-	public TestSpaceInInstall(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 *

-	 */

-	public void testSpaceInURL() throws Exception {

-

-		//cleanup target 

-		URL testURL = new URL(TARGET_FILE_SITE,"test site space/"); 

-		String testPath = testURL.getFile();

-		File target = new File(testPath);

-		UpdateManagerUtils.removeFromFileSystem(target);

-		

-		URL newURL = new File(dataPath + "Site with space/site.xml").toURL();

-		ISite remoteSite = SiteManager.getSite(newURL,true,null);

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		File file = new File(testURL.getFile());

-		if (!file.exists()) file.mkdirs();

-		ISite localSite = SiteManager.getSite(testURL,true,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			remove(remoteFeature,localSite); 

-			localSite.install(remoteFeature, null,null);

-			

-			if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-			if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-

-			// verify

-			String site = testURL.getFile();

-			IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getVersionedIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally", pluginFile.exists());

-

-			File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-			assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-

-

-	}

-	

-	

-	/**

-	 *

-	 */

-	public void testSpaceInHTTPURL() throws Exception {

-

-		//cleanup target  

-		File target = new File(TARGET_FILE_SITE.getFile());

-		UpdateManagerUtils.removeFromFileSystem(target);

-		InstallRegistry.cleanup();

-		

-		String path = bundle.getString("HTTP_PATH_3");

-		ISite remoteSite = SiteManager.getSite(new URL("http",getHttpHost(),getHttpPort(),path),true,null);		

-		IFeatureReference[] featuresRef = remoteSite.getFeatureReferences();

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,true,null);

-		IFeature remoteFeature = null;

-		

-		// at least one executable feature and on packaged

-		boolean execFeature = false;

-		boolean packFeature = false;

-

-		if (featuresRef.length==0) fail ("no feature found");

-	

-		for (int i = 0; i < featuresRef.length; i++) {

-			remoteFeature = featuresRef[i].getFeature(null);

-			localSite.install(remoteFeature, null,null);

-			

-			if (remoteFeature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider) packFeature = true;

-			if (remoteFeature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider) execFeature = true;

-

-			// verify

-			String site = TARGET_FILE_SITE.getFile();			

-			IPluginEntry[] entries = remoteFeature.getRawPluginEntries();

-			assertTrue("no plugins entry", (entries != null && entries.length != 0));

-			String pluginName = entries[0].getVersionedIdentifier().toString();

-			File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-			assertTrue("plugin files not installed locally", pluginFile.exists());

-

-			File featureFile = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString());

-			assertTrue("feature info not installed locally:"+featureFile, featureFile.exists());

-

-			File featureFileXML = new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + remoteFeature.getVersionedIdentifier().toString() + File.separator + "feature.xml");

-			assertTrue("feature info not installed locally: no feature.xml", featureFileXML.exists());

-		}

-

-		if (!execFeature && !packFeature){

-			fail("cannot find one executable and one package feature on teh site");

-		}

-

-		//cleanup target 

-		UpdateManagerUtils.removeFromFileSystem(target);

-		InstallRegistry.cleanup();

-

-	}

-		

-		

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
deleted file mode 100644
index d74691f..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/AllRegularRemoveTests.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularRemove;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllRegularRemoveTests extends UpdateManagerTestCase {

-public AllRegularRemoveTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Remove Tests");

-	

-	suite.addTest(new TestSuite(TestRemove.class));

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
deleted file mode 100644
index 7211009..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/regularRemove/TestRemove.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.regularRemove;

-import java.io.File;

-import java.net.MalformedURLException;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.configuration.IConfiguredSiteChangedListener;

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-public class TestRemove extends UpdateManagerTestCase {

-

-	public class Listener implements IConfiguredSiteChangedListener {

-

-		public boolean notified = false;

-

-		public void featureInstalled(IFeature feature) {

-			notified = true;

-			System.out.println("Notified DefaultFeature Installed");

-		}

-

-		public void featureRemoved(IFeature feature) {

-		}

-		public void featureConfigured(IFeature feature) {

-		}

-		public void featureUnconfigured(IFeature feature) {

-		}

-

-		public boolean isNotified() {

-			return notified;

-		}

-	}

-

-	/**

-	 * Constructor for Test1

-	 */

-	public TestRemove(String arg0) {

-		super(arg0);

-	}

-

-	private IFeature getFeature1(ISite site)

-		throws MalformedURLException, CoreException {

-		//URL url = UpdateManagerUtils.getURL(site.getURL(), "features/org.eclipse.update.core.tests.feature1_1.0.4.jar", null);

-		SiteFeatureReference ref = new SiteFeatureReference();

-		ref.setSite(site);

-		ref.setURLString("features/org.eclipse.update.core.tests.feature1_1.0.4.jar");

-		ref.setType(ISite.DEFAULT_PACKAGED_FEATURE_TYPE);

-		ref.resolve(site.getURL(), null);

-		return ref.getFeature(null);

-	}

-

-	public void testRemoveFeature() throws Exception {

-

-		// install feature

-		ISite remoteSite = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		IFeature remoteFeature = getFeature1(remoteSite);

-		ISite localSite = SiteManager.getSite(TARGET_FILE_SITE,null);

-		IFeatureReference ref = localSite.install(remoteFeature, null, null);

-

-		// then remove it

-		assertNotNull("Feature is null",ref.getFeature(null));

-		String featureRef = ref.getFeature(null).getVersionedIdentifier().toString();

-		localSite.remove(ref.getFeature(null), null);

-

-		// verify

-		String site = TARGET_FILE_SITE.getFile();

-		IPluginEntry[] entries = remoteFeature.getPluginEntries();

-		assertTrue("no plugins entry", (entries != null && entries.length != 0));

-		String pluginName = entries[0].getVersionedIdentifier().toString();

-

-		File pluginFile = new File(site, Site.DEFAULT_PLUGIN_PATH + pluginName);

-		assertTrue("plugin files installed locally", !pluginFile.exists());

-

-		File featureFile =

-			new File(site, Site.DEFAULT_INSTALLED_FEATURE_PATH + featureRef);

-		assertTrue(

-			"feature info installed locally:" + featureFile,

-			!featureFile.exists());

-

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java
deleted file mode 100644
index fcb32f8..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/AllSiteValidationTests.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.sitevalidation;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-import junit.framework.*;
-
-public class AllSiteValidationTests extends UpdateManagerTestCase {
-	public AllSiteValidationTests(String name) {
-		super(name);
-	}
-	public static Test suite() {
-		TestSuite suite = new TestSuite();
-		suite.setName("Site Validation Tests");
-
-		// the following will take all teh test methods in teh class that start with 'test'
-
-		suite.addTest(new TestSuite(TestSiteValidation.class));
-
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java
deleted file mode 100644
index 4398279..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/sitevalidation/TestSiteValidation.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.tests.sitevalidation;
-import java.io.*;
-import java.net.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.configurator.IPlatformConfiguration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.tests.*;
-
-public class TestSiteValidation extends UpdateManagerTestCase {
-
-
-	/**
-	 * Constructor 
-	 */
-	public TestSiteValidation(String arg0) {
-		super(arg0);
-	}
-
-	private void removeConfigSite(URL url) throws Exception {
-		// get new config object
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISiteEntry s1 = cfig.findConfiguredSite(url);
-		assertNotNull("Unable to find site entry:"+url,s1);
-		cfig.unconfigureSite(s1);
-	}
-
-	public void testSite1() throws Exception {
-
-		URL remoteUrl = new URL(TARGET_FILE_SITE + "validation/site1/eclipse");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		file.mkdirs();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-		String msg = "The site "+file+" should be updatable.";
-		if (!status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		currentConfig.removeConfiguredSite(configuredSite);
-		removeConfigSite(configuredSite.getSite().getURL());
-	}
-	
-	public void testSite2() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site2/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite;
-		try {
-		 configuredSite = currentConfig.createConfiguredSite(file);
-		} catch (CoreException e){
-			return;
-		}
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-//		UpdateManagerUtils.removeFromFileSystem(new File(file,".eclipseUM"));
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		if (status.getMessage().indexOf("This site is contained in another site:")==-1){
-			fail("Wrong validation:"+status.getMessage());
-		}
-	}	
-
-	public void testSite3() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site3/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-//		UpdateManagerUtils.removeFromFileSystem(new File(file,".eclipseUM"));
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-//		if (status.getMessage().indexOf("This site is contained in another site:")==-1){
-//			fail("Wrong validation:"+status.getMessage());
-//		}
-	}	
-
-	public void testSite4() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site4/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		if (status.getMessage().indexOf("The site cannot be modified by this product. It is already associated with product:")==-1){
-			fail("Wrong validation:"+status.getMessage());
-		}
-	}	
-
-	public void testSite5() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site5/");
-		File file = new File(remoteUrl.getFile());
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-		String msg = "The site "+file+" should be updatable.";
-		if (!status.isOK()){
-			fail(msg+status.getMessage());
-		}
-		
-			// get new config object
-		URL url = configuredSite.getSite().getURL();
-		IPlatformConfiguration cfig = ConfiguratorUtils.getCurrentPlatformConfiguration();
-		ISiteEntry s1 = cfig.findConfiguredSite(url);
-		assertNotNull("Site entry not found:"+url,s1);
-		cfig.unconfigureSite(s1);
-		cfig.save();
-	}
-	
-	public void testSite6() throws Exception {
-
-		URL remoteUrl = new URL(SOURCE_FILE_SITE + "validation/site6/children/children/eclipse/");
-		File file = new File(remoteUrl.getFile());
-		if (!file.exists()) file.mkdirs();
-		ILocalSite local = SiteManager.getLocalSite();
-		IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-		IConfiguredSite configuredSite = currentConfig.createConfiguredSite(file);
-		IStatus status = configuredSite.verifyUpdatableStatus();
-
-//		UpdateManagerUtils.removeFromFileSystem(new File(file,".eclipseUM"));
-
-		String msg = "The site "+file+" should not be updatable.";
-		if (status.isOK()){
-			fail(msg+status.getMessage());
-		}
-//		if (status.getMessage().indexOf("This site is contained in another site:")==-1){
-//			fail("Wrong validation:"+status.getMessage());
-//		}
-	}	
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java
deleted file mode 100644
index 2cb5972..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/AllStandaloneTests.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import junit.framework.Test;
-import junit.framework.TestSuite;
-
-import org.eclipse.update.tests.UpdateManagerTestCase;
-
-
-public class AllStandaloneTests extends UpdateManagerTestCase{
-
-	public AllStandaloneTests(String name){
-		super(name);
-	}
-	
-	public static Test suite(){
-		TestSuite suite = new TestSuite();
-		suite.setName("Standalone Tests");
-		
-		// the following will take all the test methods in 
-		// the class that start with "test"
-		suite.addTest(new TestSuite(TestFeatureInstall.class));
-		suite.addTest(new TestSuite(TestFeatureUpdate.class));
-		suite.addTest(new TestSuite(TestFeatureEnable.class));
-		suite.addTest(new TestSuite(TestFeatureDisable.class));
-		suite.addTest(new TestSuite(TestFeatureUninstall.class));
-		suite.addTest(new TestSuite(TestBundlesInstall.class));
-		//and this one's for fun :)
-//		suite.addTest(new TestSuite(TestSiteSearch.class));
-		
-		return suite;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java
deleted file mode 100644
index aa168ac..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/StandaloneManagerTestCase.java
+++ /dev/null
@@ -1,327 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.tests.*;
-
-public class StandaloneManagerTestCase extends UpdateManagerTestCase {
-	public static StringBuffer errOutput;
-	public static Integer exitValue= new Integer(-1);
-	public static URL TARGET_FILE_SITE;
-	private boolean oldCache = false;
-	
-	static {
-		File targetDir = new File(System.getProperty("java.io.tmpdir"));
-		targetDir = new File(targetDir, "standalone");
-		targetDir = new File(targetDir, "mytarget");
-		if (targetDir.exists())
-			deleteDirectory(targetDir);
-		try {
-			TARGET_FILE_SITE = targetDir.toURL();
-		} catch (MalformedURLException e) {
-			e.printStackTrace();
-		}
-	}
-	
-	public StandaloneManagerTestCase (String arg0){
-		super(arg0);
-	}
-	
-	/**
-	 * Sets up the fixture, for example, open a network connection.
-	 * This method is called before a test is executed.
-	 */
-	protected void umSetUp() {
-		// setup cache site to true
-		oldCache = InternalSiteManager.globalUseCache;
-		InternalSiteManager.globalUseCache = true;
-	}
-	
-	/**
-	 * Tears down the fixture, for example, close a network connection.
-	 * This method is called after a test is executed.
-	 */
-	protected void umTearDown() {
-		// do nothing.
-		InternalSiteManager.globalUseCache = oldCache;
-	}
-	
-	public void checkConfiguredSites(){
-		ILocalSite localSite;
-		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
-		try {
-			localSite = SiteManager.getLocalSite();
-			System.out.println("LocalSite: " + localSite.getCurrentConfiguration().getLabel());
-		
-		//Get site to install to
-		IInstallConfiguration currentConfig = localSite.getCurrentConfiguration();
-		IConfiguredSite[] sites = currentConfig.getConfiguredSites();
-//	
-//			// start of config site print
-		System.out.println("GETTING CONFIGURED SITES...");
-		for (int i = 0; i<sites.length; i++){
-			System.out.println("site #" + i + ": " + sites[i].getSite().getURL().getFile());
-		}
-		System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-	
-	// get the first configured site found because this is the one we're most likely to 
-	// have installed into
-	public ISite getConfiguredSite(URL target){
-		try {
-			ILocalSite local = SiteManager.getLocalSite();
-			IInstallConfiguration currentConfig = local.getCurrentConfiguration();
-			IConfiguredSite[] sites = currentConfig.getConfiguredSites();
-			System.out.println("\nretrieving configured sites...");
-			String targetFile = new File(target.getFile()).getAbsolutePath();
-			for (int i = 0; i<sites.length ; i++){
-				System.out.println("site["+i+"]: " + sites[i].getSite().getURL());
-				String siteFile = new File(sites[i].getSite().getURL().getFile()).getAbsolutePath();
-				if (targetFile.equals(siteFile))
-					return sites[i].getSite();
-			}
-			if (sites.length == 0)
-				return null;
-			return sites[0].getSite();
-		} catch (CoreException e) {
-			System.err.println(e);
-			return null;
-		}
-	}
-	//WatchDog thread to kill mirroring process if it hangs (or takes too long)
-	public static class Timer extends Thread{
-		private Process proc;
-		
-		public Timer(Process proc){
-			super();
-			this.setDaemon(true);
-			this.proc = proc;
-		}
-		
-		public void run(){
-			try {
-				// sleep time 5min
-				sleep(300000); 
-				System.out.println("destroying process");
-				proc.destroy();
-			} catch (Exception e) {
-				System.err.println(e);
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	// StreamConsumer to display output to output files or console
-	public static class StreamConsumer extends Thread {
-		private BufferedReader bReader;
-
-		public StreamConsumer(InputStream inputStream) {
-			super();
-			setDaemon(true);
-			bReader = new BufferedReader(new InputStreamReader(inputStream));
-			errOutput = new StringBuffer();
-		}
-
-		public void run() {
-			try {
-				String line;
-				while (null != (line = bReader.readLine())) {
-					System.err.println(line);
-					errOutput.append(line);
-					errOutput.append("\n");
-				}
-			} catch (IOException e) {
-				System.err.println(e);
-				e.printStackTrace();
-			}
-		}
-	}
-	
-	/**
-	 * @param command : command argument to run on site/feature 
-	 * (i.e. 'install', 'enable', 'disable', 'update') *<i>required</i>*
-	 * @param fid : feature id of the feature being installed, enabled, etc.
-	 * (optional - can be null)
-	 * @param ver : version of feature being installed, enabled, etc. (optional - can be null)
-	 * @param config : location of configuration info (i.e. file:D:\temp\.config\)
-	 * @param remoteLoc : remote site url (required for installing/searching from remote site)
-	 * @param localLoc : target site directory (required unless updating/searching)
-	 * @return a string array consisting of commands and their arguments to
-	 * be run
-	 */
-	public String[] getCommand(
-		String command,
-		String fid,
-		String ver,
-		String config,
-		String remoteLoc,
-		String localLoc){
-		final String classpath = "startup.jar";
-		final String launcher = "org.eclipse.core.launcher.Main";
-		final String application = "org.eclipse.update.core.standaloneUpdate";
-		final String FLAG_CP = "-cp";
-		final String FLAG_APP = "-application";
-		final String FLAG_CMD = "-command";
-		final String FLAG_FID = "-featureId";
-		final String FLAG_DATA = "-data";
-		final String FLAG_VERSION = "-version";
-		final String FLAG_FROM = "-from";
-		final String FLAG_TO = "-to";
-		final String FLAG_CONFIG = "-configuration";
-//		final String FLAG_URL = "-mirrorURL";
-		final String FLAG_SPLASH = "-nosplash";
-		final String FLAG_CONSOLELOG = "-consolelog";
-		final String data =
-			UpdateCore.getPlugin().getStateLocation().toOSString();
-		String[] cmd =
-			new String[] {
-				getJavaVMPath(),
-				FLAG_CP,
-				classpath,
-				launcher,
-				FLAG_APP,
-				application,
-				FLAG_CMD,
-				command,
-				(remoteLoc !=null ? FLAG_FROM : ""),
-				(remoteLoc !=null ? remoteLoc : ""),
-				(localLoc !=null ? FLAG_TO : ""),
-				(localLoc !=null ?localLoc.replaceFirst("file:", "") : ""),
-				(fid != null ? FLAG_FID : ""),
-				(fid != null ? fid : ""),
-				(ver != null ? FLAG_VERSION : ""),
-				(ver != null ? ver : ""),
-				(config != null ? FLAG_CONFIG : ""),
-				(config != null ? config : ""),
-				FLAG_SPLASH,
-				FLAG_DATA,
-				data,
-				FLAG_CONSOLELOG};
-		for (int i = 0 ;i<cmd.length; i++){
-			System.out.print(cmd[i] + " ");			
-		}System.out.println();
-		return cmd;
-	}
-	
-	public String getJavaVMPath() {
-		// Create command string for launching the process
-		String vm = System.getProperty("java.vm.name");
-		String executable = "J9".equals(vm) ? "j9" : "java";
-		if (org.eclipse.osgi.service.environment.Constants.OS_WIN32.equals(Platform.getOS()))
-			executable += "w.exe";
-
-		String javaInstallDir =
-			System.getProperty("java.home") + File.separator + "bin";
-		return javaInstallDir + File.separator + executable;
-	}
-	
-	public int performAction(String[] cmd) {
-		File file = new File(getEclipseRoot());
-		try {
-
-			Process proc =
-				Runtime.getRuntime().exec(cmd, (String[]) null, file);
-
-			StreamConsumer outputs = new StreamConsumer(proc.getInputStream());
-			outputs.start();
-			StreamConsumer errors = new StreamConsumer(proc.getErrorStream());
-			errors.start();
-			Timer timer = new Timer(proc);
-			timer.start();
-
-			return proc.waitFor();
-		} catch (IOException e) {
-			System.err.println(e);
-		} catch (InterruptedException e) {
-			System.err.println(e);
-		} catch (Exception e) {
-			System.err.println(e);
-		}
-		return -1;
-	}
-	
-	public String getEclipseRoot() {
-		return ConfiguratorUtils.getInstallURL().toExternalForm().replaceFirst(
-			"file:",
-			"");
-	}
-	
-	public ArrayList getArrayList(String[] list){
-		ArrayList temp = new ArrayList();
-		for(int i = 0; i< list.length; i++){
-			temp.add(list[i]);
-		}
-		return temp;
-	}
-	
-	public File getLatestConfigurationFile(File localFile) {
-
-		try {
-			System.out.println("reading from : " + localFile.getAbsolutePath());
-				FileReader freader = new FileReader(localFile);
-				BufferedReader breader = new BufferedReader(freader);
-				String configFileName="", line;
-				while (breader.ready()) {
-					line = breader.readLine();
-//					System.out.println(line);
-					if (line.trim().startsWith("<config url")) {
-						configFileName = line.split("\"")[1];
-					}
-				}
-				// read config file
-				File parent = new File(localFile.getParent());
-				System.out.println("parent: " + parent.getAbsolutePath());
-				String[] parList = parent.list();
-				int latest = 0; 
-				for (int i = parList.length-1; i>=0; i--){
-					System.out.println("parList[" + i + "]: " + parList[i]);
-					if (parList[i].startsWith("platform")){
-						latest = i;
-						break;
-					}
-				}
-				File configFile = new File(parent.getAbsolutePath() + File.separator + parList[latest]);
-				return configFile;
-				// end of config file read
-		} catch (Exception e) {
-			System.err.println(e);
-			e.printStackTrace();
-		}
-		return localFile;
-	}
-	
-	private static void deleteDirectory(File dir) {
-		File[] list = dir.listFiles();
-		if (list == null)
-			return;
-			
-		for (int i=0; i<list.length; i++) {
-			if (list[i].isDirectory()) 
-				deleteDirectory(list[i]);
-			if (!list[i].delete())
-				System.out.println("Unable to delete "+list[i].toString());
-		}
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java
deleted file mode 100644
index 629f3ca..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestBundlesInstall.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-
-public class TestBundlesInstall extends StandaloneManagerTestCase {
-	private static boolean isInstalled;
-
-	public TestBundlesInstall(String arg0) {
-		super(arg0);
-		isInstalled = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		//System.out.println("looking at configured sites available....");
-		//checkConfiguredSites();
-		
-		String featureId = "com.example.bundle.feature";
-		String version = "1.0.0";
-
-		String fromRemoteSiteUrl = "http://"+getHttpHost()+":"+ getHttpPort()+ "/org.eclipse.update.tests.core.updatetests/bundleSite/";
-		if (!isInstalled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"install",
-					featureId,
-					version,
-					null,
-					fromRemoteSiteUrl,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isInstalled = true;
-		}
-		
-	}
-
-	public void testPluginsExist() {
-		ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-		
-		System.out.println("localSite: " + localSite.getURL().getFile());
-		IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-		ArrayList list = new ArrayList();
-		if (pluginEntries == null || pluginEntries.length == 0){
-			System.err.println("No plugin entries on the target site");
-			fail("No plugin entries on the target site");
-		} else{
-			for (int i = 0; i < pluginEntries.length; i++){
-				System.out.println("found plugin: " + pluginEntries[i].getVersionedIdentifier().toString());
-				list.add(pluginEntries[i].getVersionedIdentifier().toString());
-			}
-		}
-
-		String[] pluginNames =
-			{	"com.example.bundle.plugin_1.0.0",
-				"com.example.bundle.plugin.ui_2.0.0",
-				"com.example.bundle.fragment_1.0.0",
-				"com.example.budle.fragment.ui_1.0.0"};
-		assertTrue(checkFilesInList(pluginNames, list));
-	}
-
-	public void testFeaturesExist() {
-		try {
-			ISite localSite =  getConfiguredSite(TARGET_FILE_SITE);
-
-			System.out.println("localSite: " + localSite.getURL().getFile());
-			// get feature references 
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			System.out.println("local currentCOnfigSite: " + localSite.getCurrentConfiguredSite());
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0){
-				System.err.println("No features on the target site");
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++)
-					list.add(localFeatures[i].getVersionedIdentifier().toString());
-			}
-			String[] featureNames =
-				{
-					"com.example.bundle.feature_1.0.0"};
-			assertTrue(checkFilesInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-
-	// makes sure all files/directories in "names" are in the directory listing "list"
-	public boolean checkFilesInList(
-		String[] names,
-		ArrayList list) {
-		
-		for (int i = 0; i < names.length; i++) {
-			System.out.println(names[i]);
-			if (!list.contains(names[i])){
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java
deleted file mode 100644
index e7457c2..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureDisable.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.standalone.*;
-
-public class TestFeatureDisable extends StandaloneManagerTestCase {
-	public static boolean isDisabled;
-	
-	public TestFeatureDisable(String arg0) {
-		super(arg0);
-		isDisabled = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		checkConfiguredSites();
-		if (!isDisabled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"disable",
-					featureId,
-					version,
-					null,
-					null,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isDisabled = true;
-			checkConfiguredSites();
-		}
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-
-	public void testFeatureStatus() throws Exception {
-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());
-		System.out.println(localFile.getAbsolutePath());
-		assertTrue(localFile.exists());
-		File configFile = getLatestConfigurationFile(localFile);
-	
-		String[] names =
-			{
-				"features/my.alphabet.round.letters_1.0.0/",
-				"features/my.alphabet.straight.letters_1.0.0/",
-				"features/my.alphabet_1.0.0/" };
-		assertTrue(configFile.exists());
-		assertTrue(checkFeaturesDisabled(getArrayList(names),configFile, TARGET_FILE_SITE.getFile()));
-	}
-
-	public boolean checkFeaturesDisabled(ArrayList featureNames, File configFile, String siteLocation){
-		try {
-			FileReader freader = new FileReader(configFile);
-			BufferedReader breader = new BufferedReader(freader);
-			String line;
-			System.out.println("now reading..." + configFile.getAbsolutePath());
-			boolean isSiteToCheck = false;
-			while (breader.ready()) {
-				line = breader.readLine();
-				if (line.trim().startsWith("<site url")){
-					isSiteToCheck = line.trim().split("\"")[1].replaceFirst("file:","").equals(siteLocation);
-				} else if (isSiteToCheck && line.trim().startsWith("<feature configured")){
-					System.err.println(line);
-					String[] configLine = line.split("\"");
-					if (featureNames.contains(configLine[3]) && configLine[1].equals("true")){
-						fail(configLine[3] + " has not been disabled.");
-					}
-				}
-			}
-		} catch (Exception e) {
-			System.err.println(e);
-		} 
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java
deleted file mode 100644
index ead1c67..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureEnable.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.IPlatformRunnable;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.standalone.*;
-
-public class TestFeatureEnable extends StandaloneManagerTestCase {
-	public static boolean isEnabled;
-	
-	public TestFeatureEnable(String arg0) {
-		super(arg0);
-		isEnabled = false;
-	}
-
-	public void umSetUp() {
-
-		super.umSetUp();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		checkConfiguredSites();
-		if (!isEnabled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"enable",
-					featureId,
-					version,
-					null,
-					null,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isEnabled = true;
-			checkConfiguredSites();
-		}
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-
-	public void testFeatureStatus() throws Exception {
-	
-		File localFile = new File(((SiteLocal)SiteManager.getLocalSite()).getLocationURL().getFile());
-		System.out.println(localFile.getAbsolutePath());
-		assertTrue(localFile.exists());
-		File configFile = getLatestConfigurationFile(localFile);
-		
-		String[] names =
-			{
-				"features/my.alphabet.round.letters_1.0.0/",
-				"features/my.alphabet.straight.letters_1.0.0/",
-				"features/my.alphabet_1.0.0/" };
-		assertTrue(configFile.exists());
-		assertTrue(checkFeaturesEnabled(getArrayList(names),configFile, TARGET_FILE_SITE.getFile()));
-	}
-
-	public boolean checkFeaturesEnabled(ArrayList featureNames, File configFile, String siteLocation){
-		try {
-			FileReader freader = new FileReader(configFile);
-			BufferedReader breader = new BufferedReader(freader);
-			String line;
-			System.out.println("now reading..." + configFile.getAbsolutePath());
-			boolean isSiteToCheck = false;
-			while (breader.ready()) {
-				line = breader.readLine();
-				if (line.trim().startsWith("<site url")){
-					isSiteToCheck = line.trim().split("\"")[1].replaceFirst("file:","").equals(siteLocation);
-				} else if (isSiteToCheck && line.trim().startsWith("<feature configured")){
-					System.err.println(line);
-					String[] configLine = line.split("\"");
-					if (featureNames.contains(configLine[3]) && configLine[1].equals("false")){
-						fail(configLine[3] + " has not been enabled.");
-					}
-					// temp - delete later
-					if (featureNames.contains(configLine[3]))
-						System.err.println(line);
-					// end of temp delete
-				}
-			}
-		} catch (Exception e) {
-			System.err.println(e);
-		} 
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java
deleted file mode 100644
index a8431c3..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureInstall.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-
-public class TestFeatureInstall extends StandaloneManagerTestCase {
-	private static boolean isInstalled;
-
-	public TestFeatureInstall(String arg0) {
-		super(arg0);
-		isInstalled = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		//System.out.println("looking at configured sites available....");
-		//checkConfiguredSites();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		String fromRemoteSiteUrl =
-			"http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/3.0/site/";
-		if (!isInstalled) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"install",
-					featureId,
-					version,
-					null,
-					fromRemoteSiteUrl,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isInstalled = true;
-		}
-		
-	}
-
-	public void testPluginsExist() {
-		ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-		
-		System.out.println("localSite: " + localSite.getURL().getFile());
-		IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-		ArrayList list = new ArrayList();
-		if (pluginEntries == null || pluginEntries.length == 0){
-			System.err.println("No plugin entries on the target site");
-			fail("No plugin entries on the target site");
-		} else{
-			for (int i = 0; i < pluginEntries.length; i++){
-				System.out.println("found plugin: " + pluginEntries[i].getVersionedIdentifier().toString());
-				list.add(pluginEntries[i].getVersionedIdentifier().toString());
-			}
-		}
-
-		String[] pluginNames =
-			{	"my.alphabet.letter.a_1.0.0",
-				"my.alphabet.letter.b_1.0.0",
-				"my.alphabet.letter.c_1.0.0",
-				"my.alphabet.letter.e_1.0.0",
-				"my.alphabet.round.letters_1.0.0",
-				"my.alphabet.straight.letters_1.0.0",
-				"my.alphabet_1.0.0" };
-		assertTrue(checkFilesInList(pluginNames, list));
-	}
-
-	public void testFeaturesExist() {
-		try {
-			ISite localSite =  getConfiguredSite(TARGET_FILE_SITE);
-
-			System.out.println("localSite: " + localSite.getURL().getFile());
-			// get feature references 
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			System.out.println("local currentCOnfigSite: " + localSite.getCurrentConfiguredSite());
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0){
-				System.err.println("No features on the target site");
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++)
-					list.add(localFeatures[i].getVersionedIdentifier().toString());
-			}
-			String[] featureNames =
-				{
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0" };
-			assertTrue(checkFilesInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-
-	// makes sure all files/directories in "names" are in the directory listing "list"
-	public boolean checkFilesInList(
-		String[] names,
-		ArrayList list) {
-		
-		for (int i = 0; i < names.length; i++) {
-			System.out.println(names[i]);
-			if (!list.contains(names[i])){
-				return false;
-			}
-		}
-		return true;
-	}
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java
deleted file mode 100644
index 7ed7e3e..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUninstall.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-
-public class TestFeatureUninstall extends StandaloneManagerTestCase {
-	public static boolean isUninstalled;
-	
-	public TestFeatureUninstall(String arg0){
-		super(arg0);
-		isUninstalled = false;
-	}
-	
-	public void umSetUp() {
-		super.umSetUp();
-		System.out.println("looking at configured sites available....");
-		checkConfiguredSites();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.0";
-
-		if(!isUninstalled){
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-					"uninstall",
-					featureId,
-					version,
-					null,
-					null,
-					TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isUninstalled = true;
-		}
-	}
-	
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-	
-	public void testFeaturesUninstalled() throws Exception {
-		try {
-			ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-			
-			// get feature references 
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0){
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++)
-					list.add(localFeatures[i].getVersionedIdentifier().toString());
-			}
-			String[] featureNames =
-				{
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0" };
-			assertTrue(checkFilesNotInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-	
-	public void testPluginsUninstalled() throws Exception {
-			ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-			
-			IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-			ArrayList list = new ArrayList();
-			if (pluginEntries == null || pluginEntries.length == 0)
-				fail("No plugin entries on the target site");
-			else
-				for (int i = 0; i < pluginEntries.length; i++){
-					list.add(pluginEntries[i].getVersionedIdentifier().toString());
-					System.out.println("plugin found: " + pluginEntries[i].getVersionedIdentifier().toString());
-				}
-
-			String[] pluginNames =
-				{	"my.alphabet.letter.a_1.0.0",
-					"my.alphabet.letter.b_1.0.0",
-					"my.alphabet.letter.c_1.0.0",
-					"my.alphabet.letter.e_1.0.0",
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0" };
-			assertTrue(checkFilesNotInList(pluginNames, list));	
-	}
-	
-	// makes sure all files/directories in "names" are NOT in the directory listing "list"
-	public boolean checkFilesNotInList(
-		String[] names,
-		ArrayList list) {
-		
-		for (int i = 0; i < names.length; i++) {
-			System.out.println("searching for " + names[i] + "...");
-			if (list.contains(names[i]))
-				return false;
-		}
-		return true;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java
deleted file mode 100644
index 0788468..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/standalone/TestFeatureUpdate.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.tests.standalone;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.standalone.*;
-
-public class TestFeatureUpdate extends StandaloneManagerTestCase {
-	public static boolean isUpdated;
-	
-	public TestFeatureUpdate(String arg0) {
-		super(arg0);
-		isUpdated = false;
-	}
-
-	public void umSetUp() {
-		super.umSetUp();
-		System.out.println("looking at configured sites available....");
-		checkConfiguredSites();
-		
-		String featureId = "my.alphabet";
-		String version = "1.0.1";
-
-		if (!isUpdated) {
-			System.out.println(
-				"==============" + this.getClass() + "=============");
-			StandaloneUpdateApplication app = new StandaloneUpdateApplication();
-			try {
-				exitValue = (Integer)app.run(getCommand(
-						"update",
-						featureId,
-						version,
-						null,
-						null,
-						TARGET_FILE_SITE.getFile()));
-			} catch (Exception e) {
-				e.printStackTrace();
-			}
-			isUpdated = true;
-		}
-	}
-
-
-	// ensure exit without problems
-	public void testExitValue() throws Exception {
-		System.out.println("exitValue: " + exitValue);
-		assertEquals(exitValue, IPlatformRunnable.EXIT_OK);
-	}
-	
-	public void testPluginsExist() {
-
-			ISite localSite =  getConfiguredSite(TARGET_FILE_SITE);
-
-			IPluginEntry[] pluginEntries = localSite.getPluginEntries();
-			ArrayList list = new ArrayList();
-			if (pluginEntries == null || pluginEntries.length == 0)
-				fail("No plugin entries on the target site");
-			else
-				for (int i = 0; i < pluginEntries.length; i++) {
-					list.add(
-						pluginEntries[i].getVersionedIdentifier().toString());
-				}
-
-			String[] pluginNames =
-				{
-					"my.alphabet.letter.a_1.0.0",
-					"my.alphabet.letter.b_1.0.0",
-					"my.alphabet.letter.c_1.0.0",
-					"my.alphabet.letter.e_1.0.0",
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0",
-					"my.alphabet.letter.a_1.0.1",
-					"my.alphabet.letter.b_1.0.1",
-					"my.alphabet.letter.c_1.0.1",
-					"my.alphabet.letter.e_1.0.1",
-					"my.alphabet.round.letters_1.0.1",
-					"my.alphabet.straight.letters_1.0.1",
-					"my.alphabet_1.0.1" };
-			assertTrue(checkFilesInList(pluginNames, list));
-	}
-
-	public void testFeaturesExist() {
-		try {
-			ISite localSite = getConfiguredSite(TARGET_FILE_SITE);
-
-			// get feature references
-			IFeatureReference[] localFeatures =
-				localSite.getFeatureReferences();
-			ArrayList list = new ArrayList();
-			if (localFeatures == null || localFeatures.length == 0) {
-				fail("No features on the target site");
-			} else {
-				for (int i = 0; i < localFeatures.length; i++) {
-					list.add(
-						localFeatures[i].getVersionedIdentifier().toString());
-					System.out.println(
-						localFeatures[i].getVersionedIdentifier().toString());
-				}
-			}
-			String[] featureNames =
-				{
-					"my.alphabet.round.letters_1.0.0",
-					"my.alphabet.straight.letters_1.0.0",
-					"my.alphabet_1.0.0",
-					"my.alphabet.round.letters_1.0.1",
-					"my.alphabet.straight.letters_1.0.1",
-					"my.alphabet_1.0.1" };
-			assertTrue(checkFilesInList(featureNames, list));
-		} catch (CoreException e) {
-			System.err.println(e);
-		}
-	}
-
-	// makes sure all files/directories in "names" are in the directory listing
-	// "list"
-	public boolean checkFilesInList(String[] names, ArrayList list) {
-
-		for (int i = 0; i < names.length; i++) {
-			if (!list.contains(names[i]))
-				return false;
-		}
-		return true;
-	}
-
-}
diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
deleted file mode 100644
index 8c32d5a..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/AllTypesTests.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.types;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllTypesTests extends UpdateManagerTestCase {

-public AllTypesTests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	suite.addTest(new TestSuite(TestFeatureType.class));

-	suite.addTest(new TestSuite(TestSiteType.class));	

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
deleted file mode 100644
index 4b5d09c..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestFeatureType.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.types;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestFeatureType extends UpdateManagerTestCase {

-

-

-	private static final String PACKAGED_FEATURE_TYPE = "packaged"; //$NON-NLS-1$

-	private static final String INSTALLED_FEATURE_TYPE = "installed"; //$NON-NLS-1$	

-	

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestFeatureType(String arg0) {

-		super(arg0);

-	}

-	

-	

-	public String getDefaultInstallableFeatureType() {

-		String pluginID = UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + "."; //$NON-NLS-1$

-		return pluginID + PACKAGED_FEATURE_TYPE;

-	}

-	

-	public String getDefaultExecutableFeatureType() {

-		String pluginID = UpdateCore.getPlugin().getDescriptor().getUniqueIdentifier() + "."; //$NON-NLS-1$

-		return pluginID + INSTALLED_FEATURE_TYPE;

-	}		

-	

-	/**

-	 * @throws Exception

-	 */

-	public void testSimplePackagedFeatureType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultInstallableFeatureType());

-		

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		URL featureURL = new URL(SOURCE_FILE_SITE,"features/features2.jar ");

-		

-		IFeature anotherFeature = factory.createFeature(featureURL,site,null);

-		

-		assertTrue("Factory doesn't create same feature",anotherFeature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-	}	

-	

-		/**

-	 * @throws Exception

-	 */

-	public void testSimpleExecutableFeatureType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultExecutableFeatureType());

-		

-		ISite site = SiteManager.getSite(SOURCE_FILE_SITE,null);

-		URL featureURL = new URL(SOURCE_FILE_SITE,"testAPI/"+Site.DEFAULT_INSTALLED_FEATURE_PATH+"feature3/");

-		

-		IFeature anotherFeature = factory.createFeature(featureURL,site,null);

-		

-		assertTrue("Factory doesn't create same feature",anotherFeature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-	}	

-	

-	/**

-	 * @throws Exception

-	 */

-	public void testFeatureType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultInstallableFeatureType());

-		

-		ISite site = SiteManager.getSite(SOURCE_HTTP_SITE,null);

-		IFeature feature = site.getFeatureReferences()[0].getFeature(null);

-		

-		IFeature anotherFeature = factory.createFeature(feature.getURL(),site,null);

-		

-		assertTrue("Factory doesn't create same feature",feature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-	}

-	

-	

-	/**

-	 * @throws Exception

-	 */

-	public void testFeatureNewType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultExecutableFeatureType());

-		

-		String featurePath = dataPath+"FeatureTypeExamples/site1/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];

-		IFeature feature = ref.getFeature(null);

-		

-		IFeature anotherFeature = factory.createFeature(feature.getURL(),site,null);

-

-		assertTrue(feature.getFeatureContentProvider() instanceof FeatureExecutableContentProvider);		

-		assertTrue(((FeatureReference)ref).getType().equals("org.eclipse.update.tests.core.feature1"));		

-		assertTrue("Factory doesn't create same feature",feature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-

-

-	}

-	

-	

-		/**

-	 * @throws Exception

-	 */

-	public void testFeatureAnotherType() throws Exception{ 

-		FeatureTypeFactory factories = FeatureTypeFactory.getInstance();

-		IFeatureFactory factory = factories.getFactory(getDefaultInstallableFeatureType());

-		

-		String featurePath = dataPath+"FeatureTypeExamples/site2/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];		

-		IFeature feature = ref.getFeature(null);

-		

-		IFeature anotherFeature = factory.createFeature(feature.getURL(),site,null);

-		

-		assertTrue("Factory doesn't create same feature",feature.getVersionedIdentifier().equals(anotherFeature.getVersionedIdentifier()));

-		assertTrue(feature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider);

-		assertTrue(((FeatureReference)ref).getType().equals("org.eclipse.update.core.packaged"));

-		

-	}

-		

-		

-	/**

-	 * @throws Exception

-	 */

-	public void testFeatureUnknownType() throws Exception{ 

-		String featurePath = dataPath+"FeatureTypeExamples/site3/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];		

-		try {

-			ref.getFeature(null);

-			assertTrue("id found, should not be found",false);

-		} catch (CoreException e){

-			if (e.getMessage().indexOf("org.eclipse.update.core.unknowntype.jar")==-1){

-				throw e;

-			}

-		}

-		

-	}		

-		

-}

-

-

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
deleted file mode 100644
index af44fb0..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/types/TestSiteType.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.types;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.core.FeaturePackagedContentProvider;

-import org.eclipse.update.internal.core.SiteURLContentProvider;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import org.eclipse.update.tests.implementation.SiteFTPFactory;

-

-public class TestSiteType extends UpdateManagerTestCase {

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestSiteType(String arg0) {

-		super(arg0);

-	}

-

-	/**

-	 * @throws Exception

-	 */

-	public void testSiteType() throws Exception {

-

-		String featurePath = dataPath + "SiteTypeExamples/site1/site.xml";

-		ISite site = SiteManager.getSite(new File(featurePath).toURL(),null);

-		IFeatureReference ref = site.getFeatureReferences()[0];

-		IFeature feature = ref.getFeature(null);

-

-		assertTrue(site.getSiteContentProvider() instanceof SiteURLContentProvider);

-		assertTrue(((Site) site).getType().equals("org.eclipse.update.core.http"));

-		assertTrue(feature.getFeatureContentProvider() instanceof FeaturePackagedContentProvider);

-

-	}

-

-	/**

-		 * @throws Exception

-		 */

-	public void testFTPSiteType() throws Exception {

-

-		ISite site = SiteManager.getSite(new URL(SOURCE_FILE_SITE + "FTPLikeSite/"),null);

-

-		// should not find the mapping

-		// but then should attempt to read the XML file

-		// found a new type

-		// call the new type

-		assertTrue(

-			"Wrong site type",

-			site.getType().equals("org.eclipse.update.tests.ftp"));

-		assertTrue(

-			"Wrong file",

-			site.getURL().getFile().equals("/" + SiteFTPFactory.FILE));

-

-	}

-

-	public void testParseValid1() throws Exception {

-		try {

-			URL remoteURL = new URL(SOURCE_FILE_SITE + "parsertests/siteftp.xml");

-			ISite site = SiteManager.getSite(remoteURL,null);

-			site.getArchives();

-		} catch (CoreException e) {

-			if (e.getMessage().indexOf("</feature>") == -1) {

-				throw e;

-			}

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
deleted file mode 100644
index 400e932..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/AllCoreUITests.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.uivalues;

-

-import org.eclipse.update.tests.UpdateManagerTestCase;

-import junit.framework.*;

-

-

-public class AllCoreUITests extends UpdateManagerTestCase {

-public AllCoreUITests(String name) {

-	super(name);

-}

-public static Test suite() {

-	TestSuite suite = new TestSuite();

-	suite.setName("Regular Install Tests");

-	

-	// the following will take all teh test methods in teh class that start with 'test'

-	suite.addTest(new TestSuite(TestUILabel.class));

-	

-	// or you can specify the method

-	//suite.addTest(new TestGetFeature("methodThatDoesNotStartWithtest"));	

-	

-	return suite;

-}

-}

diff --git a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java b/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
deleted file mode 100644
index f8d6e60..0000000
--- a/update/org.eclipse.update.tests.core/src/org/eclipse/update/tests/uivalues/TestUILabel.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.tests.uivalues;

-

-import java.io.File;

-import java.net.URL;

-

-import org.eclipse.update.core.*;

-import org.eclipse.update.tests.UpdateManagerTestCase;

-

-

-public class TestUILabel extends UpdateManagerTestCase {

-

-	/**

-	 * Test the getFeatures()

-	 */

-	public TestUILabel(String arg0) {

-		super(arg0);

-	}

-	

-	

-	/**

-	 * Method testHTTPSite.

-	 * @throws Exception

-	 */

-	public void testUpdateManagerSite() throws Exception{ 

-		

-		ISite remoteSite = SiteManager.getSite(new URL("http",getHttpHost(),getHttpPort(),bundle.getString("HTTP_PATH_2")),null);

-		ICategory[] categories = remoteSite.getCategories();

-		for (int i =0; i<categories.length; i++){

-			System.out.println("Category ->"+categories[i].getLabel()+":"+categories[i].getName());

-		}

-		System.out.println(remoteSite.getDescription().getURL().toExternalForm());

-		IFeatureReference[] remoteFeatures = remoteSite.getFeatureReferences();

-		if (remoteFeatures==null || remoteFeatures.length==0) fail("No feature available for testing");		

-		for (int i=0;i<remoteFeatures.length;i++){

-			IFeature feature = remoteFeatures[i].getFeature(null);

-			System.out.println("feature:"+feature.getVersionedIdentifier()+"->"+feature.getLabel());

-			print(feature.getLicense(),"License");

-			print(feature.getCopyright(),"Copyright");			

-			print(feature.getDescription(),"Description");				

-			

-			// check that it downloads the feature.jar under the cover

-			// and unpack it

-			

-			URL url = feature.getLicense().getURL();

-			if (url!=null){

-				assertTrue((new File(url.getFile())).exists());

-			}

-

-			url = feature.getCopyright().getURL();

-			if (url!=null){

-				assertTrue((new File(url.getFile())).exists());

-			}

-			

-			url = feature.getDescription().getURL();

-			if (url!=null){

-				assertTrue((new File(url.getFile())).exists());

-			}

-			

-		}

-	}

-	

-	

-	/**

-	 * Method print.

-	 * @param info

-	 * @param text

-	 */

-	private void print(IURLEntry info, String text){

-		System.out.print("->"+text+":");

-		if (info.getURL()!=null) 

-			System.out.println("<"+info.getURL().toExternalForm()+">");

-		else 

-			System.out.println(info.getAnnotation());

-	}

-} 

-

-

diff --git a/update/org.eclipse.update.tests.core/test.xml b/update/org.eclipse.update.tests.core/test.xml
deleted file mode 100644
index 1da81e0..0000000
--- a/update/org.eclipse.update.tests.core/test.xml
+++ /dev/null
@@ -1,69 +0,0 @@
-<?xml version="1.0"?>

-<project name="testsuite" default="run" basedir="."> 

-  

-  <!-- The property ${eclipse-home} should be passed into this script -->

-  <!-- Set a meaningful default value for when it is not. -->

-  <property name="eclipse-home" value="${basedir}/../.."/>

-  

-  <!-- sets the properties eclipse-home, and library-file -->

-  <property name="plugin-name" value="org.eclipse.update.tests.core"/>

-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>

-  <property name="class-name" value="org.eclipse.update.tests.AllTests" />

-  

-  <!-- This target holds all initialization code that needs to be done for -->

-  <!-- all tests that are to be run. Initialization for individual tests -->

-  <!-- should be done within the body of the suite target. -->

-  <target name="init">

-    <tstamp/>

-    <delete>

-      <fileset dir="${eclipse-home}" includes="org*.xml"/>

-    </delete>

-  </target>

-  

-  <!-- This target defines the tests that need to be run. -->

-  <target name="suite">

-    <property name="sniff-folder" value="${eclipse-home}/update_core_sniff_folder"/>

-    <delete dir="${sniff-folder}" quiet="true"/>

-    

-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">

-      <property name="data-dir" value="${sniff-folder}"/>

-      <property name="plugin-name" value="${plugin-name}"/>

-      <property name="classname" value="${class-name}"/>

-    </ant>

-  </target>

-  

-  <!-- This target holds code to cleanup the testing environment after -->

-  <!-- after all of the tests have been run. You can use this target to -->

-  <!-- delete temporary files that have been created. -->

-  <target name="cleanup">

-  </target>

-  

-  <!-- This target runs the test suite. Any actions that need to happen -->

-  <!-- after all the tests have been run should go here. -->

-   <target name="run" depends="init,suite,cleanup">

-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">

-      <property name="includes" value="org*.xml"/>

-      <property name="output-file" value="${plugin-name}.xml"/>

-    </ant>

-  </target>

-	

-	<!-- This target defines the performance tests that need to be run. -->

-	<target name="performance-suite">

-	  <property name="your-performance-folder" value="${eclipse-home}/update_performance_folder"/>

-	  <delete dir="${your-performance-folder}" quiet="true"/>

-	  <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">

-	    <property name="data-dir" value="${your-performance-folder}"/>

-	    <property name="plugin-name" value="${plugin-name}"/>

-	    <property name="classname" value="org.eclipse.update.tests.perfms.AllPerformanceTests"/>

-	  </ant>

-	</target>

-	

-  <!-- This target runs the performance test suites. -->

-	<target name="performance" depends="init,performance-suite">

-	  <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">

-	    <property name="includes" value="org*.xml"/>

-	    <property name="output-file" value="${plugin-name}.xml"/>

-	  </ant>

-	</target>

-

-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/test_with_mail.xml b/update/org.eclipse.update.tests.core/test_with_mail.xml
deleted file mode 100644
index 9f1d408..0000000
--- a/update/org.eclipse.update.tests.core/test_with_mail.xml
+++ /dev/null
@@ -1,76 +0,0 @@
-<?xml version="1.0"?>
-<project name="testsuite" default="run" basedir="."> 
-  
-  <!-- The property ${eclipse-home} should be passed into this script -->
-  <!-- Set a meaningful default value for when it is not. -->
-  <property name="eclipse-home" value="${basedir}/../.."/>
-  
-  <!-- sets the properties eclipse-home, and library-file -->
-  <property name="plugin-name" value="org.eclipse.update.tests.core"/>
-  <property name="library-file" value="${eclipse-home}/plugins/org.eclipse.test/library.xml"/>
-  <property name="class-name" value="org.eclipse.update.tests.AllTests" />
-  
-  <!-- This target holds all initialization code that needs to be done for -->
-  <!-- all tests that are to be run. Initialization for individual tests -->
-  <!-- should be done within the body of the suite target. -->
-  <target name="init">
-    <tstamp/>
-    <delete>
-      <fileset dir="${eclipse-home}" includes="org*.xml"/>
-    </delete>
-  </target>
-  
-  <!-- This target defines the tests that need to be run. -->
-  <target name="suite">
-    <property name="sniff-folder" value="${eclipse-home}/update_core_sniff_folder"/>
-    <delete dir="${sniff-folder}" quiet="true"/>
-    
-    <ant target="core-test" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="data-dir" value="${sniff-folder}"/>
-      <property name="plugin-name" value="${plugin-name}"/>
-      <property name="classname" value="${class-name}"/>
-    </ant>
-  </target>
-  
-  <!-- This target holds code to cleanup the testing environment after -->
-  <!-- after all of the tests have been run. You can use this target to -->
-  <!-- delete temporary files that have been created. -->
-  <target name="cleanup">
-  </target>
-  
-  <!-- This target runs the test suite. Any actions that need to happen -->
-  <!-- after all the tests have been run should go here. -->
-   <target name="run" depends="init,suite,cleanup">
-
-    <property name="email-from" value="Eclipse_Automated_Test@oti.com"/>
-    <property name="email-subject" value="Install/Update: Nightly Build Report"/>
-    <property name="email-subject-log" value="Install/Update: Nightly .log"/>
-    <property name="email-server" value="d25ml04.torolab.ibm.com"/>
-    <property name="infile" value="${eclipse-home}/${plugin-name}.xml"/>
-    <property name="infile-log" value="${eclipse-home}/workspace/.metadata/.log"/>
-      
-    <ant target="collect" antfile="${library-file}" dir="${eclipse-home}">
-      <property name="includes" value="org*.xml"/>
-      <property name="output-file" value="${plugin-name}.xml"/>
-    </ant>
-    
-    <touch file="${infile-log}"/>
-
-    <mail from="${email-from}" tolist="celek@ca.ibm.com"
-          subject="${email-subject}" files="${infile}"
-          mailhost="${email-server}"/>
-
-    <mail from="${email-from}" tolist="celek@ca.ibm.com"
-          subject="${email-subject-log}" files="${infile-log}"
-          mailhost="${email-server}"/>
-
-    <mail from="${email-from}" tolist="celek@rogers.com"
-          subject="${email-subject-log}" files="${infile-log}"
-          mailhost="${email-server}"/>
-
-    <mail from="${email-from}" tolist="celek@rogers.com"
-          subject="${email-subject}" files="${infile}"
-          mailhost="${email-server}"/>
-
-  </target>
-</project>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
deleted file mode 100644
index 1a23946..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
deleted file mode 100644
index 33c3d5d..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/features space/space feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html b/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml b/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
deleted file mode 100644
index 67741d9..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/install/features space/feature3/feature.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<feature id="org.eclipse.update.core.tests.feature3" image="feature1.gif" label="Third Feature" provider-name="Smart Company" version="1.0.0" >

-  <description>Description</description>

-  <copyright>copyright</copyright>

-  <license>license</license>

-  <url>

-    <update label="URL to update the feature" url="http://www.eclipse.org/path/feature1/"/>

-    <discovery label="Discovery 1" url="http://www.eclipse.org"/>

-    <discovery label="Discovery 2" url="http://www.eclipse.org"/>

-  </url>

-</feature>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar b/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/plugins space/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml b/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
deleted file mode 100644
index b5d4bbf..0000000
--- a/update/org.eclipse.update.tests.core/webserver/Site with space/site.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site>

-<description url="info/siteInfo.html"/>

-  <feature url="features space/helpFeature.jar">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features space/space feature.jar">

-    <category name="eclipse/J2EE"/>

-  </feature>

-

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins space/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins space/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins space/junit_3.7.jar"/>

-  <archive path="plugins/org.eclipse.update.plugin1_1.1.1" url="plugins space/org.eclipse.update.plugin1_1.1.1"/>  

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
deleted file mode 100644
index aec67d4..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/helpFeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
deleted file mode 100644
index 870b40a..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/features/org.eclipse.pde.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
deleted file mode 100644
index 3917bb6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/top_titlsm.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
deleted file mode 100644
index 01e33df..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/img/wel_ml.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html b/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
deleted file mode 100644
index b065aa3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/info/siteInfo.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

-<html>

-<head>

-</head>

-  <body>

-<img src="img/top_titlsm.gif" alt="" width="460" height="50">

-<br>

-<br>

-     It started with Smalltalk<br>

-    OTI has been building tools for platform-independent OO development since

-  1988. Our ENVY&reg; technology first brought collaborative software development,

-  version management and shared repositories to Smalltalk. IBM is one of

-many   companies to license ENVY, which continues to be the foundation of

-VisualAge&reg;   Smalltalk.<br>

-<br>

-<br>

-<br>

-      Next came Java&#8482;<br>

-    Because of our expertise in OO technology, IBM turned to OTI for a next-generation

-  development environment for Java. The result is VisualAge for Java, which

-  continues to win awards for its innovative IDE and team support. InfoWorld

-  has chosen VisualAge for Java as development tool of the year - year after

-  year after year!<br>

-<br>

-<br>

-<br>

-      Then pervasive computing<br>

-    OTI continues its development of IBM's VisualAge Micro Edition, a state-of-the-art

-  platform for collaborative development of embedded applications and systems

-  that are very lean. As the steady stream of press releases attests, VisualAge

-  Micro Edition is already licensed to the leading microchip manufacturers,

-  microkernel developers, and producers of handheld and consumer devices.<br>

-<br>

-<br>

-<br>

-      Now it's Eclipse<br>

-    OTI has built the next generation IBM application development tools platform.

-  Eclipse is a kind of universal tool platform - an open extensible IDE for

-  anything and nothing in particular. The real value comes from tool plug-ins

-  that "teach" Eclipse how to work with things - java files, web content,

-graphics,  video - almost anything you can imagine. Eclipse allows you to

-independently  develop tools that integrate with other people's tools so

-seamlessly you won't know where one tool ends and another starts. The IBM

-supported version of this technology, WebSphere Studio Workbench, will be

-the core of the next  generation of IBM and IBM Business Partner e-business

-tools optimized for  the WebSphere software platform.<br>

-<br>

-<br>

-<br>

-      So what's next?<br>

-    OTI continues to deliver object-oriented technology that scales across

- platforms,  across teams and across project size. From a mainframe to a

-watch  - we're  closing in on that vision.<br>

-<br>

-<img src="img/wel_ml.jpg" width="460" height="460" alt="">

-<br>

-<br>

-<br>

-<br>

-<br>

-<br>

-</body>

-</html>

diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
deleted file mode 100644
index f107217..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/Pde_core.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
deleted file mode 100644
index 7584f66..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/help.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
deleted file mode 100644
index 67587b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/plugins/junit_3.7.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
deleted file mode 100644
index 5e5fda7..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager/site.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site >

-<description url="info/siteInfo.html"/>

-  <feature url="features/helpFeature.jar">

-    <category name="eclipse/UML"/>

-  </feature>

-  <feature url="features/org.eclipse.pde.feature_1.0.0.jar">

-    <category name="eclipse/J2EE"/>

-  </feature>

-  <archive path="plugins/org.eclipse.help_1.0.0.jar" url="plugins/help.jar"/>

-  <archive path="plugins/org.eclipse.pde.core_1.0.0.jar" url="plugins/Pde_core.jar"/>

-  <archive path="plugins/org.junit_3.5.0.jar" url="plugins/junit_3.7.jar"/>

-  <category-def label="IBM WSAD Tools" name="eclipse"/>

-  <category-def label="J2EE tools" name="eclipse/J2EE"/>

-  <category-def label="EJB Tools" name="eclipse/J2EE/EJB"/>

-  <category-def label="UML tools" name="eclipse/UML"/>

-  <category-def label="Messaging Tools" name="B2B"/>  

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
deleted file mode 100644
index 81df72c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/features2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
deleted file mode 100644
index d1aee3f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.test.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
deleted file mode 100644
index f515ff4..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse.update.core.tests.feature1_1.0.4.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
deleted file mode 100644
index 2be38d3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/features/org.eclipse_test_feature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
deleted file mode 100644
index 022665c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/org.eclipse.update.core.tests.childrenfeature_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar
deleted file mode 100644
index b519803..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/features/rootfeature.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index 5d9f5bc..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 8b4b04a..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
deleted file mode 100644
index 52208fe..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml
deleted file mode 100644
index 7b09c86..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/nestedFeatureSiteTest/site.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-  <feature url="features/rootfeature.jar" os="*"/>
-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
deleted file mode 100644
index b00d882..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature1.plugin1_1.1.1.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
deleted file mode 100644
index 0c995d5..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.feature2.plugin2_2.2.2.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
deleted file mode 100644
index d6737f6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.dummy_7.9.8.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
deleted file mode 100644
index eb8690f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin1_3.5.6.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
deleted file mode 100644
index 90a612f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/plugins/org.eclipse.update.core.tests.feature1.plugin2_5.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
deleted file mode 100644
index 8029c8e..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2003 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-drivers=Required Drivers

-security=Security Fixes

diff --git a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml b/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
deleted file mode 100644
index 657d9b2..0000000
--- a/update/org.eclipse.update.tests.core/webserver/UpdateManager2/site.xml
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<site id="org.eclipse.update.core.tests" name="Tests" version="0.0.1">

-  <feature url="features/org.eclipse.test.feature_1.0.0.jar">

-    <category name="category1"/>

-  </feature>

-  <feature url="features/features2.jar">

-    <category name="category1/subcat1"/>

-    <category name="category2"/>

-  </feature>

-  <feature url="features/org.eclipse.update.core.tests.feature1_1.0.4.jar">

-    <category name="category1"/>

-    <category name="category2"/>

-  </feature>

-  <feature url="features/org.eclipse_test_feature.jar"/>

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-    <category name="category1"/>

-  </feature>

-  <feature url="org.eclipse.update.core.feature2_1.0.0/org.eclipse.update.core.feature2_2.2.2.jar">

-  </feature>

-

-  <category-def name="category1/subcat1" label="Special Fix"/>

-  <category-def name="category1" label="%drivers"/>

-  <category-def name="category2" label="%security"/>

-</site>
\ No newline at end of file
diff --git a/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml b/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
deleted file mode 100644
index 1a6d904..0000000
--- a/update/org.eclipse.update.tests.core/webserver/WEB-INF/web.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>

-

-

-<!DOCTYPE web-app

-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"

-    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">

-

-<web-app>

-    

-</web-app>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar
deleted file mode 100644
index 20d3589..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/features/com.example.bundle.feature_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar
deleted file mode 100644
index d79d2cd..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.budle.fragment.ui_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar
deleted file mode 100644
index edb02bb..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.fragment_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar
deleted file mode 100644
index 32ec02c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin.ui_2.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar b/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar
deleted file mode 100644
index 2b1b693..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/plugins/com.example.bundle.plugin_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml b/update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml
deleted file mode 100644
index bab1332..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSite/site.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<site>
-   <feature url="features/com.example.bundle.feature_1.0.0.jar" id="com.example.bundle.feature" version="1.0.0">
-      <category name="BundleFeature"/>
-   </feature>
-   <category-def name="BundleFeature" label="Feature with Bundles"/>
-</site>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project
deleted file mode 100644
index 8e20903..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.budle.fragment.ui</name>
-	<comment></comment>
-	<projects>
-		<project>com.example.bundle.plugin</project>
-		<project>com.example.bundle.plugin.ui</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 2ad686f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Generated-from: 1077062974451

-Bundle-Name: Ui Fragment

-Bundle-Version: 1.0.0

-Bundle-SymbolicName: com.example.budle.fragment.ui

-Bundle-Vendor: Eclipse.org

-Bundle-ClassPath: ui.jar

-Legacy: true

-Fragment-Host: com.example.bundle.plugin.ui; bundle-version=2.0.0

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties
deleted file mode 100644
index 800a993..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.ui.jar = src/
-output.ui.jar = bin/
-bin.includes = fragment.xml,\
-               META-INF/,\
-               ui.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml
deleted file mode 100644
index 3c484b3..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.budle.fragment.ui/fragment.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="com.example.budle.fragment.ui"
-   name="Ui Fragment"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   plugin-id="com.example.bundle.plugin.ui"
-   plugin-version="2.0.0"
-   match="greaterOrEqual">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-</fragment>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project
deleted file mode 100644
index 8f3e4bc..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.feature</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.pde.FeatureBuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.pde.FeatureNature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties
deleted file mode 100644
index 346441c..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/build.properties
+++ /dev/null
@@ -1,11 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-bin.includes = feature.xml
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml
deleted file mode 100644
index bb41043..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.feature/feature.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
-      id="com.example.bundle.feature"
-      label="com.example.bundle.feature"
-      version="1.0.0"
-      provider-name="Eclipse.org">
-
-   <license>
-      A placeholder license for the feature.
-   </license>
-
-   <install-handler/>
-
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-   <plugin
-         id="com.example.bundle.plugin"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"/>
-
-   <plugin
-         id="com.example.budle.fragment.ui"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="com.example.bundle.fragment"
-         download-size="0"
-         install-size="0"
-         version="1.0.0"
-         fragment="true"/>
-
-   <plugin
-         id="com.example.bundle.plugin.ui"
-         download-size="0"
-         install-size="0"
-         version="2.0.0"/>
-
-</feature>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project
deleted file mode 100644
index 06d0c21..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.fragment</name>
-	<comment></comment>
-	<projects>
-		<project>com.example.bundle.plugin</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF
deleted file mode 100644
index 9d66480..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Generated-from: 1077062909487

-Bundle-Name: Fragment Fragment

-Bundle-Version: 1.0.0

-Bundle-SymbolicName: com.example.bundle.fragment

-Bundle-Vendor: Eclipse.org

-Bundle-ClassPath: fragment.jar

-Legacy: true

-Fragment-Host: com.example.bundle.plugin; bundle-version=1.0.0

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties
deleted file mode 100644
index b7a195f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.fragment.jar = src/
-output.fragment.jar = bin/
-bin.includes = fragment.xml,\
-               META-INF/,\
-               fragment.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml
deleted file mode 100644
index 2a5cd6e..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.fragment/fragment.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<fragment
-   id="com.example.bundle.fragment"
-   name="Fragment Fragment"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   plugin-id="com.example.bundle.plugin"
-   plugin-version="1.0.0">
-
-   <runtime>
-      <library name="fragment.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-
-</fragment>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project
deleted file mode 100644
index 83c3553..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.project
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.plugin.ui</name>
-	<comment></comment>
-	<projects>
-		<project>com.example.bundle.plugin</project>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index e3507a9..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,12 +0,0 @@
-Generated-from: 1077062999827

-Bundle-Name: Ui Plug-in

-Bundle-Version: 2.0.0

-Bundle-SymbolicName: com.example.bundle.plugin.ui

-Bundle-Vendor: Eclipse.org

-Bundle-ClassPath: ui.jar

-Legacy: true

-Bundle-Activator: com.example.bundle.plugin.ui.UiPlugin

-Require-Bundle: 

- org.eclipse.core.runtime,

- org.eclipse.ui,

- com.example.bundle.plugin; bundle-version=1.0.0;version-match=perfect

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class
deleted file mode 100644
index 5f73189..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/bin/com/example/bundle/plugin/ui/UiPlugin.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties
deleted file mode 100644
index 55270b6..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.ui.jar = src/
-output.ui.jar = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               ui.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml
deleted file mode 100644
index aeffdef..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="com.example.bundle.plugin.ui"
-   name="Ui Plug-in"
-   version="2.0.0"
-   provider-name="Eclipse.org"
-   class="com.example.bundle.plugin.ui.UiPlugin">
-
-   <runtime>
-      <library name="ui.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-      <import plugin="com.example.bundle.plugin" version="1.0.0" match="perfect"/>
-   </requires>
-
-
-</plugin>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java
deleted file mode 100644
index 30c44d4..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin.ui/src/com/example/bundle/plugin/ui/UiPlugin.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package com.example.bundle.plugin.ui;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UiPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static UiPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public UiPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("com.example.bundle.plugin.ui.UiPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UiPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = UiPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath
deleted file mode 100644
index 065ac06..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" path="src"/>
-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project
deleted file mode 100644
index 1719d73..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.project
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>com.example.bundle.plugin</name>
-	<comment></comment>
-	<projects>
-		<project>org.eclipse.core.runtime</project>
-		<project>org.eclipse.ui</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.pde.PluginNature</nature>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template
deleted file mode 100644
index f3bcd41..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/.template
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-   <p/><p><b>Tips on working with this plug-in project</b></p><li>For the view of the new plug-in at a glance, go to the <img href="pageImage"/><a href="OverviewPage">Overview</a>.</li><li>You can test the contributions of this plug-in by launching another instance of the workbench. On the <b>Run</b> menu, click <b>Run As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.run">Run-time Workbench</a> from the available choices.</li><li>You can add more functionality to this plug-in by adding extensions using the <a href="action.newExtension">New Extension Wizard</a>.</li><li>The plug-in project contains Java code that you can debug. Place breakpoints in Java classes. On the <b>Run</b> menu, select <b>Debug As</b> and choose <img href="runTimeWorkbenchImage"/><a href="action.debug">Run-time Workbench</a> from the available choices.</li>

-</form>

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF
deleted file mode 100644
index fc1adaf..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Generated-from: 1077062603708

-Bundle-Name: Plugin Plug-in

-Bundle-Version: 1.0.0

-Bundle-SymbolicName: com.example.bundle.plugin

-Bundle-Vendor: EXAMPLE

-Bundle-ClassPath: plugin.jar

-Legacy: true

-Bundle-Activator: com.example.bundle.plugin.PluginPlugin

-Require-Bundle: 

- org.eclipse.core.runtime,

- org.eclipse.ui

diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class
deleted file mode 100644
index 76caf03..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/bin/com/example/bundle/plugin/PluginPlugin.class
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties
deleted file mode 100644
index 1a2930f..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-###############################################################################
-# Copyright (c) 2003, 2004 IBM Corporation and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Eclipse Public License v1.0
-# which accompanies this distribution, and is available at
-# http://www.eclipse.org/legal/epl-v10.html
-#
-# Contributors:
-#     IBM Corporation - initial API and implementation
-###############################################################################
-source.plugin.jar = src/
-output.plugin.jar = bin/
-bin.includes = plugin.xml,\
-               META-INF/,\
-               plugin.jar
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml
deleted file mode 100644
index 297bc76..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/plugin.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="com.example.bundle.plugin"
-   name="Plugin Plug-in"
-   version="1.0.0"
-   provider-name="Eclipse.org"
-   class="com.example.bundle.plugin.PluginPlugin">
-
-   <runtime>
-      <library name="plugin.jar">
-         <export name="*"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.core.runtime"/>
-   </requires>
-
-
-</plugin>
diff --git a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java b/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java
deleted file mode 100644
index 8880dc9..0000000
--- a/update/org.eclipse.update.tests.core/webserver/bundleSitesrc/com.example.bundle.plugin/src/com/example/bundle/plugin/PluginPlugin.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package com.example.bundle.plugin;
-
-import org.eclipse.ui.plugin.*;
-import org.osgi.framework.BundleContext;
-import java.util.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class PluginPlugin extends AbstractUIPlugin {
-	//The shared instance.
-	private static PluginPlugin plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-	
-	/**
-	 * The constructor.
-	 */
-	public PluginPlugin() {
-		super();
-		plugin = this;
-		try {
-			resourceBundle = ResourceBundle.getBundle("com.example.bundle.plugin.PluginPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * This method is called upon plug-in activation
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-	}
-
-	/**
-	 * This method is called when the plug-in is stopped
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static PluginPlugin getDefault() {
-		return plugin;
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		ResourceBundle bundle = PluginPlugin.getDefault().getResourceBundle();
-		try {
-			return (bundle != null) ? bundle.getString(key) : key;
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-}
diff --git a/update/org.eclipse.update.ui.forms/.classpath b/update/org.eclipse.update.ui.forms/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.ui.forms/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/update/org.eclipse.update.ui.forms/.cvsignore b/update/org.eclipse.update.ui.forms/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update.ui.forms/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/.project b/update/org.eclipse.update.ui.forms/.project
deleted file mode 100644
index 8540f9e..0000000
--- a/update/org.eclipse.update.ui.forms/.project
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.ui.forms</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime.compatibility</project>

-		<project>org.eclipse.ui</project>

-		<project>org.eclipse.ui.ide</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/update/org.eclipse.update.ui.forms/about.html b/update/org.eclipse.update.ui.forms/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.ui.forms/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 (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  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, &quot;Program&quot; 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 (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) 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/update/org.eclipse.update.ui.forms/build.properties b/update/org.eclipse.update.ui.forms/build.properties
deleted file mode 100644
index 14fda25..0000000
--- a/update/org.eclipse.update.ui.forms/build.properties
+++ /dev/null
@@ -1,6 +0,0 @@
-bin.includes = plugin.properties,\

-               *.jar,\

-               plugin.xml,\

-               about.html

-source.forms.jar = src/

-src.includes = about.html

diff --git a/update/org.eclipse.update.ui.forms/plugin.properties b/update/org.eclipse.update.ui.forms/plugin.properties
deleted file mode 100644
index 2699472..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.properties
+++ /dev/null
@@ -1,17 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 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 Corporation - initial API and implementation

-###############################################################################

-#

-# plugin.xml properties

-#

-

-name = Install/Update Forms

-provider-name = Eclipse.org

-

diff --git a/update/org.eclipse.update.ui.forms/plugin.xml b/update/org.eclipse.update.ui.forms/plugin.xml
deleted file mode 100644
index ab2a167..0000000
--- a/update/org.eclipse.update.ui.forms/plugin.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.0"?>

-<plugin

-   id="org.eclipse.update.ui.forms"

-   name="%name"

-   version="3.0.0"

-   provider-name="%provider-name"

-   class="org.eclipse.update.ui.forms.internal.FormsPlugin">

-

-   <runtime>

-      <library name="forms.jar">

-         <export name="*"/>

-         <packages prefixes="org.eclipse.update.ui.forms.internal"/>

-      </library>

-   </runtime>

-   <requires>

-      <import plugin="org.eclipse.core.runtime.compatibility"/>

-      <import plugin="org.eclipse.ui"/>

-   </requires>

-

-

-</plugin>

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
deleted file mode 100644
index c125441..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractForm.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.jface.preference.*;

-import org.eclipse.jface.preference.IPreferenceStore;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.*;

-import org.eclipse.ui.actions.*;

-

-/**

- * This class implements IForm interface and

- * provides some common services to its subclasses.

- * It handles some common properties like heading

- * text, image and colors, as well as

- * font change processing.

- */

-

-public abstract class AbstractForm implements IForm, IPropertyChangeListener {

-	protected FormWidgetFactory factory;

-	protected Color headingBackground;

-	protected Color headingForeground;

-	protected boolean headingVisible = true;

-	protected Image headingImage;

-	protected String headingText;

-	protected Font titleFont;

-	private IPropertyChangeListener hyperlinkColorListener;

-

-	public AbstractForm() {

-		factory = new FormWidgetFactory();

-		titleFont = JFaceResources.getHeaderFont();

-		JFaceResources.getFontRegistry().addListener(this);

-		IPreferenceStore pstore = JFacePreferences.getPreferenceStore();

-		hyperlinkColorListener = new IPropertyChangeListener() {

-			public void propertyChange(PropertyChangeEvent e) {

-				if (e.getProperty().equals(JFacePreferences.HYPERLINK_COLOR)

-					|| e.getProperty().equals(

-						JFacePreferences.ACTIVE_HYPERLINK_COLOR)) {

-					updateHyperlinkColors();

-				}

-			}

-		};

-		pstore.addPropertyChangeListener(hyperlinkColorListener);

-	}

-	

-	protected void updateHyperlinkColors() {

-		factory.updateHyperlinkColors();

-	}

-

-	/**

-	 * @see IForm#commitChanges(boolean)

-	 */

-	public void commitChanges(boolean onSave) {

-	}

-

-	/**

-	 * @see IForm#createControl(Composite)

-	 */

-	public abstract Control createControl(Composite parent);

-

-	/**

-	 * @see IForm#dispose()

-	 */

-	public void dispose() {

-		factory.dispose();

-		JFaceResources.getFontRegistry().removeListener(this);

-		IPreferenceStore pstore = JFacePreferences.getPreferenceStore();

-		pstore.removePropertyChangeListener(this);

-		pstore.removePropertyChangeListener(hyperlinkColorListener);

-	}

-

-	/**

-	 * @see IForm#doGlobalAction(String)

-	 */

-	public boolean doGlobalAction(String actionId) {

-		return false;

-	}

-

-	/**

-	 * @see IForm#expandTo(Object)

-	 */

-	public void expandTo(Object object) {

-	}

-

-	/**

-	 * @see IForm#getControl()

-	 */

-	public abstract Control getControl();

-

-	/**

-	 * @see IForm#getFactory()

-	 */

-	public FormWidgetFactory getFactory() {

-		return factory;

-	}

-

-	/**

-	 * @see IForm#getHeadingBackground()

-	 */

-	public Color getHeadingBackground() {

-		return headingBackground;

-	}

-

-	/**

-	 * @see IForm#getHeadingForeground()

-	 */

-	public Color getHeadingForeground() {

-		return headingForeground;

-	}

-

-	/**

-	 * @see IForm#getHeadingImage()

-	 */

-	public Image getHeadingImage() {

-		return headingImage;

-	}

-

-	/**

-	 * @see IForm#getHeading()

-	 */

-	public String getHeadingText() {

-		if (headingText == null)

-			return "";

-		return headingText;

-	}

-

-	/**

-	 * @see IForm#initialize(Object)

-	 */

-	public void initialize(Object model) {

-	}

-

-	/**

-	 * @see IForm#isHeadingVisible()

-	 */

-	public boolean isHeadingVisible() {

-		return headingVisible;

-	}

-

-	/**

-	 * @see IForm#registerSection(FormSection)

-	 */

-	public void registerSection(FormSection section) {

-	}

-

-	/**

-	 * @see IForm#setFocus()

-	 */

-	public void setFocus() {

-	}

-

-	/**

-	 * @see IForm#setHeadingBackground(Color)

-	 */

-	public void setHeadingBackground(Color newHeadingBackground) {

-		this.headingBackground = newHeadingBackground;

-	}

-

-	/**

-	 * @see IForm#setHeadingForeground(Color)

-	 */

-	public void setHeadingForeground(Color newHeadingForeground) {

-		this.headingForeground = newHeadingForeground;

-	}

-

-	/**

-	 * @see IForm#setHeadingImage(Image)

-	 */

-	public void setHeadingImage(Image headingImage) {

-		this.headingImage = headingImage;

-	}

-

-	/**

-	 * @see IForm#setHeadingVisible(boolean)

-	 */

-	public void setHeadingVisible(boolean newHeadingVisible) {

-		this.headingVisible = newHeadingVisible;

-	}

-

-	/**

-	 * @see IForm#setHeading(String)

-	 */

-	public void setHeadingText(String headingText) {

-		this.headingText = headingText;

-	}

-

-	/**

-	 * @see IForm#update()

-	 */

-	public void update() {

-	}

-

-	protected boolean canPerformDirectly(String id, Control control) {

-		if (control instanceof Text) {

-			Text text = (Text) control;

-			if (id.equals(ActionFactory.CUT.getId())) {

-				text.cut();

-				return true;

-			}

-			if (id.equals(ActionFactory.COPY.getId())) {

-				text.copy();

-				return true;

-			}

-			if (id.equals(ActionFactory.PASTE.getId())) {

-				text.paste();

-				return true;

-			}

-			if (id.equals(ActionFactory.SELECT_ALL.getId())) {

-				text.selectAll();

-				return true;

-			}

-			if (id.equals(ActionFactory.DELETE.getId())) {

-				int count = text.getSelectionCount();

-				if (count == 0) {

-					int caretPos = text.getCaretPosition();

-					text.setSelection(caretPos, caretPos + 1);

-				}

-				text.insert("");

-				return true;

-			}

-		}

-		return false;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
deleted file mode 100644
index 02903ca..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/AbstractSectionForm.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.dnd.Clipboard;

-import org.eclipse.swt.custom.ScrolledComposite;

-import org.eclipse.swt.graphics.*;

-

-/**

- * This form class understands form sections.

- * It assumes that they are part of the form

- * and it offers life cycle handling of sections

- * once they are registered.

- */

-

-public abstract class AbstractSectionForm extends AbstractForm {

-	public static final int H_SCROLL_INCREMENT = 5;

-	public static final int V_SCROLL_INCREMENT = 64;

-	protected Vector sections = null;

-

-	public void registerSection(FormSection section) {

-		if (sections == null)

-			sections = new Vector();

-		if (!sections.contains(section))

-			sections.add(section);

-	}

-

-	public void unregisterSection(FormSection section) {

-		if (sections != null && sections.contains(section))

-			sections.remove(section);

-	}

-

-	public void initialize(Object model) {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.initialize(model);

-			}

-		}

-	}

-

-	public void setFocus() {

-		if (sections != null && sections.size() > 0) {

-			FormSection firstSection = (FormSection) sections.firstElement();

-			firstSection.setFocus();

-		}

-	}

-

-	public void update() {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.update();

-			}

-		}

-	}

-

-	public void commitChanges(boolean onSave) {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				if (section.isDirty())

-					section.commitChanges(onSave);

-			}

-		}

-	}

-

-	public boolean doGlobalAction(String actionId) {

-		Control focusControl = getFocusControl();

-		if (focusControl == null)

-			return false;

-

-		if (canPerformDirectly(actionId, focusControl))

-			return true;

-		Composite parent = focusControl.getParent();

-		FormSection targetSection = null;

-		while (parent != null) {

-			Object data = parent.getData();

-			if (data != null && data instanceof FormSection) {

-				targetSection = (FormSection) data;

-				break;

-			}

-			parent = parent.getParent();

-		}

-		if (targetSection != null) {

-			return targetSection.doGlobalAction(actionId);

-		}

-		return false;

-	}

-

-	protected Control getFocusControl() {

-		Control control = getControl();

-		if (control == null || control.isDisposed())

-			return null;

-		Display display = control.getDisplay();

-		Control focusControl = display.getFocusControl();

-		if (focusControl == null || focusControl.isDisposed())

-			return null;

-		return focusControl;

-	}

-

-	public boolean canPaste(Clipboard clipboard) {

-		Control focusControl = getFocusControl();

-		if (focusControl == null)

-			return false;

-		Composite parent = focusControl.getParent();

-		FormSection targetSection = null;

-		while (parent != null) {

-			Object data = parent.getData();

-			if (data != null && data instanceof FormSection) {

-				targetSection = (FormSection) data;

-				break;

-			}

-			parent = parent.getParent();

-		}

-		if (targetSection != null) {

-			return targetSection.canPaste(clipboard);

-		}

-		return false;

-	}

-

-	public void dispose() {

-		if (sections != null) {

-			for (Iterator iter = sections.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.dispose();

-			}

-		}

-		super.dispose();

-	}

-

-	public static void ensureVisible(ScrolledComposite scomp, Control control) {

-		Point controlSize = control.getSize();

-		Point controlOrigin = getControlLocation(scomp, control);

-		ensureVisible(scomp, controlOrigin, controlSize);

-	}

-

-	public static void ensureVisible(ScrolledComposite scomp, Point controlOrigin, Point controlSize) {

-		Point area = scomp.getContent().getSize();

-		Point scompOrigin = scomp.getOrigin();

-

-		int x = scompOrigin.x;

-		int y = scompOrigin.y;

-

-		if (controlOrigin.x + controlSize.x > scompOrigin.x + area.x) {

-			x = controlOrigin.x + controlSize.x - area.x;

-		}		

-		if (controlOrigin.x < x ) {

-			 x = controlOrigin.x;

-		 }         

-		

-		if (controlOrigin.y + controlSize.y > scompOrigin.y + area.y) {

-			y = controlOrigin.y + controlSize.y - area.y;

-		}

-		if (controlOrigin.y < y ) {

-			 y = controlOrigin.y;

-		 }         

-		scomp.setOrigin(x, y);

-	}

-	

-	public static Point getControlLocation(ScrolledComposite scomp, Control control) {

-		int x = 0;

-		int y = 0;

-		Control currentControl = control;

-		for (;;) {

-			if (currentControl == scomp)

-				break;

-			if (currentControl.getLocation().x > 0)

-				x += currentControl.getLocation().x;

-			if (currentControl.getLocation().y > 0)

-				y += currentControl.getLocation().y;

-			currentControl = currentControl.getParent();

-		}

-		return new Point(x, y);

-	}

-	

-	public static void scrollVertical(ScrolledComposite scomp, boolean up) {

-		scroll(scomp, 0, up ? -V_SCROLL_INCREMENT : V_SCROLL_INCREMENT);

-	}

-	public static void scrollHorizontal(ScrolledComposite scomp, boolean left) {

-		scroll(scomp, left ? -H_SCROLL_INCREMENT : H_SCROLL_INCREMENT, 0);

-	}

-	public static void scrollPage(ScrolledComposite scomp, boolean up) {

-		Rectangle clientArea = scomp.getClientArea();

-		int increment = up ? -clientArea.height : clientArea.height;

-		scroll(scomp, 0, increment);

-	}

-	private static void scroll(ScrolledComposite scomp, int xoffset, int yoffset) {

-		Point origin = scomp.getOrigin();

-		Point contentSize = scomp.getContent().getSize();

-		int xorigin = origin.x + xoffset;

-		int yorigin = origin.y + yoffset;

-		xorigin = Math.max(xorigin, 0);

-		xorigin = Math.min(xorigin, contentSize.x - 1);

-		yorigin = Math.max(yorigin, 0);

-		yorigin = Math.min(yorigin, contentSize.y - 1);

-		scomp.setOrigin(xorigin, yorigin);

-	}

-

-	public static void updatePageIncrement(ScrolledComposite scomp) {

-		ScrollBar vbar = scomp.getVerticalBar();

-		if (vbar != null) {

-			Rectangle clientArea = scomp.getClientArea();

-			int increment = clientArea.height - 5;

-			vbar.setPageIncrement(increment);

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
deleted file mode 100644
index f88ebcc..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/CustomWorkbook.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.custom.*;

-

-

-public class CustomWorkbook implements IFormWorkbook {

-	private Hashtable pages;

-	private boolean firstPageSelected=true;

-	private CTabFolder tabFolder;

-	private Vector listeners=new Vector();

-	private IFormPage currentPage;

-

-public CustomWorkbook() {

-	pages = new Hashtable();

-}

-public void addFormSelectionListener(IFormSelectionListener listener) {

-	listeners.addElement(listener);

-}

-public void addPage(IFormPage page) {

-	CTabItem item = new CTabItem(tabFolder, SWT.NULL);

-	item.setText(page.getLabel());

-	item.setToolTipText(page.getTitle());

-	item.setData(page);

-	pages.put(page, item);

-	

-	if (firstPageSelected && currentPage == null)

-		selectPage(page, true);

-}

-public void createControl(Composite parent) {

-	tabFolder = new CTabFolder(parent, SWT.BOTTOM);

-	tabFolder.addSelectionListener(new SelectionAdapter() {

-		public void widgetSelected(SelectionEvent e) {

-			CTabItem item = (CTabItem) e.item;

-			IFormPage page = (IFormPage) item.getData();

-			if (page != null)

-				selectPage(page, true);

-		}

-	});

-	// listener to resize visible components

-	tabFolder.addListener(SWT.Resize, new Listener() {

-		public void handleEvent(Event e) {

-			if (currentPage != null)

-				setControlSize(currentPage.getControl());

-		}

-	});

-}

-private void fireSelectionChanged(IFormPage page, boolean setFocus) {

-	for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-		IFormSelectionListener listener = (IFormSelectionListener) iter.next();

-		listener.formSelected(page, setFocus);

-	}

-}

-public Control getControl() {

-	return tabFolder;

-}

-public IFormPage getCurrentPage() {

-	return currentPage;

-}

-public boolean isFirstPageSelected() {

-	return firstPageSelected;

-}

-public void removeFormSelectionListener(IFormSelectionListener listener) {

-	listeners.removeElement(listener);

-}

-public void removePage(IFormPage page) {

-	CTabItem item = (CTabItem) pages.get(page);

-	if (item != null)

-		item.dispose();

-}

-private void reselectPage(final IFormPage page) {

-	tabFolder.getDisplay().asyncExec(new Runnable() {

-		public void run() {

-		selectPage(page, true);

-		}

-	});

-}

-public void selectPage(final IFormPage page, final boolean setFocus) {

-	final IFormPage oldPage = currentPage;

-	currentPage = page;

-

-	// It may take a while

-	BusyIndicator.showWhile(tabFolder.getDisplay(), new Runnable() {

-		public void run() {

-			switchPages(oldPage, page, setFocus);

-		}

-	});

-}

-private void setControlSize(Control control) {

-	Rectangle bounds = tabFolder.getBounds();

-	Rectangle offset = tabFolder.getClientArea();

-	bounds.x += offset.x;

-	bounds.y += offset.y;

-	bounds.width = offset.width;

-	bounds.height = offset.height;

-	control.setBounds(bounds);

-	control.moveAbove(tabFolder);

-}

-private void setControlVisible(Control control) {

-	if (control == null)

-		return;

-	setControlSize(control);

-	control.setVisible(true);

-}

-public void setFirstPageSelected(boolean newFirstPageSelected) {

-	firstPageSelected = newFirstPageSelected;

-}

-private void switchPages(IFormPage oldPage, IFormPage newPage, boolean setFocus) {

-	if (oldPage != null && oldPage!=newPage) {

-		boolean okToSwitch = oldPage.becomesInvisible(newPage);

-		if (!okToSwitch) {

-			// We must try to go back to the source page

-			reselectPage(oldPage);

-			return;

-		}

-	}

-	if (newPage.getControl() == null)

-		newPage.createControl(tabFolder);

-	tabFolder.setSelection((CTabItem) pages.get(newPage));

-	if (oldPage != null && oldPage != newPage) {

-		Control oldControl = oldPage.getControl();

-		if (oldControl!=null) oldControl.setVisible(false);

-	}

-	Control newControl = newPage.getControl();

-	newPage.becomesVisible(oldPage);

-	setControlVisible(newControl);

-	fireSelectionChanged(newPage, setFocus);

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
deleted file mode 100644
index edb5f8a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ExpandableGroup.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

-

-public abstract class ExpandableGroup {

-	private String text;

-	private boolean expanded;

-	private Composite expansion;

-	protected SelectableFormLabel textLabel;

-	private Composite control;

-	private boolean expandable=true;

-	

-class ExpandableLayout extends Layout {

-	protected void layout(Composite parent, boolean changed) {

-		Rectangle clientArea = parent.getClientArea();

-		Point size = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);

-		int x = 0;

-		int y = 1;

-		

-		if (expandable) {

-			x = 8 + 8;

-		}

-		textLabel.setBounds(x, y, size.x, size.y);

-	

-		if (expandable)

-		   y = Math.max(size.y, 8) + 2 + 2;

-		else

-		   y = size.y + 2;

-		if (expanded) {

-			int areaWidth = clientArea.width - x;

-			size = expansion.computeSize(areaWidth, SWT.DEFAULT, changed);

-			expansion.setBounds(x, y, size.x, size.y);

-		}

-	}

-

-	protected Point computeSize(Composite parent, int wHint, int hHint, boolean changed) {

-		int width = 0, height = 0;

-		Point size = textLabel.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);

-		width = size.x;

-		height = size.y + 2 + 2;

-		if (expanded) {

-			size = expansion.computeSize(wHint, SWT.DEFAULT, changed);

-			width = Math.max(width, size.x);

-			height += size.y;

-		}

-		if (expandable) {

-			height = Math.max(height, 8);

-			width += 8 + 8;

-		}

-		return new Point(width, height);

-	}

-}

-

-	public ExpandableGroup() {

-	}

-	

-	public ExpandableGroup(int style) {

-		//this.style = style;

-	}

-	

-	public Control getControl() {

-		return control;

-	}

-	

-	public void createControl(Composite parent, final FormWidgetFactory factory) {

-		final Canvas container = new Canvas(parent, SWT.NULL);

-		container.setBackground(factory.getBackgroundColor());

-		container.setLayout(new ExpandableLayout());

-		container.addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				if (expandable) repaint(e);

-			}

-		});

-		container.addMouseListener(new MouseAdapter() {

-			public void mouseUp(MouseEvent e) {

-				Rectangle box = getBoxBounds(null);

-				if (box.contains(e.x, e.y)) {

-					container.setCursor(factory.getBusyCursor());

-					setExpanded(!isExpanded());

-					container.setCursor(null);

-				}

-			}

-		});

-		textLabel = createTextLabel(container, factory);

-		getHyperlinkHandler(factory).registerHyperlink(textLabel, new HyperlinkAdapter () {

-			public void linkActivated(Control link) {

-				ExpandableGroup.this.linkActivated();

-				if (expandable) setExpanded(!isExpanded());

-			}

-		});

-		textLabel.addFocusListener(factory.visibilityHandler);

-		textLabel.addKeyListener(factory.keyboardHandler);		

-		if (text!=null) textLabel.setText(text);

-		expansion = factory.createComposite(container);

-		fillExpansion(expansion, factory);

-		this.control = container;

-	}

-	

-	protected SelectableFormLabel createTextLabel(Composite parent, FormWidgetFactory factory) {

-		SelectableFormLabel text = new SelectableFormLabel(parent, SWT.WRAP);

-		text.setBackground(factory.getBackgroundColor());

-		return text;

-	}

-	

-	protected HyperlinkHandler getHyperlinkHandler(FormWidgetFactory factory) {

-		return factory.getHyperlinkHandler();

-	}

-	

-	public abstract void fillExpansion(Composite expansion, FormWidgetFactory factory);

-	

-	public void setText(String text) {

-		this.text = text;

-		if (textLabel!=null)

-		   textLabel.setText(text);

-	}

-	

-	public String getText() {

-		return text;

-	}

-	

-	public boolean isExpanded() {

-		return expanded;

-	}

-	

-	public void setExpandable(boolean expandable) {

-		this.expandable = expandable;

-	}

-	

-	public boolean isExpandable() {

-		return expandable;

-	}

-	

-	public void setExpanded(boolean expanded) {

-		if (this.expanded != expanded) {

-			if (expanded) {

-				aboutToExpand();

-			}

-			else {

-				aboutToCollapse();

-			}

-			this.expanded = expanded;

-			expansion.setVisible(expanded);

-			control.layout();

-			if (expanded) {

-				this.expanded();

-			}

-			else {

-				collapsed();

-			}

-		}

-	}

-	

-	private void repaint(PaintEvent e) {

-		GC gc = e.gc;

-		Rectangle box = getBoxBounds(gc);

-		gc.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_WIDGET_NORMAL_SHADOW));

-		gc.drawRectangle(box);

-		gc.setForeground(control.getDisplay().getSystemColor(SWT.COLOR_LIST_FOREGROUND));

-		gc.drawLine(box.x+2, box.y+4, box.x+6, box.y+4);

-		if (!isExpanded()) {

-			gc.drawLine(box.x+4, box.y+2, box.x+4, box.y+6);

-		}

-	}

-	

-	private Rectangle getBoxBounds(GC gc) {

-		int x = 0;

-		int y = 0;

-		boolean noGC = false;

-	

-		if (gc==null) {

-			gc = new GC(control);

-			noGC = true;

-		}

-		gc.setFont(textLabel.getFont());

-		int height = gc.getFontMetrics().getHeight();

-		y = height/2 - 4 +1;

-		y = Math.max(y, 0);

-		if (noGC) gc.dispose();

-		return new Rectangle(x, y, 8, 8);

-	}

-	

-	protected void updateLayout() {

-		control.layout();

-	}

-	

-	protected void aboutToExpand() {

-	}

-	

-	protected void aboutToCollapse() {

-	}

-	

-	protected void expanded() {

-	}

-	protected void collapsed() {

-	}

-	protected void linkActivated() {

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
deleted file mode 100644
index c307edf..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormButton.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-

-public class FormButton {

-	private Button button;

-	private Image image;

-	private FormWidgetFactory factory;

-	private Image hoverImage;

-	private boolean inside;

-	private Image disabledImage;

-

-public FormButton(Button button, FormWidgetFactory factory) {

-	this.button = button;

-	this.factory = factory;

-	button.addMouseTrackListener(new MouseTrackAdapter() {

-		public void mouseEnter(MouseEvent e) {

-			inside=true;

-			updateImage();

-		}

-		public void mouseExit(MouseEvent e) {

-			inside=false;

-			updateImage();

-		}

-	});

-}

-public Button getButton() {

-	return button;

-}

-public Image getDisabledImage() {

-	return disabledImage;

-}

-public Image getHoverImage() {

-	return hoverImage;

-}

-public Image getImage() {

-	return image;

-}

-public void setDisabledImage(Image newDisabledImage) {

-	disabledImage = newDisabledImage;

-}

-public void setEnabled(boolean enabled) {

-	button.setEnabled(enabled);

-	updateImage();

-}

-public void setHoverImage(Image newHoverImage) {

-	hoverImage = newHoverImage;

-}

-public void setImage(Image newImage) {

-	image = newImage;

-	if (hoverImage==null) hoverImage = image;

-	if (disabledImage==null) disabledImage = image;

-	updateImage();

-}

-public void updateImage() {

-	boolean enabled = button.isEnabled();

-	if (enabled == false) {

-		button.setImage(disabledImage);

-	} else {

-		if (inside) {

-			button.setCursor(factory.getHyperlinkCursor());

-			button.setImage(hoverImage);

-		} else {

-			button.setCursor(null);

-			button.setImage(image);

-		}

-	}

-}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
deleted file mode 100644
index a5e7e14..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormEntry.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.widgets.*;

-import java.util.*;

-

-public class FormEntry {

-	private Text text;

-	private String value;

-	private boolean dirty;

-	private Vector listeners=new Vector();

-	boolean ignoreModify=false;

-

-public FormEntry(Text text) {

-	this.text = text;

-	this.value = text.getText();

-	addListeners();

-}

-public void addFormTextListener(IFormTextListener listener) {

-	listeners.addElement(listener);

-}

-private void addListeners() {

-	text.addKeyListener(new KeyAdapter() {

-		public void keyReleased(KeyEvent e) {

-			keyReleaseOccured(e);

-		}

-	});

-	text.addModifyListener(new ModifyListener() {

-		public void modifyText(ModifyEvent e) {

-			editOccured(e);

-		}

-	});

-	text.addFocusListener (new FocusAdapter() {

-		public void focusLost(FocusEvent e) {

-			if (dirty) commit();

-		}

-	});

-}

-public void commit() {

-	if (dirty) {

-		value = text.getText();

-		//notify

-		for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-			((IFormTextListener) iter.next()).textValueChanged(this);

-		}

-	}

-	dirty = false;

-}

-protected void editOccured(ModifyEvent e) {

-	if (ignoreModify) return;

-	dirty = true;

-	for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-		((IFormTextListener) iter.next()).textDirty(this);

-	}

-}

-

-public Text getControl() {

-	return text;

-}

-public java.lang.String getValue() {

-	return value;

-}

-public boolean isDirty() {

-	return dirty;

-}

-protected void keyReleaseOccured(KeyEvent e) {

-	if (e.character == '\r') {

-		// commit value

-		if (dirty) commit();

-	}

-	else if (e.character == '\u001b') { // Escape character

-		text.setText(value!=null?value:""); // restore old

-		dirty= false;

-	}

-}

-public void removeFormTextListener(IFormTextListener listener) {

-	listeners.removeElement(listener);

-}

-public void setDirty(boolean newDirty) {

-	dirty = newDirty;

-}

-public void setValue(String value) {

-	if (text!=null) text.setText(value!=null?value:"");

-	this.value = value;

-}

-

-public void setValue(String value, boolean blockNotification) {

-	ignoreModify = blockNotification;

-	setValue(value);

-	ignoreModify = false;

-}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
deleted file mode 100644
index 965e1e8..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormLabel.java
+++ /dev/null
@@ -1,238 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import java.text.BreakIterator;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-

-/**

- * FormText is a windowless control that

- * draws text in the provided context.

- */

-public class FormLabel extends Canvas {

-	private String text = "";

-	protected int textMarginWidth = 5;

-	protected int textMarginHeight = 5;

-	private boolean underlined;

-

-	public FormLabel(Composite parent, int style) {

-		super(parent, style);

-		addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		initAccessible();

-	}

-	public String getText() {

-		return text;

-	}

-	public void setText(String text) {

-		if (text != null)

-			this.text = text;

-		else

-			text = "";

-	}

-

-	protected void initAccessible() {

-		Accessible accessible = getAccessible();

-		accessible.addAccessibleListener(new AccessibleAdapter() {

-			public void getName(AccessibleEvent e) {

-				e.result = getText();

-			}

-

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-

-		accessible

-			.addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point pt = toControl(new Point(e.x, e.y));

-				e.childID =

-					(getBounds().contains(pt))

-						? ACC.CHILDID_SELF

-						: ACC.CHILDID_NONE;

-			}

-

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_LABEL;

-			}

-

-			public void getState(AccessibleControlEvent e) {

-				e.detail = ACC.STATE_READONLY;

-			}

-		});

-	}

-

-	public void setUnderlined(boolean underlined) {

-		this.underlined = underlined;

-	}

-

-	public boolean isUnderlined() {

-		return underlined;

-	}

-

-	public Point computeSize(int wHint, int hHint, boolean changed) {

-		checkWidget();

-		int innerWidth = wHint;

-		if (innerWidth != SWT.DEFAULT)

-			innerWidth -= textMarginWidth * 2;

-		Point textSize = computeTextSize(innerWidth, hHint);

-		int textWidth = textSize.x + 2 * textMarginWidth;

-		int textHeight = textSize.y + 2 * textMarginHeight;

-		return new Point(textWidth, textHeight);

-	}

-

-	public static int computeWrapHeight(GC gc, String text, int width) {

-		BreakIterator wb = BreakIterator.getWordInstance();

-		wb.setText(text);

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-

-		int saved = 0;

-		int last = 0;

-		int height = lineHeight;

-

-		for (int loc = wb.first();

-			loc != BreakIterator.DONE;

-			loc = wb.next()) {

-			String word = text.substring(saved, loc);

-			Point extent = gc.textExtent(word);

-			if (extent.x > width) {

-				// overflow

-				saved = last;

-				height += extent.y;

-			}

-			last = loc;

-		}

-		return height;

-	}

-

-	private Point computeTextSize(int wHint, int hHint) {

-		Point extent;

-		GC gc = new GC(this);

-

-		gc.setFont(getFont());

-		if ((getStyle() & SWT.WRAP) != 0 && wHint != SWT.DEFAULT) {

-			int height = computeWrapHeight(gc, text, wHint);

-			extent = new Point(wHint, height);

-		} else {

-			extent = gc.textExtent(getText());

-		}

-		gc.dispose();

-		return extent;

-	}

-

-	public static void paintWrapText(

-		GC gc,

-		Point size,

-		String text,

-		int marginWidth,

-		int marginHeight) {

-		paintWrapText(gc, size, text, marginWidth, marginHeight, false);

-	}

-

-	public static void paintWrapText(

-		GC gc,

-		Point size,

-		String text,

-		int marginWidth,

-		int marginHeight,

-		boolean underline) {

-		BreakIterator wb = BreakIterator.getWordInstance();

-		wb.setText(text);

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		int descent = fm.getDescent();

-

-		int saved = 0;

-		int last = 0;

-		int y = marginHeight;

-		int width = size.x - marginWidth * 2;

-

-		for (int loc = wb.first();

-			loc != BreakIterator.DONE;

-			loc = wb.next()) {

-			String line = text.substring(saved, loc);

-			Point extent = gc.textExtent(line);

-			if (extent.x > width) {

-				// overflow

-				String prevLine = text.substring(saved, last);

-				gc.drawString(prevLine, marginWidth, y, true);

-				if (underline) {

-					Point prevExtent = gc.textExtent(prevLine);

-					int lineY = y + lineHeight - descent + 1;

-					gc.drawLine(marginWidth, lineY, prevExtent.x, lineY);

-				}

-

-				saved = last;

-				y += lineHeight;

-			}

-			last = loc;

-		}

-		// paint the last line

-		String lastLine = text.substring(saved, last);

-		gc.drawString(lastLine, marginWidth, y, true);

-		if (underline) {

-			int lineY = y + lineHeight - descent + 1;

-			Point lastExtent = gc.textExtent(lastLine);

-			gc.drawLine(marginWidth, lineY, marginWidth + lastExtent.x, lineY);

-		}

-	}

-

-	protected void paint(PaintEvent e) {

-		GC gc = e.gc;

-		Point size = getSize();

-		gc.setFont(getFont());

-		gc.setForeground(getForeground());

-		if ((getStyle() & SWT.WRAP) != 0) {

-			paintWrapText(

-				gc,

-				size,

-				text,

-				textMarginWidth,

-				textMarginHeight,

-				underlined);

-		} else {

-			gc.drawText(getText(), textMarginWidth, textMarginHeight, true);

-			if (underlined) {

-				FontMetrics fm = gc.getFontMetrics();

-				int descent = fm.getDescent();

-				int lineY = size.y - textMarginHeight - descent + 1;

-				gc.drawLine(

-					textMarginWidth,

-					lineY,

-					size.x - textMarginWidth,

-					lineY);

-			}

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
deleted file mode 100644
index 742231d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormSection.java
+++ /dev/null
@@ -1,531 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.*;

-import org.eclipse.jface.util.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.dnd.Clipboard;

-

-public abstract class FormSection implements IPropertyChangeListener {

-	public static final int SELECTION = 1;

-	private String headerColorKey = FormWidgetFactory.DEFAULT_HEADER_COLOR;

-	private String headerText;

-	private Control client;

-	protected Label header;

-	protected Control separator;

-	private SectionChangeManager sectionManager;

-	private String description;

-	private boolean dirty;

-	protected Label descriptionLabel;

-	private ToggleControl toggle;

-	private boolean readOnly;

-	private boolean addSeparator = true;

-	private boolean descriptionPainted = true;

-	private boolean headerPainted = true;

-	private boolean collapsable = false;

-	private boolean collapsed = false;

-	private int widthHint = SWT.DEFAULT;

-	private int heightHint = SWT.DEFAULT;

-	private Composite control;

-	public boolean compactMode=false;

-

-	/*

-	 * This is a special layout for the section. Both the

-	 * header and the description labels will wrap and

-	 * they will use client's size to calculate needed

-	 * height. This kind of behaviour is not possible

-	 * with stock grid layout.

-	 */

-	class SectionLayout extends Layout implements ILayoutExtension {

-		int vspacing = 3;

-		int sepHeight = 2;

-

-		public int getMinimumWidth(Composite parent, boolean flush) {

-			return 30;

-		}

-

-		public int getMaximumWidth(Composite parent, boolean flush) {

-			int maxWidth = 0;

-			if (client != null) {

-				if (client instanceof Composite) {

-					Layout cl = ((Composite) client).getLayout();

-					if (cl instanceof ILayoutExtension)

-						maxWidth =

-							((ILayoutExtension) cl).getMaximumWidth(

-								(Composite) client,

-								flush);

-				}

-				if (maxWidth == 0) {

-					Point csize =

-						client.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-					maxWidth = csize.x;

-				}

-			}

-			if (headerPainted && header != null) {

-				Point hsize =

-					header.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-				maxWidth = Math.max(maxWidth, hsize.x);

-			}

-			if (descriptionPainted && descriptionLabel != null) {

-				Point dsize =

-					descriptionLabel.computeSize(

-						SWT.DEFAULT,

-						SWT.DEFAULT,

-						flush);

-				maxWidth = Math.max(maxWidth, dsize.x);

-			}

-			return maxWidth;

-		}

-

-		protected Point computeSize(

-			Composite parent,

-			int wHint,

-			int hHint,

-			boolean flush) {

-			int width = 0;

-			int height = 0;

-			int cwidth = 0;

-			int collapsedHeight = 0;

-

-			if (wHint != SWT.DEFAULT)

-				width = wHint;

-			if (hHint != SWT.DEFAULT)

-				height = hHint;

-

-			cwidth = width;

-

-			if (client != null && !client.isDisposed()) {

-				if (toggle != null && toggle.getSelection() && compactMode) {

-				}

-				else {

-				//Point csize = client.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-				Point csize = client.computeSize(wHint, SWT.DEFAULT);

-				if (width == 0) {

-					width = csize.x;

-					cwidth = width;

-				}

-				if (height == 0)

-					height = csize.y;

-				}

-			}

-

-			Point toggleSize = null;

-

-			if (collapsable && toggle != null)

-				toggleSize =

-					toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-

-			if (hHint == SWT.DEFAULT && headerPainted && header != null) {

-				int hwidth = cwidth;

-				if (toggleSize != null)

-					hwidth = cwidth - toggleSize.x - 5;

-				Point hsize = header.computeSize(hwidth, SWT.DEFAULT, flush);

-				height += hsize.y;

-				collapsedHeight = hsize.y;

-				height += vspacing;

-			}

-

-			if (hHint == SWT.DEFAULT && addSeparator) {

-				height += sepHeight;

-				height += vspacing;

-				collapsedHeight += vspacing + sepHeight;

-			}

-			if (hHint == SWT.DEFAULT

-				&& descriptionPainted

-				&& descriptionLabel != null) {

-				Point dsize =

-					descriptionLabel.computeSize(cwidth, SWT.DEFAULT, flush);

-				height += dsize.y;

-				height += vspacing;

-			}

-			if (toggle != null && toggle.getSelection()) {

-				// collapsed state

-				height = collapsedHeight;

-			}

-			return new Point(width, height);

-		}

-		protected void layout(Composite parent, boolean flush) {

-			int width = parent.getClientArea().width;

-			int height = parent.getClientArea().height;

-			int y = 0;

-			Point toggleSize = null;

-

-			if (collapsable) {

-				toggleSize =

-					toggle.computeSize(SWT.DEFAULT, SWT.DEFAULT, flush);

-			}

-			if (headerPainted && header != null) {

-				Point hsize;

-

-				int availableWidth = width;

-				if (toggleSize != null)

-					availableWidth = width - toggleSize.x - 5;

-				hsize = header.computeSize(availableWidth, SWT.DEFAULT, flush);

-				int hx = 0;

-				if (toggle != null) {

-					int ty = y + hsize.y - toggleSize.y;

-					toggle.setBounds(0, ty, toggleSize.x, toggleSize.y);

-					hx = toggleSize.x; // + 5;

-				}

-				header.setBounds(hx, y, availableWidth, hsize.y);

-

-				y += hsize.y + vspacing;

-			}

-			if (addSeparator && separator != null) {

-				separator.setBounds(0, y, width, 2);

-				y += sepHeight + vspacing;

-			}

-			if (toggle != null && toggle.getSelection()) {

-				return;

-			}

-			if (descriptionPainted && descriptionLabel != null) {

-				Point dsize =

-					descriptionLabel.computeSize(width, SWT.DEFAULT, flush);

-				descriptionLabel.setBounds(0, y, width, dsize.y);

-				y += dsize.y + vspacing;

-			}

-			if (client != null) {

-				client.setBounds(0, y, width, height - y);

-			}

-		}

-	}

-

-	/**

-	 * @return

-	 */

-	public boolean isCompactMode() {

-		return compactMode;

-	}

-

-	/**

-	 * @param compactMode

-	 */

-	public void setCompactMode(boolean compactMode) {

-		this.compactMode = compactMode;

-	}

-

-	public FormSection() {

-		/*

-		// Description causes problems re word wrapping

-		// and causes bad layout in schema and

-		// feature editors when in Motif - turning off

-		if (SWT.getPlatform().equals("motif")) {

-			descriptionPainted = false;

-		}

-		*/

-		JFaceResources.getFontRegistry().addListener(this);

-	}

-	public void commitChanges(boolean onSave) {

-	}

-	public abstract Composite createClient(

-		Composite parent,

-		FormWidgetFactory factory);

-	public final Control createControl(

-		Composite parent,

-		final FormWidgetFactory factory) {

-		Composite section = factory.createComposite(parent);

-		SectionLayout slayout = new SectionLayout();

-		section.setLayout(slayout);

-		section.setData(this);

-

-		if (headerPainted) {

-			Color headerColor = factory.getColor(getHeaderColorKey());

-			header =

-				factory.createHeadingLabel(

-					section,

-					getHeaderText(),

-					headerColor,

-					SWT.WRAP);

-			if (collapsable) {

-				toggle = new ToggleControl(section, SWT.NULL);

-				toggle.setSelection(collapsed);

-				toggle.setBackground(factory.getBackgroundColor());

-				toggle.setActiveDecorationColor(factory.getHyperlinkColor());

-				toggle.setDecorationColor(

-					factory.getColor(

-						FormWidgetFactory.COLOR_COMPOSITE_SEPARATOR));

-				toggle.setActiveCursor(factory.getHyperlinkCursor());

-				toggle.addFocusListener(factory.visibilityHandler);

-				toggle.addKeyListener(factory.keyboardHandler);

-				toggle.addSelectionListener(new SelectionAdapter() {

-					public void widgetSelected(SelectionEvent e) {

-						doToggle();

-					}

-				});

-				header.addMouseListener(new MouseAdapter() {

-					public void mouseDown(MouseEvent e) {

-						toggle.setSelection(!toggle.getSelection());

-						toggle.redraw();

-						doToggle();

-					}

-				});

-				header.addMouseTrackListener(new MouseTrackAdapter() {

-					public void mouseEnter(MouseEvent e) {

-						header.setCursor(factory.getHyperlinkCursor());

-					}

-					public void mouseExit(MouseEvent e) {

-						header.setCursor(null);

-					}

-				});

-			}

-		}

-

-		if (addSeparator) {

-			//separator = factory.createSeparator(section, SWT.HORIZONTAL);

-			separator = factory.createCompositeSeparator(section);

-		}

-

-		if (descriptionPainted && description != null) {

-			descriptionLabel =

-				factory.createLabel(section, description, SWT.WRAP);

-		}

-		client = createClient(section, factory);

-		section.setData(this);

-		control = section;

-		return section;

-	}

-

-	private void doToggle() {

-		collapsed = toggle.getSelection();

-		reflow();

-		if (descriptionLabel != null)

-			descriptionLabel.setVisible(!collapsed);

-		if (client != null)

-			client.setVisible(!collapsed);

-	}

-

-	protected void reflow() {

-		control.setRedraw(false);

-		control.getParent().setRedraw(false);

-		control.layout(true);

-		control.getParent().layout(true);

-		control.setRedraw(true);

-		control.getParent().setRedraw(true);

-	}

-

-	protected Text createText(

-		Composite parent,

-		String label,

-		FormWidgetFactory factory) {

-		return createText(parent, label, factory, 1);

-	}

-	protected Text createText(

-		Composite parent,

-		String label,

-		FormWidgetFactory factory,

-		int span) {

-		factory.createLabel(parent, label);

-		Text text = factory.createText(parent, "");

-		int hfill =

-			span == 1

-				? GridData.FILL_HORIZONTAL

-				: GridData.HORIZONTAL_ALIGN_FILL;

-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);

-		gd.horizontalSpan = span;

-		text.setLayoutData(gd);

-		return text;

-	}

-	protected Text createText(

-		Composite parent,

-		String label,

-		FormWidgetFactory factory,

-		int span,

-		int style) {

-		Label l = factory.createLabel(parent, label);

-		if ((style & SWT.MULTI) != 0) {

-			GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);

-			l.setLayoutData(gd);

-		}

-		Text text = factory.createText(parent, "", style);

-		int hfill =

-			span == 1

-				? GridData.FILL_HORIZONTAL

-				: GridData.HORIZONTAL_ALIGN_FILL;

-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);

-		gd.horizontalSpan = span;

-		text.setLayoutData(gd);

-		return text;

-	}

-	protected Text createText(

-		Composite parent,

-		FormWidgetFactory factory,

-		int span) {

-		Text text = factory.createText(parent, "");

-		int hfill =

-			span == 1

-				? GridData.FILL_HORIZONTAL

-				: GridData.HORIZONTAL_ALIGN_FILL;

-		GridData gd = new GridData(hfill | GridData.VERTICAL_ALIGN_CENTER);

-		//gd.grabExcessHorizontalSpace = true;

-		gd.horizontalSpan = span;

-		text.setLayoutData(gd);

-		return text;

-	}

-	public void dispose() {

-		JFaceResources.getFontRegistry().removeListener(this);

-	}

-	public boolean doGlobalAction(String actionId) {

-		return false;

-	}

-	public void expandTo(Object object) {

-	}

-	public final void fireChangeNotification(

-		int changeType,

-		Object changeObject) {

-		if (sectionManager == null)

-			return;

-		sectionManager.dispatchNotification(this, changeType, changeObject);

-	}

-	public final void fireSelectionNotification(Object changeObject) {

-		fireChangeNotification(SELECTION, changeObject);

-	}

-	public java.lang.String getDescription() {

-		return description;

-	}

-	public java.lang.String getHeaderColorKey() {

-		return headerColorKey;

-	}

-	public java.lang.String getHeaderText() {

-		return headerText;

-	}

-	public int getHeightHint() {

-		return heightHint;

-	}

-	public int getWidthHint() {

-		return widthHint;

-	}

-	public void initialize(Object input) {

-	}

-	public boolean isAddSeparator() {

-		return addSeparator;

-	}

-	public boolean isDescriptionPainted() {

-		return descriptionPainted;

-	}

-	public boolean isDirty() {

-		return dirty;

-	}

-	public boolean isHeaderPainted() {

-		return headerPainted;

-	}

-	public boolean isReadOnly() {

-		return readOnly;

-	}

-	public void sectionChanged(

-		FormSection source,

-		int changeType,

-		Object changeObject) {

-	}

-	public void setAddSeparator(boolean newAddSeparator) {

-		addSeparator = newAddSeparator;

-	}

-

-	private String trimNewLines(String text) {

-		StringBuffer buff = new StringBuffer();

-		for (int i = 0; i < text.length(); i++) {

-			char c = text.charAt(i);

-			if (c == '\n')

-				buff.append(' ');

-			else

-				buff.append(c);

-		}

-		return buff.toString();

-	}

-

-	public void setDescription(java.lang.String newDescription) {

-		// we will trim the new lines so that we can

-		// use layout-based word wrapping instead

-		// of hard-coded one

-		description = trimNewLines(newDescription);

-		//description = newDescription;

-		if (descriptionLabel != null)

-			descriptionLabel.setText(newDescription);

-	}

-	public void setDescriptionPainted(boolean newDescriptionPainted) {

-		descriptionPainted = newDescriptionPainted;

-	}

-	public void setDirty(boolean newDirty) {

-		dirty = newDirty;

-	}

-	public void setFocus() {

-		if (toggle != null)

-			toggle.setFocus();

-	}

-	public void setHeaderColorKey(java.lang.String newHeaderColorKey) {

-		headerColorKey = newHeaderColorKey;

-	}

-	public void setHeaderPainted(boolean newHeaderPainted) {

-		headerPainted = newHeaderPainted;

-	}

-	public void setHeaderText(java.lang.String newHeaderText) {

-		headerText = newHeaderText;

-		if (header != null)

-			header.setText(headerText);

-	}

-	public void setHeightHint(int newHeightHint) {

-		heightHint = newHeightHint;

-	}

-	void setManager(SectionChangeManager manager) {

-		this.sectionManager = manager;

-	}

-	public void setReadOnly(boolean newReadOnly) {

-		readOnly = newReadOnly;

-	}

-

-	public void setWidthHint(int newWidthHint) {

-		widthHint = newWidthHint;

-	}

-

-	public void update() {

-	}

-

-	public void propertyChange(PropertyChangeEvent arg0) {

-		if (control != null && header != null && !control.isDisposed() && !header.isDisposed()) {

-			header.setFont(JFaceResources.getBannerFont());

-			control.layout(true);

-		}

-	}

-

-	/**

-	 * Gets the collapsable.

-	 * @return Returns a boolean

-	 */

-	public boolean getCollapsable() {

-		return collapsable;

-	}

-

-	/**

-	 * Sets the collapsable.

-	 * @param collapsable The collapsable to set

-	 */

-	public void setCollapsable(boolean collapsable) {

-		this.collapsable = collapsable;

-	}

-

-	public void setCollapsed(boolean collapsed) {

-		this.collapsed = collapsed;

-	}

-	

-	public boolean isCollapsed() {

-		return collapsed;

-	}

-

-	public boolean canPaste(Clipboard clipboard) {

-		return false;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
deleted file mode 100644
index 74b9cd7..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormWidgetFactory.java
+++ /dev/null
@@ -1,435 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import java.util.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.custom.*;

-import org.eclipse.ui.actions.*;

-import org.eclipse.update.ui.forms.internal.engine.FormEngine;

-

-public class FormWidgetFactory {

-	public static final String KEY_DRAW_BORDER = "FormWidgetFactory.drawBorder";

-	public static final String TREE_BORDER = "treeBorder";

-	public static final String DEFAULT_HEADER_COLOR = "__default__header__";

-	public static final String COLOR_BORDER = "__border";

-	public static final String COLOR_COMPOSITE_SEPARATOR = "__compSep";

-

-	private Hashtable colorRegistry = new Hashtable();

-	private Color backgroundColor;

-	private KeyListener deleteListener;

-	private Color foregroundColor;

-	private Display display;

-	public static final int BORDER_STYLE = SWT.NONE; //SWT.BORDER;

-	private BorderPainter borderPainter;

-	private Color borderColor;

-	private HyperlinkHandler hyperlinkHandler;

-	/* default */ VisibilityHandler visibilityHandler;

-	/* default */ KeyboardHandler keyboardHandler;

-

-	class BorderPainter implements PaintListener {

-		public void paintControl(PaintEvent event) {

-			Composite composite = (Composite) event.widget;

-			Control[] children = composite.getChildren();

-			for (int i = 0; i < children.length; i++) {

-				Control c = children[i];

-				boolean inactiveBorder=false;

-				if (c.getEnabled() == false && !(c instanceof CCombo))

-					continue;

-				if (c instanceof SelectableFormLabel)

-					continue;

-				Object flag = c.getData(KEY_DRAW_BORDER);

-				if (flag!=null) {

-					if (flag.equals(Boolean.FALSE)) continue;

-					if (flag.equals(TREE_BORDER)) inactiveBorder=true;

-				}

-				 

-				if (!inactiveBorder && (c instanceof Text || c instanceof Canvas || c instanceof CCombo)) {

-					Rectangle b = c.getBounds();

-					GC gc = event.gc;

-					gc.setForeground(c.getBackground());

-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1, b.height + 1);

-					gc.setForeground(foregroundColor);

-					if (c instanceof CCombo)

-						gc.drawRectangle(b.x - 1, b.y - 1, b.width + 1, b.height + 1);

-					else 

-						gc.drawRectangle(b.x - 1, b.y - 2, b.width + 1, b.height + 3);

-				} else if (inactiveBorder ||c instanceof Table || c instanceof Tree || c instanceof TableTree) {

-					Rectangle b = c.getBounds();

-					GC gc = event.gc;

-					gc.setForeground(borderColor);

-					//gc.drawRectangle(b.x - 2, b.y - 2, b.width + 3, b.height + 3);

-					gc.drawRectangle(b.x - 1, b.y - 1, b.width + 2, b.height + 2);

-				}

-			}

-		}

-	}

-

-	class VisibilityHandler extends FocusAdapter {

-		public void focusGained(FocusEvent e) {

-			Widget w = e.widget;

-			if (w instanceof Control) {

-				ensureVisible((Control) w);

-			}

-		}

-	}

-

-	class KeyboardHandler extends KeyAdapter {

-		public void keyPressed(KeyEvent e) {

-			Widget w = e.widget;

-			if (w instanceof Control) {

-				processKey(e.keyCode, (Control) w);

-			}

-		}

-	}

-

-	public FormWidgetFactory() {

-		this(Display.getCurrent());

-	}

-

-	public FormWidgetFactory(Display display) {

-		this.display = display;

-		initialize();

-	}

-

-	public static ScrolledComposite getScrolledComposite(Control c) {

-		Composite parent = c.getParent();

-

-		while (parent != null) {

-			if (parent instanceof ScrolledComposite) {

-				return (ScrolledComposite) parent;

-			}

-			parent = parent.getParent();

-		}

-		return null;

-	}

-

-	public static void ensureVisible(Control c) {

-		ScrolledComposite scomp = getScrolledComposite(c);

-		if (scomp != null) {

-			AbstractSectionForm.ensureVisible(scomp, c);

-		}

-	}

-

-	public static void processKey(int keyCode, Control c) {

-		ScrolledComposite scomp = getScrolledComposite(c);

-		if (scomp != null) {

-			switch (keyCode) {

-				case SWT.ARROW_DOWN :

-					AbstractSectionForm.scrollVertical(scomp, false);

-					break;

-				case SWT.ARROW_UP :

-					AbstractSectionForm.scrollVertical(scomp, true);

-					break;

-				case SWT.ARROW_LEFT :

-					AbstractSectionForm.scrollHorizontal(scomp, true);

-					break;

-				case SWT.ARROW_RIGHT :

-					AbstractSectionForm.scrollHorizontal(scomp, false);

-					break;

-				case SWT.PAGE_UP :

-					AbstractSectionForm.scrollPage(scomp, true);

-					break;

-				case SWT.PAGE_DOWN :

-					AbstractSectionForm.scrollPage(scomp, false);

-					break;

-			}

-		}

-	}

-

-	public Button createButton(Composite parent, String text, int style) {

-		int flatStyle = BORDER_STYLE == SWT.BORDER ? SWT.NULL : SWT.FLAT;

-		//int flatStyle = SWT.NULL;

-		Button button = new Button(parent, style | flatStyle);

-		button.setBackground(backgroundColor);

-		button.setForeground(foregroundColor);

-		if (text != null)

-			button.setText(text);

-		button.addFocusListener(visibilityHandler);

-		return button;

-	}

-	public Composite createComposite(Composite parent) {

-		return createComposite(parent, SWT.NULL);

-	}

-	public Composite createComposite(Composite parent, int style) {

-		Composite composite = new Composite(parent, style);

-		composite.setBackground(backgroundColor);

-		composite.addMouseListener(new MouseAdapter() {

-			public void mousePressed(MouseEvent e) {

-				((Control) e.widget).setFocus();

-			}

-		});

-		composite.setMenu(parent.getMenu());

-		return composite;

-	}

-	public Composite createCompositeSeparator(Composite parent) {

-		final Composite composite = new Composite(parent, SWT.NONE);

-		composite.addListener(SWT.Paint, new Listener() {

-			public void handleEvent(Event e) {

-				if (composite.isDisposed()) return;

-				Rectangle bounds = composite.getBounds();

-				GC gc = e.gc;

-				gc.setForeground(getColor(COLOR_COMPOSITE_SEPARATOR));

-				gc.setBackground(getBackgroundColor());

-				gc.fillGradientRectangle(0, 0, bounds.width, bounds.height, false);	

-			}

-		});

-		return composite;

-	}

-

-	public Label createHeadingLabel(Composite parent, String text) {

-		return createHeadingLabel(parent, text, null, SWT.NONE);

-	}

-

-	public Label createHeadingLabel(Composite parent, String text, int style) {

-		return createHeadingLabel(parent, text, null, style);

-	}

-

-	public Label createHeadingLabel(Composite parent, String text, Color bg) {

-		return createHeadingLabel(parent, text, bg, SWT.NONE);

-	}

-

-	public Label createHeadingLabel(

-		Composite parent,

-		String text,

-		Color bg,

-		int style) {

-		Label label = new Label(parent, style);

-		if (text != null)

-			label.setText(text);

-		label.setBackground(backgroundColor);

-		label.setForeground(foregroundColor);

-		label.setFont(JFaceResources.getFontRegistry().get(JFaceResources.BANNER_FONT));

-		return label;

-	}

-

-	public Label createHyperlinkLabel(

-		Composite parent,

-		String text,

-		IHyperlinkListener listener) {

-		return createHyperlinkLabel(parent, text, listener, SWT.NULL);

-	}

-	public Label createHyperlinkLabel(

-		Composite parent,

-		String text,

-		IHyperlinkListener listener,

-		int style) {

-		Label label = createLabel(parent, text, style);

-		turnIntoHyperlink(label, listener);

-		return label;

-	}

-	public Label createLabel(Composite parent, String text) {

-		return createLabel(parent, text, SWT.NONE);

-	}

-	public Label createLabel(Composite parent, String text, int style) {

-		Label label = new Label(parent, style);

-		if (text != null)

-			label.setText(text);

-		label.setBackground(backgroundColor);

-		label.setForeground(foregroundColor);

-		return label;

-	}

-

-	public SelectableFormLabel createSelectableLabel(

-		Composite parent,

-		String text) {

-		return createSelectableLabel(parent, text, SWT.NONE);

-	}

-

-	public SelectableFormLabel createSelectableLabel(

-		Composite parent,

-		String text,

-		int style) {

-		SelectableFormLabel label = new SelectableFormLabel(parent, style);

-		if (text != null)

-			label.setText(text);

-		label.setBackground(backgroundColor);

-		label.setForeground(foregroundColor);

-		label.addFocusListener(visibilityHandler);

-		label.addKeyListener(keyboardHandler);

-		return label;

-	}

-

-	public FormEngine createFormEngine(Composite parent) {

-		return createFormEngine(parent, false);

-	}

-	

-	public FormEngine createFormEngine(Composite parent, boolean trackFocus) {

-		FormEngine engine = new FormEngine(parent, SWT.WRAP);

-		engine.setBackground(backgroundColor);

-		engine.setForeground(foregroundColor);

-		engine.marginWidth = 1;

-		engine.marginHeight = 0;

-		engine.setHyperlinkSettings(getHyperlinkHandler());

-		if (trackFocus) engine.addFocusListener(visibilityHandler);

-		engine.addKeyListener(keyboardHandler);

-		engine.setMenu(parent.getMenu());

-		return engine;

-	}

-	

-	public Label createSeparator(Composite parent, int style) {

-		Label label = new Label(parent, SWT.SEPARATOR | style);

-		label.setBackground(backgroundColor);

-		label.setForeground(borderColor);

-		return label;

-	}

-	public Table createTable(Composite parent, int style) {

-		Table table = new Table(parent, BORDER_STYLE | style);

-		table.setBackground(backgroundColor);

-		table.setForeground(foregroundColor);

-		hookDeleteListener(table);

-		return table;

-	}

-	public Text createText(Composite parent, String value) {

-		return createText(parent, value, BORDER_STYLE | SWT.SINGLE);

-	}

-	public Text createText(Composite parent, String value, int style) {

-		Text text = new Text(parent, style);

-		if (value != null)

-			text.setText(value);

-		text.setBackground(backgroundColor);

-		text.setForeground(foregroundColor);

-		text.addFocusListener(visibilityHandler);

-		return text;

-	}

-	public Tree createTree(Composite parent, int style) {

-		Tree tree = new Tree(parent, BORDER_STYLE | style);

-		tree.setBackground(backgroundColor);

-		tree.setForeground(foregroundColor);

-		hookDeleteListener(tree);

-		return tree;

-	}

-	private void deleteKeyPressed(Widget widget) {

-		if (!(widget instanceof Control))

-			return;

-		Control control = (Control) widget;

-		for (Control parent = control.getParent();

-			parent != null;

-			parent = parent.getParent()) {

-			if (parent.getData() instanceof FormSection) {

-				FormSection section = (FormSection) parent.getData();

-				section.doGlobalAction(ActionFactory.DELETE.getId());

-				break;

-			}

-		}

-	}

-	public void dispose() {

-		Enumeration colors = colorRegistry.elements();

-		while (colors.hasMoreElements()) {

-			Color c = (Color) colors.nextElement();

-			c.dispose();

-		}

-		hyperlinkHandler.dispose();

-		colorRegistry = null;

-	}

-	public Color getBackgroundColor() {

-		return backgroundColor;

-	}

-	public Color getBorderColor() {

-		return borderColor;

-	}

-	public Cursor getBusyCursor() {

-		return hyperlinkHandler.getBusyCursor();

-	}

-	public Color getColor(String key) {

-		return (Color) colorRegistry.get(key);

-	}

-	public Color getForegroundColor() {

-		return foregroundColor;

-	}

-	public HyperlinkHandler getHyperlinkHandler() {

-		return hyperlinkHandler;

-	}

-	public Cursor getHyperlinkCursor() {

-		return hyperlinkHandler.getHyperlinkCursor();

-	}

-	public Color getHyperlinkColor() {

-		return hyperlinkHandler.getForeground();

-	}

-	public Color getHyperlinkHoverColor() {

-		return hyperlinkHandler.getActiveForeground();

-	}

-	public int getHyperlinkUnderlineMode() {

-		return hyperlinkHandler.getHyperlinkUnderlineMode();

-	}

-	public void hookDeleteListener(Control control) {

-		if (deleteListener == null) {

-			deleteListener = new KeyAdapter() {

-				public void keyPressed(KeyEvent event) {

-					if (event.character == SWT.DEL && event.stateMask == 0) {

-						deleteKeyPressed(event.widget);

-					}

-				}

-			};

-		}

-		control.addKeyListener(deleteListener);

-	}

-	private void initialize() {

-		backgroundColor = display.getSystemColor(SWT.COLOR_LIST_BACKGROUND);

-		registerColor(COLOR_BORDER, 195, 191, 179);

-		registerColor(COLOR_COMPOSITE_SEPARATOR, 152, 170, 203);

-		registerColor(DEFAULT_HEADER_COLOR, 0x48, 0x70, 0x98);

-		if (isWhiteBackground())

-			borderColor = getColor(COLOR_BORDER);

-		else

-			borderColor = display.getSystemColor(SWT.COLOR_WIDGET_BACKGROUND);

-		foregroundColor = display.getSystemColor(SWT.COLOR_LIST_FOREGROUND);

-		hyperlinkHandler = new HyperlinkHandler();

-		hyperlinkHandler.setBackground(backgroundColor);

-		updateHyperlinkColors();

-		visibilityHandler = new VisibilityHandler();

-		keyboardHandler = new KeyboardHandler();

-	}

-	

-	public boolean isWhiteBackground() {

-		return backgroundColor.getRed()==255 && backgroundColor.getGreen()==255 &&

-			backgroundColor.getBlue()==255;

-	}

-

-	public void updateHyperlinkColors() {

-		Color hyperlinkColor = JFaceColors.getHyperlinkText(display);

-		Color activeHyperlinkColor = JFaceColors.getActiveHyperlinkText(display);

-		hyperlinkHandler.setForeground(hyperlinkColor);

-		hyperlinkHandler.setActiveForeground(activeHyperlinkColor);

-	}

-

-	public void paintBordersFor(Composite parent) {

-		if (BORDER_STYLE == SWT.BORDER)

-			return;

-		if (borderPainter == null)

-			borderPainter = new BorderPainter();

-		parent.addPaintListener(borderPainter);

-	}

-	public Color registerColor(String key, int r, int g, int b) {

-		Color c = new Color(display, r, g, b);

-		colorRegistry.put(key, c);

-		return c;

-	}

-	public void setBackgroundColor(Color color) {

-		backgroundColor = color;

-	}

-	public void setHyperlinkColor(Color color) {

-		hyperlinkHandler.setForeground(color);

-	}

-	public void setHyperlinkHoverColor(org.eclipse.swt.graphics.Color hoverColor) {

-		hyperlinkHandler.setActiveForeground(hoverColor);

-	}

-	public void setHyperlinkUnderlineMode(int newHyperlinkUnderlineMode) {

-		hyperlinkHandler.setHyperlinkUnderlineMode(newHyperlinkUnderlineMode);

-	}

-	public void turnIntoHyperlink(Control control, IHyperlinkListener listener) {

-		hyperlinkHandler.registerHyperlink(control, listener);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java
deleted file mode 100644
index 5448093..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPlugin.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.ui.forms.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.ErrorDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-
-public class FormsPlugin extends AbstractUIPlugin {
-	private static FormsPlugin instance;
-	private ResourceBundle resourceBundle;
-
-	/**
-	 * Constructor for FormsPlugin.
-	 * @param descriptor
-	 */
-	public FormsPlugin(IPluginDescriptor descriptor) {
-		super(descriptor);
-		instance = this;
-		try {
-			resourceBundle =
-				ResourceBundle.getBundle(
-					"org.eclipse.update.ui.forms.internal.FormsPluginResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getResourceString(String key) {
-		FormsPlugin inst = FormsPlugin.getDefault();
-		if (inst==null) return key;
-		ResourceBundle bundle = FormsPlugin.getDefault().getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getFormattedMessage(String key, String[] args) {
-		String text = getResourceString(key);
-		return java.text.MessageFormat.format(text, args);
-	}
-
-	public static String getFormattedMessage(String key, String arg) {
-		String text = getResourceString(key);
-		return java.text.MessageFormat.format(text, new Object[] { arg });
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	public static FormsPlugin getDefault() {
-		return instance;
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		return getDefault().internalGetActivePage();
-	}
-
-	private IWorkbenchPage internalGetActivePage() {
-		return getWorkbench().getActiveWorkbenchWindow().getActivePage();
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		return getActiveWorkbenchWindow().getShell();
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, true);
-	}
-
-	public static void logException(Throwable e, boolean showErrorDialog) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			String message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status =
-				new Status(
-					IStatus.ERROR,
-					getPluginId(),
-					IStatus.OK,
-					message,
-					e);
-		}
-		log(status, showErrorDialog);
-	}
-
-	public static void log(IStatus status, boolean showErrorDialog) {
-		if (showErrorDialog)
-			ErrorDialog.openError(
-				getActiveWorkbenchShell(),
-				null,
-				null,
-				status);
-		Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties
deleted file mode 100644
index 6d45e06..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/FormsPluginResources.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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 Corporation - initial API and implementation
-###############################################################################
-
-FormEgine.linkPopup.open = &Open
-FormEgine.linkPopup.copyShortcut = &Copy as Shortcut
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
deleted file mode 100644
index 0dd2126..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HTMLTableLayout.java
+++ /dev/null
@@ -1,678 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import java.util.Vector;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-

-/**

- * This implementation of the layout algorithm attempts to position controls in

- * the composite using a two-pass autolayout HTML table altorithm recommeded by

- * HTML 4.01 W3C specification. The main differences with GridLayout is that it

- * has two passes and that width and height are not calculated in the same

- * pass.

- * <p>

- * The advantage of the algorithm over GridLayout is that it is capable of

- * flowing text controls capable of line wrap. These controls do not have

- * natural 'preferred size'. Instead, they are capable of providing the

- * required height if the width is set. Consequently, this algorithm first

- * calculates the widths that will be assigned to columns, and then passes

- * those widths to the controls to calculate the height. When a composite with

- * this layout is a child of the scrolling composite, they should interact in

- * such a way that reduction in the scrolling composite width results in the

- * reflow and increase of the overall height.

- * <p>

- * If none of the columns contain expandable and wrappable controls, the

- * end-result will be similar to the one provided by GridLayout. The difference

- * will show up for layouts that contain controls whose minimum and maximum

- * widths are not the same.

- */

-

-public class HTMLTableLayout extends Layout implements ILayoutExtension {

-	public int numColumns = 1;

-	public int leftMargin = 5;

-	public int rightMargin = 5;

-	public int topMargin = 5;

-	public int bottomMargin = 5;

-	public int horizontalSpacing = 5;

-	public int verticalSpacing = 5;

-	public boolean makeColumnsEqualWidth = false;

-

-	private boolean initialLayout = true;

-	private Vector grid = null;

-	private int[] minColumnWidths, maxColumnWidths;

-	private int widestColumnWidth;

-	private int[] growingColumns;

-

-	public int getMinimumWidth(Composite parent, boolean changed) {

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		if (minColumnWidths == null)

-			minColumnWidths = new int[numColumns];

-		for (int i = 0; i < numColumns; i++) {

-			minColumnWidths[i] = 0;

-		}

-		return internalGetMinimumWidth(parent, changed);

-	}

-

-	public int getMaximumWidth(Composite parent, boolean changed) {

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		if (maxColumnWidths == null)

-			maxColumnWidths = new int[numColumns];

-		for (int i = 0; i < numColumns; i++) {

-			maxColumnWidths[i] = 0;

-		}

-		return internalGetMaximumWidth(parent, changed);

-	}

-

-	/**

-	 * @see Layout#layout(Composite, boolean)

-	 */

-	protected void layout(Composite parent, boolean changed) {

-		Rectangle clientArea = parent.getClientArea();

-		Control[] children = parent.getChildren();

-		if (children.length == 0)

-			return;

-		int parentWidth = clientArea.width;

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		resetColumnWidths();

-		int minWidth = internalGetMinimumWidth(parent, changed);

-		int maxWidth = internalGetMaximumWidth(parent, changed);

-

-		int tableWidth = parentWidth;

-

-		int[] columnWidths;

-

-		if (parentWidth < minWidth) {

-			tableWidth = minWidth;

-			if (makeColumnsEqualWidth) {

-				columnWidths = new int[numColumns];

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = widestColumnWidth;

-				}

-			} else

-				columnWidths = minColumnWidths;

-		} else if (parentWidth > maxWidth) {

-			if (growingColumns.length == 0) {

-				tableWidth = maxWidth;

-				columnWidths = maxColumnWidths;

-			} else {

-				columnWidths = new int[numColumns];

-				int colSpace = tableWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int extra = parentWidth - maxWidth;

-				int colExtra = extra / growingColumns.length;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = maxColumnWidths[i];

-

-					if (isGrowingColumn(i)) {

-						columnWidths[i] += colExtra;

-					}

-				}

-			}

-		} else {

-			columnWidths = new int[numColumns];

-			if (makeColumnsEqualWidth) {

-				int colSpace = tableWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int col = colSpace / numColumns;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = col;

-				}

-			} else {

-				int[] extraSpace =

-					calculateExtraSpace(tableWidth, maxWidth, minWidth);

-				for (int i = 0; i < numColumns; i++) {

-					int minCWidth = minColumnWidths[i];

-					columnWidths[i] = minCWidth + extraSpace[i];

-				}

-			}

-		}

-		int x = 0;

-		int y = topMargin;

-		// assign widths

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			// assign widths, calculate heights

-			int rowHeight = 0;

-			x = leftMargin;

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false) {

-					continue;

-				}

-				Control child = children[td.childIndex];

-				int span = td.colspan;

-				int cwidth = 0;

-				for (int k = j; k < j + span; k++) {

-					cwidth += columnWidths[k];

-					if (k < j + span - 1)

-						cwidth += horizontalSpacing;

-				}

-				Point size = computeSize(child, cwidth, changed);

-				td.compWidth = cwidth;

-				if (td.heightHint != SWT.DEFAULT) {

-					size = new Point(size.x, td.heightHint);

-				}

-				td.compSize = size;

-				rowHeight = Math.max(rowHeight, size.y);

-			}

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false) {

-					continue;

-				}

-				Control child = children[td.childIndex];

-				placeControl(child, td, x, y, rowHeight);

-				x += td.compWidth;

-				if (j < numColumns - 1)

-					x += horizontalSpacing;

-			}

-			y += rowHeight + verticalSpacing;

-		}

-	}

-

-	boolean isGrowingColumn(int col) {

-		if (growingColumns == null)

-			return false;

-		for (int i = 0; i < growingColumns.length; i++) {

-			if (col == growingColumns[i])

-				return true;

-		}

-		return false;

-	}

-

-	int[] calculateExtraSpace(int tableWidth, int maxWidth, int minWidth) {

-		int fixedPart =

-			leftMargin + rightMargin + (numColumns - 1) * horizontalSpacing;

-		int D = maxWidth - minWidth;

-

-		int W = tableWidth - fixedPart - minWidth;

-

-		int extraSpace[] = new int[numColumns];

-

-		int rem = 0;

-		for (int i = 0; i < numColumns; i++) {

-			int cmin = minColumnWidths[i];

-			int cmax = maxColumnWidths[i];

-			int d = cmax - cmin;

-			int extra = D != 0 ? (d * W) / D : 0;

-			if (i < numColumns - 1) {

-				extraSpace[i] = extra;

-				rem += extra;

-			} else {

-				extraSpace[i] = W - rem;

-			}

-		}

-		return extraSpace;

-	}

-

-	Point computeSize(Control child, int width, boolean changed) {

-		int widthArg = width;

-		if (!isWrap(child))

-			widthArg = SWT.DEFAULT;

-		Point size = child.computeSize(widthArg, SWT.DEFAULT, changed);

-		return size;

-	}

-

-	void placeControl(

-		Control control,

-		TableData td,

-		int x,

-		int y,

-		int rowHeight) {

-		int xloc = x + td.indent;

-		int yloc = y;

-		int width = td.compSize.x;

-		int height = td.compSize.y;

-		int colWidth = td.compWidth;

-

-		// align horizontally

-		if (td.align == TableData.CENTER) {

-			xloc = x + colWidth / 2 - width / 2;

-		} else if (td.align == TableData.RIGHT) {

-			xloc = x + colWidth - width;

-		} else if (td.align == TableData.FILL) {

-			width = colWidth;

-		}

-		// align vertically

-		if (td.valign == TableData.MIDDLE) {

-			yloc = y + rowHeight / 2 - height / 2;

-		} else if (td.valign == TableData.BOTTOM) {

-			yloc = y + rowHeight - height;

-		} else if (td.valign == TableData.FILL) {

-			height = rowHeight;

-		}

-		control.setBounds(xloc, yloc, width, height);

-	}

-

-	void createGrid(Composite composite) {

-		int row, column, rowFill, columnFill;

-		Control[] children;

-		TableData spacerSpec;

-		Vector growingCols = new Vector();

-

-		// 

-		children = composite.getChildren();

-		if (children.length == 0)

-			return;

-

-		// 

-		grid.addElement(createEmptyRow());

-		row = 0;

-		column = 0;

-

-		// Loop through the children and place their associated layout specs in

-		// the

-		// grid. Placement occurs left to right, top to bottom (i.e., by row).

-		for (int i = 0; i < children.length; i++) {

-			// Find the first available spot in the grid.

-			Control child = children[i];

-			TableData spec = (TableData) child.getLayoutData();

-			while (((TableData[]) grid.elementAt(row))[column] != null) {

-				column = column + 1;

-				if (column >= numColumns) {

-					row = row + 1;

-					column = 0;

-					if (row >= grid.size()) {

-						grid.addElement(createEmptyRow());

-					}

-				}

-			}

-			// See if the place will support the widget's horizontal span. If

-			// not, go to the

-			// next row.

-			if (column + spec.colspan - 1 >= numColumns) {

-				grid.addElement(createEmptyRow());

-				row = row + 1;

-				column = 0;

-			}

-

-			// The vertical span for the item will be at least 1. If it is > 1,

-			// add other rows to the grid.

-			for (int j = 2; j <= spec.rowspan; j++) {

-				if (row + j > grid.size()) {

-					grid.addElement(createEmptyRow());

-				}

-			}

-

-			// Store the layout spec. Also cache the childIndex. NOTE: That we

-			// assume the children of a

-			// composite are maintained in the order in which they are created

-			// and added to the composite.

-			 ((TableData[]) grid.elementAt(row))[column] = spec;

-			spec.childIndex = i;

-

-			if (spec.grabHorizontal) {

-				updateGrowingColumns(growingCols, spec, column);

-			}

-

-			// Put spacers in the grid to account for the item's vertical and

-			// horizontal

-			// span.

-			rowFill = spec.rowspan - 1;

-			columnFill = spec.colspan - 1;

-			for (int r = 1; r <= rowFill; r++) {

-				for (int c = 0; c < spec.colspan; c++) {

-					spacerSpec = new TableData();

-					spacerSpec.isItemData = false;

-					((TableData[]) grid.elementAt(row + r))[column + c] =

-						spacerSpec;

-				}

-			}

-			for (int c = 1; c <= columnFill; c++) {

-				for (int r = 0; r < spec.rowspan; r++) {

-					spacerSpec = new TableData();

-					spacerSpec.isItemData = false;

-					((TableData[]) grid.elementAt(row + r))[column + c] =

-						spacerSpec;

-				}

-			}

-			column = column + spec.colspan - 1;

-		}

-

-		// Fill out empty grid cells with spacers.

-		for (int k = column + 1; k < numColumns; k++) {

-			spacerSpec = new TableData();

-			spacerSpec.isItemData = false;

-			((TableData[]) grid.elementAt(row))[k] = spacerSpec;

-		}

-		for (int k = row + 1; k < grid.size(); k++) {

-			spacerSpec = new TableData();

-			spacerSpec.isItemData = false;

-			((TableData[]) grid.elementAt(k))[column] = spacerSpec;

-		}

-		growingColumns = new int[growingCols.size()];

-		for (int i = 0; i < growingCols.size(); i++) {

-			growingColumns[i] = ((Integer) growingCols.get(i)).intValue();

-		}

-	}

-

-	private void updateGrowingColumns(

-		Vector growingColumns,

-		TableData spec,

-		int column) {

-		int affectedColumn = column + spec.colspan - 1;

-		for (int i = 0; i < growingColumns.size(); i++) {

-			Integer col = (Integer) growingColumns.get(i);

-			if (col.intValue() == affectedColumn)

-				return;

-		}

-		growingColumns.add(new Integer(affectedColumn));

-	}

-

-	private TableData[] createEmptyRow() {

-		TableData[] row = new TableData[numColumns];

-		for (int i = 0; i < numColumns; i++)

-			row[i] = null;

-		return row;

-	}

-

-	/**

-	 * @see Layout#computeSize(Composite, int, int, boolean)

-	 */

-	protected Point computeSize(

-		Composite parent,

-		int wHint,

-		int hHint,

-		boolean changed) {

-		Control[] children = parent.getChildren();

-		if (children.length == 0) {

-			return new Point(0, 0);

-		}

-		int parentWidth = wHint;

-		changed = true;

-		initializeIfNeeded(parent, changed);

-		if (initialLayout) {

-			changed = true;

-			initialLayout = false;

-		}

-		if (grid == null || changed) {

-			changed = true;

-			grid = new Vector();

-			createGrid(parent);

-		}

-		resetColumnWidths();

-		int minWidth = internalGetMinimumWidth(parent, changed);

-		int maxWidth = internalGetMaximumWidth(parent, changed);

-

-		int tableWidth = parentWidth;

-

-		int[] columnWidths;

-

-		if (parentWidth < minWidth) {

-			tableWidth = minWidth;

-			if (makeColumnsEqualWidth) {

-				columnWidths = new int[numColumns];

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = widestColumnWidth;

-				}

-			} else

-				columnWidths = minColumnWidths;

-		} else if (parentWidth > maxWidth) {

-			if (makeColumnsEqualWidth) {

-				columnWidths = new int[numColumns];

-				int colSpace = parentWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int col = colSpace / numColumns;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = col;

-				}

-			} else {

-				tableWidth = maxWidth;

-				columnWidths = maxColumnWidths;

-			}

-		} else {

-			columnWidths = new int[numColumns];

-			if (makeColumnsEqualWidth) {

-				int colSpace = tableWidth - leftMargin - rightMargin;

-				colSpace -= (numColumns - 1) * horizontalSpacing;

-				int col = colSpace / numColumns;

-				for (int i = 0; i < numColumns; i++) {

-					columnWidths[i] = col;

-				}

-			} else {

-				int[] extraSpace =

-					calculateExtraSpace(tableWidth, maxWidth, minWidth);

-				for (int i = 0; i < numColumns; i++) {

-					int minCWidth = minColumnWidths[i];

-					columnWidths[i] = minCWidth + extraSpace[i];

-				}

-			}

-		}

-		int totalHeight = 0;

-		int y = topMargin;

-		// compute widths

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			// assign widths, calculate heights

-			int rowHeight = 0;

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false) {

-					continue;

-				}

-				Control child = children[td.childIndex];

-				int span = td.colspan;

-				int cwidth = 0;

-				for (int k = j; k < j + span; k++) {

-					if (k > j)

-						cwidth += horizontalSpacing;

-					cwidth += columnWidths[k];

-				}

-				int cy = td.heightHint;

-				if (cy == SWT.DEFAULT) {

-					Point size = computeSize(child, cwidth, changed);

-					cy = size.y;

-				}

-				rowHeight = Math.max(rowHeight, cy);

-			}

-			y += rowHeight + verticalSpacing;

-		}

-		totalHeight = y + bottomMargin;

-		return new Point(tableWidth, totalHeight);

-	}

-

-	int internalGetMinimumWidth(Composite parent, boolean changed) {

-		if (changed)

-			calculateMinimumColumnWidths(parent, true);

-		int minimumWidth = 0;

-

-		widestColumnWidth = 0;

-

-		if (makeColumnsEqualWidth) {

-			for (int i = 0; i < numColumns; i++) {

-				widestColumnWidth =

-					Math.max(widestColumnWidth, minColumnWidths[i]);

-			}

-		}

-		for (int i = 0; i < numColumns; i++) {

-			if (i > 0)

-				minimumWidth += horizontalSpacing;

-			if (makeColumnsEqualWidth)

-				minimumWidth += widestColumnWidth;

-			else

-				minimumWidth += minColumnWidths[i];

-		}

-		// add margins

-		minimumWidth += leftMargin + rightMargin;

-		return minimumWidth;

-	}

-

-	int internalGetMaximumWidth(Composite parent, boolean changed) {

-		if (changed)

-			calculateMaximumColumnWidths(parent, true);

-		int maximumWidth = 0;

-		for (int i = 0; i < numColumns; i++) {

-			if (i > 0)

-				maximumWidth += horizontalSpacing;

-			maximumWidth += maxColumnWidths[i];

-		}

-		// add margins

-		maximumWidth += leftMargin + rightMargin;

-		return maximumWidth;

-	}

-

-	void resetColumnWidths() {

-		if (minColumnWidths == null)

-			minColumnWidths = new int[numColumns];

-		if (maxColumnWidths == null)

-			maxColumnWidths = new int[numColumns];

-		for (int i = 0; i < numColumns; i++) {

-			minColumnWidths[i] = 0;

-		}

-		for (int i = 0; i < numColumns; i++) {

-			maxColumnWidths[i] = 0;

-		}

-	}

-

-	void calculateMinimumColumnWidths(Composite parent, boolean changed) {

-		Control[] children = parent.getChildren();

-

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false)

-					continue;

-				Control child = children[td.childIndex];

-				int minWidth = -1;

-				if (child instanceof Composite) {

-					Composite cc = (Composite) child;

-					Layout l = cc.getLayout();

-					if (l instanceof ILayoutExtension) {

-						minWidth =

-							((ILayoutExtension) l).getMinimumWidth(cc, changed);

-					}

-				}

-				if (minWidth == -1) {

-					if (isWrap(child)) {

-						// Should be the width of the

-						// longest word, we'll pick

-						// some small number instead

-						minWidth = 30;

-					} else {

-						Point size =

-							child.computeSize(

-								SWT.DEFAULT,

-								SWT.DEFAULT,

-								changed);

-						minWidth = size.x;

-					}

-				}

-				minWidth += td.indent;

-				minColumnWidths[j] = Math.max(minColumnWidths[j], minWidth);

-			}

-		}

-	}

-

-	boolean isWrap(Control control) {

-		if (control instanceof Composite

-			&& ((Composite) control).getLayout() instanceof ILayoutExtension)

-			return true;

-		return (control.getStyle() & SWT.WRAP) != 0;

-	}

-

-	void calculateMaximumColumnWidths(Composite parent, boolean changed) {

-		Control[] children = parent.getChildren();

-

-		for (int i = 0; i < numColumns; i++) {

-			maxColumnWidths[i] = 0;

-		}

-		for (int i = 0; i < grid.size(); i++) {

-			TableData[] row = (TableData[]) grid.elementAt(i);

-			for (int j = 0; j < numColumns; j++) {

-				TableData td = row[j];

-				if (td.isItemData == false)

-					continue;

-				Control child = children[td.childIndex];

-				int maxWidth = -1;

-				if (child instanceof Composite) {

-					Composite cc = (Composite) child;

-					Layout l = cc.getLayout();

-					if (l instanceof ILayoutExtension) {

-						maxWidth =

-							((ILayoutExtension) l).getMaximumWidth(cc, changed);

-					}

-				}

-				if (maxWidth == -1) {

-					Point size =

-						child.computeSize(SWT.DEFAULT, SWT.DEFAULT, changed);

-					maxWidth = size.x;

-				}

-				maxWidth += td.indent;

-				if (td.colspan == 1)

-					maxColumnWidths[j] = Math.max(maxColumnWidths[j], maxWidth);

-				else {

-					// grow the last column

-					int last = j + td.colspan - 1;

-					int rem = 0;

-					for (int k = j; k < j + td.colspan - 1; k++) {

-						rem += maxColumnWidths[k];

-					}

-					int reduced = maxWidth - rem;

-					maxColumnWidths[last] =

-						Math.max(maxColumnWidths[last], reduced);

-				}

-			}

-		}

-	}

-

-	private void initializeIfNeeded(Composite parent, boolean changed) {

-		if (changed)

-			initialLayout = true;

-		if (initialLayout) {

-			initializeLayoutData(parent);

-			initialLayout = false;

-		}

-	}

-

-	void initializeLayoutData(Composite composite) {

-		Control[] children = composite.getChildren();

-		for (int i = 0; i < children.length; i++) {

-			Control child = children[i];

-			if (child.getLayoutData() == null) {

-				child.setLayoutData(new TableData());

-			}

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
deleted file mode 100644
index 8180a2d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkAdapter.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-public class HyperlinkAdapter implements IHyperlinkListener {

-

-public HyperlinkAdapter() {

-	super();

-}

-public void linkActivated(org.eclipse.swt.widgets.Control linkLabel) {}

-public void linkEntered(org.eclipse.swt.widgets.Control linkLabel) {}

-public void linkExited(org.eclipse.swt.widgets.Control linkLabel) {}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
deleted file mode 100644
index 031aef6..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkHandler.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import java.util.Enumeration;

-import java.util.Hashtable;

-

-import org.eclipse.swt.events.MouseEvent;

-import org.eclipse.swt.events.MouseListener;

-import org.eclipse.swt.events.MouseTrackListener;

-import org.eclipse.swt.events.PaintEvent;

-import org.eclipse.swt.events.PaintListener;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.events.SelectionListener;

-import org.eclipse.swt.graphics.Color;

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Label;

-

-public class HyperlinkHandler

-	extends HyperlinkSettings

-	implements MouseListener, MouseTrackListener, SelectionListener, PaintListener {

-	private Hashtable hyperlinkListeners;

-	private Control lastActivated;

-	private Control lastEntered;

-

-	public HyperlinkHandler() {

-		hyperlinkListeners = new Hashtable();

-	}

-

-	public Control getLastLink() {

-		return lastActivated;

-	}

-

-	public void mouseDoubleClick(MouseEvent e) {

-	}

-

-	public void mouseDown(MouseEvent e) {

-		if (e.button == 1)

-			return;

-		lastActivated = (Control) e.widget;

-	}

-	public void mouseEnter(MouseEvent e) {

-		Control control = (Control) e.widget;

-		linkEntered(control);

-	}

-	public void mouseExit(MouseEvent e) {

-		Control control = (Control) e.widget;

-		linkExited(control);

-	}

-	public void mouseHover(MouseEvent e) {

-	}

-

-	public void mouseUp(MouseEvent e) {

-		if (e.button != 1)

-			return;

-		Control linkControl = (Control) e.widget;

-		Point size = linkControl.getSize();

-		// Filter out mouse up events outside

-		// the link. This can happen when mouse is

-		// clicked, dragged outside the link, then

-		// released.

-		if (e.x < 0)

-			return;

-		if (e.y < 0)

-			return;

-		if (e.x >= size.x)

-			return;

-		if (e.y >= size.y)

-			return;

-		linkActivated(linkControl);

-	}

-

-	public void widgetDefaultSelected(SelectionEvent e) {

-		Control link = (Control) e.widget;

-		linkActivated(link);

-	}

-

-	public void widgetSelected(SelectionEvent e) {

-		Control link = (Control) e.widget;

-		SelectableFormLabel l = (SelectableFormLabel) link;

-		if (l.getSelection())

-			linkEntered(link);

-		else

-			linkExited(link);

-	}

-

-	private void linkActivated(Control link) {

-		IHyperlinkListener action =

-			(IHyperlinkListener) hyperlinkListeners.get(link);

-		if (action != null) {

-			link.setCursor(getBusyCursor());

-			action.linkActivated(link);

-			if (!link.isDisposed())

-				link.setCursor(

-					isHyperlinkCursorUsed() ? getHyperlinkCursor() : null);

-		}

-	}

-

-	private void linkEntered(Control link) {

-		if (lastEntered != null

-			&& lastEntered instanceof SelectableFormLabel) {

-			SelectableFormLabel fl = (SelectableFormLabel) lastEntered;

-			linkExited(fl);

-		}

-		if (isHyperlinkCursorUsed())

-			link.setCursor(getHyperlinkCursor());

-		if (activeBackground != null)

-			link.setBackground(activeBackground);

-		if (activeForeground != null)

-			link.setForeground(activeForeground);

-		if (hyperlinkUnderlineMode == UNDERLINE_ROLLOVER)

-			underline(link, true);

-

-		IHyperlinkListener action =

-			(IHyperlinkListener) hyperlinkListeners.get(link);

-		if (action != null)

-			action.linkEntered(link);

-		lastEntered = link;

-	}

-

-	private void linkExited(Control link) {

-		if (isHyperlinkCursorUsed())

-			link.setCursor(null);

-		if (hyperlinkUnderlineMode == UNDERLINE_ROLLOVER)

-			underline(link, false);

-		if (background != null)

-			link.setBackground(background);

-		if (foreground != null)

-			link.setForeground(foreground);

-		IHyperlinkListener action =

-			(IHyperlinkListener) hyperlinkListeners.get(link);

-		if (action != null)

-			action.linkExited(link);

-		if (lastEntered == link)

-			lastEntered = null;

-	}

-

-	public void paintControl(PaintEvent e) {

-		Control label = (Control) e.widget;

-		if (hyperlinkUnderlineMode == UNDERLINE_ALWAYS)

-			HyperlinkHandler.underline(label, true);

-	}

-

-	public void registerHyperlink(

-		Control control,

-		IHyperlinkListener listener) {

-		if (background != null)

-			control.setBackground(background);

-		if (foreground != null)

-			control.setForeground(foreground);

-		control.addMouseListener(this);

-		control.addMouseTrackListener(this);

-

-		if (hyperlinkUnderlineMode == UNDERLINE_ALWAYS

-			&& control instanceof Label)

-			control.addPaintListener(this);

-		if (control instanceof SelectableFormLabel) {

-			SelectableFormLabel sl = (SelectableFormLabel) control;

-			sl.addSelectionListener(this);

-			if (hyperlinkUnderlineMode == UNDERLINE_ALWAYS)

-				sl.setUnderlined(true);

-		}

-		hyperlinkListeners.put(control, listener);

-		removeDisposedLinks();

-	}

-

-	private void removeDisposedLinks() {

-		for (Enumeration keys = hyperlinkListeners.keys();

-			keys.hasMoreElements();

-			) {

-			Control control = (Control) keys.nextElement();

-			if (control.isDisposed()) {

-				hyperlinkListeners.remove(control);

-			}

-		}

-	}

-

-	public void reset() {

-		hyperlinkListeners.clear();

-	}

-

-	public static void underline(Control control, boolean inside) {

-		if (control instanceof SelectableFormLabel) {

-			SelectableFormLabel l = (SelectableFormLabel) control;

-			l.setUnderlined(inside);

-			l.redraw();

-			return;

-		}

-		if (!(control instanceof Label))

-			return;

-		Composite parent = control.getParent();

-		Rectangle bounds = control.getBounds();

-		GC gc = new GC(parent);

-		Color color =

-			inside ? control.getForeground() : control.getBackground();

-		gc.setForeground(color);

-		int y = bounds.y + bounds.height;

-		gc.drawLine(bounds.x, y, bounds.x + bounds.width, y);

-		gc.dispose();

-	}

-

-	public void setForeground(Color color) {

-		super.setForeground(color);

-		removeDisposedLinks();

-		for (Enumeration links = hyperlinkListeners.keys();

-			links.hasMoreElements();

-			) {

-			Control control = (Control) links.nextElement();

-			control.setForeground(color);

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
deleted file mode 100644
index 3a1c6a0..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/HyperlinkSettings.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.*;

-

-public class HyperlinkSettings {

-	public static final int UNDERLINE_NEVER = 1;

-	public static final int UNDERLINE_ROLLOVER = 2;

-	public static final int UNDERLINE_ALWAYS = 3;

-

-	protected boolean hyperlinkCursorUsed = true;

-	protected int hyperlinkUnderlineMode = UNDERLINE_ALWAYS;

-	protected Color background;

-	protected Color foreground;

-	protected Color activeBackground;

-	protected Color activeForeground;

-	protected static Cursors cursors = new Cursors();

-

-	static class Cursors {

-		Cursor hyperlinkCursor;

-		Cursor busyCursor;

-		Cursor textCursor;

-		int counter = 0;

-

-		public void allocate() {

-			if (counter == 0) {

-				hyperlinkCursor =

-					new Cursor(Display.getCurrent(), SWT.CURSOR_HAND);

-				busyCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_WAIT);

-				textCursor = new Cursor(Display.getCurrent(), SWT.CURSOR_IBEAM);

-			}

-			counter++;

-		}

-		public void dispose() {

-			counter--;

-			if (counter == 0) {

-				hyperlinkCursor.dispose();

-				busyCursor.dispose();

-				textCursor.dispose();

-				hyperlinkCursor = null;

-				busyCursor = null;

-				textCursor = null;

-			}

-		}

-	}

-

-	public HyperlinkSettings() {

-		cursors.allocate();

-	}

-

-	public void dispose() {

-		if (cursors != null)

-			cursors.dispose();

-	}

-

-	public Color getActiveBackground() {

-		return activeBackground;

-	}

-	public Color getActiveForeground() {

-		return activeForeground;

-	}

-	public Color getBackground() {

-		return background;

-	}

-	public Cursor getBusyCursor() {

-		return cursors.busyCursor;

-	}

-	public Cursor getTextCursor() {

-		return cursors.textCursor;

-	}

-	public Color getForeground() {

-		return foreground;

-	}

-	public Cursor getHyperlinkCursor() {

-		return cursors.hyperlinkCursor;

-	}

-	public int getHyperlinkUnderlineMode() {

-		return hyperlinkUnderlineMode;

-	}

-

-	public boolean isHyperlinkCursorUsed() {

-		return hyperlinkCursorUsed;

-	}

-

-	public void setActiveBackground(Color newActiveBackground) {

-		activeBackground = newActiveBackground;

-	}

-	public void setActiveForeground(Color newActiveForeground) {

-		activeForeground = newActiveForeground;

-	}

-	public void setBackground(Color newBackground) {

-		background = newBackground;

-	}

-	public void setForeground(Color newForeground) {

-		foreground = newForeground;

-	}

-	public void setHyperlinkCursorUsed(boolean newHyperlinkCursorUsed) {

-		hyperlinkCursorUsed = newHyperlinkCursorUsed;

-	}

-	public void setHyperlinkUnderlineMode(int newHyperlinkUnderlineMode) {

-		hyperlinkUnderlineMode = newHyperlinkUnderlineMode;

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
deleted file mode 100644
index 1661485..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IForm.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-

-public interface IForm {

-public void commitChanges(boolean onSave);

-public Control createControl(Composite parent);

-public void dispose();

-public boolean doGlobalAction(String actionId);

-public void expandTo(Object object);

-public Control getControl();

-public FormWidgetFactory getFactory();

-public Color getHeadingBackground();

-public Color getHeadingForeground();

-public Image getHeadingImage();

-public String getHeadingText();

-public void initialize(Object model);

-public boolean isHeadingVisible();

-public void registerSection(FormSection section);

-public void setFocus();

-public void setHeadingBackground(Color newHeadingBackground);

-public void setHeadingForeground(Color newHeadingForeground);

-public void setHeadingImage(Image headingImage);

-public void setHeadingVisible(boolean newHeadingVisible);

-public void setHeadingText(String heading);

-public void update();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
deleted file mode 100644
index 8839598..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormPage.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-

-public interface IFormPage {

-

-boolean becomesInvisible(IFormPage newPage);

-void becomesVisible(IFormPage previousPage);

-void createControl(Composite parent);

-Control getControl();

-String getLabel();

-String getTitle();

-boolean isSource();

-boolean isVisible();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
deleted file mode 100644
index a334d41..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormSelectionListener.java
+++ /dev/null
@@ -1,15 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-public interface IFormSelectionListener {

-	public void formSelected(IFormPage page, boolean setFocus);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
deleted file mode 100644
index 237f714..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormTextListener.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-public interface IFormTextListener {

-	public void textValueChanged(FormEntry text);

-	public void textDirty(FormEntry text);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
deleted file mode 100644
index 9fe78ab..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IFormWorkbook.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-

-public interface IFormWorkbook {

-

-	void addFormSelectionListener(IFormSelectionListener listener);

-	public void addPage(IFormPage page);

-	public void createControl(Composite parent);

-	Control getControl();

-	public IFormPage getCurrentPage();

-	boolean isFirstPageSelected();

-	void removeFormSelectionListener(IFormSelectionListener listener);

-	public void removePage(IFormPage page);

-	public void selectPage(final IFormPage page, boolean setFocus);

-	void setFirstPageSelected(boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
deleted file mode 100644
index d69af34..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/IHyperlinkListener.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.widgets.*;

-

-public interface IHyperlinkListener {

-

-public void linkActivated(Control linkLabel);

-public void linkEntered(Control linkLabel);

-public void linkExited(Control linkLabel);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java
deleted file mode 100644
index c6d947b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ILayoutExtension.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.ui.forms.internal;
-
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Classes that extend abstract class Layout and implement
- * this interface can take part in layout computation of
- * the HTMLTableLayout manager. The said layout uses
- * alternative algorithm that computes columns before rows.
- * It allows it to 'flow' wrapped text proportionally
- * (as in the popular web browsers). Custom layout managers
- * that implement this interface allow recursive reflow
- * to be performed.
- */
-public interface ILayoutExtension {
-	public int getMinimumWidth(Composite parent, boolean changed);
-	public int getMaximumWidth(Composite parent, boolean changed); 
-}
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
deleted file mode 100644
index 8355501..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/NoTabsWorkbook.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import java.util.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.ui.part.*;

-import org.eclipse.swt.custom.*;

-

-public class NoTabsWorkbook implements IFormWorkbook {

-	private Vector pages;

-	private boolean firstPageSelected = true;

-	private PageBook pageBook;

-	private Vector listeners = new Vector();

-	private IFormPage currentPage;

-

-	public NoTabsWorkbook() {

-		pages = new Vector();

-	}

-	public void addFormSelectionListener(IFormSelectionListener listener) {

-		listeners.addElement(listener);

-	}

-	public void addPage(IFormPage page) {

-		pages.add(page);

-

-		if (firstPageSelected && currentPage == null)

-			selectPage(page, true);

-	}

-

-	public void createControl(Composite parent) {

-		pageBook = new PageBook(parent, SWT.NULL);

-	}

-

-	private void fireSelectionChanged(IFormPage page, boolean setFocus) {

-		for (Iterator iter = listeners.iterator(); iter.hasNext();) {

-			IFormSelectionListener listener = (IFormSelectionListener) iter.next();

-			listener.formSelected(page, setFocus);

-		}

-	}

-	

-	public IFormPage [] getPages() {

-		return (IFormPage[])pages.toArray(new IFormPage[pages.size()]);

-	}

-

-	public Control getControl() {

-		return pageBook;

-	}

-

-	public IFormPage getCurrentPage() {

-		return currentPage;

-	}

-

-	public boolean isFirstPageSelected() {

-		return firstPageSelected;

-	}

-	public void removeFormSelectionListener(IFormSelectionListener listener) {

-		listeners.removeElement(listener);

-	}

-

-	public void removePage(IFormPage page) {

-		if (pages.contains(page)) {

-			Control c = page.getControl();

-			if (c!=null && !c.isDisposed())

-				c.dispose();

-			pages.remove(page);

-		}

-	}

-

-	public void selectPage(final IFormPage page, final boolean setFocus) {

-		final IFormPage oldPage = currentPage;

-		currentPage = page;

-

-		if (pageBook != null) {

-

-			// It may take a while

-			BusyIndicator.showWhile(pageBook.getDisplay(), new Runnable() {

-				public void run() {

-					switchPages(oldPage, page, setFocus);

-				}

-			});

-		}

-	}

-

-	public void setFirstPageSelected(boolean newFirstPageSelected) {

-		firstPageSelected = newFirstPageSelected;

-	}

-

-	private void switchPages(IFormPage oldPage, IFormPage newPage, boolean setFocus) {

-		if (oldPage != null && oldPage != newPage) {

-			oldPage.becomesInvisible(newPage);

-		}

-		if (newPage.getControl() == null)

-			newPage.createControl(pageBook);

-		pageBook.showPage(newPage.getControl());

-

-		newPage.becomesVisible(oldPage);

-		fireSelectionChanged(newPage, setFocus);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
deleted file mode 100644
index 8abd1ff..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ScrollableSectionForm.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.custom.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-

-/**

- * This version of the section form adds scrolling

- * capability. However, scrolling can be disabled

- * using 'setScrollable' method. For this reason,

- * this class can be used instead of the SectionForm.

- */

-

-public class ScrollableSectionForm extends SectionForm {

-	private Composite container;

-	private boolean verticalFit;

-	private boolean scrollable = true;

-

-	public ScrollableSectionForm() {

-	}

-	public Control createControl(Composite parent) {

-		container = createParent(parent);

-		Control formControl = super.createControl(container);

-		if (container instanceof ScrolledComposite) {

-			ScrolledComposite sc = (ScrolledComposite) container;

-			sc.setContent(formControl);

-		}

-		GridData gd = new GridData(GridData.FILL_BOTH);

-		formControl.setLayoutData(gd);

-		container.setBackground(formControl.getBackground());

-		return container;

-	}

-	protected Composite createParent(Composite parent) {

-		Composite result = null;

-		if (isScrollable()) {

-			ScrolledComposite scomp =

-				new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);

-			if (isVerticalFit()) {

-				scomp.setExpandHorizontal(true);

-				scomp.setExpandVertical(true);

-			}

-			initializeScrollBars(scomp);

-			result = scomp;

-		} else {

-			result = new Composite(parent, SWT.NONE);

-			GridLayout layout = new GridLayout();

-			layout.marginHeight = 0;

-			layout.marginWidth = 0;

-			result.setLayout(layout);

-		}

-		result.setMenu(parent.getMenu());

-		return result;

-	}

-	public boolean isScrollable() {

-		return scrollable;

-	}

-	public boolean isVerticalFit() {

-		return verticalFit;

-	}

-	public void setScrollable(boolean newScrollable) {

-		scrollable = newScrollable;

-	}

-

-	public void setVerticalFit(boolean newVerticalFit) {

-		verticalFit = newVerticalFit;

-	}

-

-	private void initializeScrollBars(ScrolledComposite scomp) {

-		ScrollBar hbar = scomp.getHorizontalBar();

-		if (hbar != null) {

-			hbar.setIncrement(H_SCROLL_INCREMENT);

-		}

-		ScrollBar vbar = scomp.getVerticalBar();

-		if (vbar != null) {

-			vbar.setIncrement(V_SCROLL_INCREMENT);

-		}

-		updatePageIncrement(scomp);

-	}

-

-	public void update() {

-		super.update();

-		if (container instanceof ScrolledComposite) {

-			updateScrolledComposite();

-		} else {

-			container.layout(true);

-		}

-	}

-	public void updateScrollBars() {

-		if (container instanceof ScrolledComposite) {

-			updateScrolledComposite();

-		}

-	}

-	public void updateScrolledComposite() {

-		ScrolledComposite sc = (ScrolledComposite) container;

-		Control formControl = getControl();

-		Point newSize = formControl.computeSize(SWT.DEFAULT, SWT.DEFAULT);

-		formControl.setSize(newSize);

-		sc.setMinSize(newSize);

-		updatePageIncrement(sc);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
deleted file mode 100644
index 52d301b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionChangeManager.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import java.util.*;

-

-public class SectionChangeManager {

-	Hashtable sources = new Hashtable();

-

-	public SectionChangeManager() {

-		super();

-	}

-	public void dispatchNotification(

-		FormSection source,

-		int type,

-		Object changeObject) {

-		Vector targets = (Vector) sources.get(source);

-		if (targets != null) {

-			for (Iterator iter = targets.iterator(); iter.hasNext();) {

-				FormSection section = (FormSection) iter.next();

-				section.sectionChanged(source, type, changeObject);

-			}

-		}

-	}

-	public void linkSections(FormSection source, FormSection target) {

-		source.setManager(this);

-		Vector targets = null;

-

-		targets = (Vector) sources.get(source);

-		if (targets == null) {

-			targets = new Vector();

-			sources.put(source, targets);

-		}

-		targets.addElement(target);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
deleted file mode 100644
index be28b6c..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SectionForm.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.PropertyChangeEvent;

-

-/**

- * This form implementation assumes that it contains

- * form sections and that they fill up the screen.

- * Typically, the form client will use up the entire

- * parent area below the heading. Sections must

- * be able to return their preferred size in both

- * dimensions. If they contain wrappable text,

- * WebForm should be used instead.

- */

-

-public class SectionForm extends AbstractSectionForm implements PaintListener {

-	private Composite control;

-	private int TITLE_HMARGIN = 10;

-	private int TITLE_VMARGIN = 5;

-

-	class FormLayout extends Layout {

-		protected Point computeSize(

-			Composite composite,

-			int wHint,

-			int hHint,

-			boolean flushCache) {

-			if (wHint != SWT.DEFAULT && hHint != SWT.DEFAULT)

-				return new Point(wHint, hHint);

-			Control client = composite.getChildren()[0];

-			Point csize = client.computeSize(widthHint, heightHint, flushCache);

-			if (headingVisible)

-				csize.y += getTitleHeight();

-			return csize;

-		}

-		protected void layout(Composite composite, boolean flushCache) {

-			Rectangle clientArea = composite.getClientArea();

-			Control client = composite.getChildren()[0];

-			if (client != null && !client.isDisposed()) {

-				int theight = headingVisible ? getTitleHeight() : 0;

-				client.setBounds(

-					clientArea.x,

-					clientArea.y + theight,

-					clientArea.width,

-					clientArea.height - theight);

-			}

-		}

-	}

-	private int widthHint = SWT.DEFAULT;

-	private int heightHint = SWT.DEFAULT;

-

-	public SectionForm() {

-	}

-

-	public Control createControl(Composite parent) {

-		Composite canvas = new Composite(parent, SWT.NONE);

-		canvas.setBackground(factory.getBackgroundColor());

-		canvas.setForeground(factory.getForegroundColor());

-		canvas.addPaintListener(this);

-		canvas.setLayout(new FormLayout());

-		canvas.setMenu(parent.getMenu());

-		Composite formParent = factory.createComposite(canvas);

-		createFormClient(formParent);

-		this.control = canvas;

-		//canvas.setFocus();

-		return canvas;

-	}

-

-	protected void createFormClient(Composite parent) {

-		factory.createComposite(parent);

-	}

-

-	public Control getControl() {

-		return control;

-	}

-

-	private int getTitleHeight() {

-		int imageHeight = 0;

-		if (headingImage != null

-			&& SWT.getPlatform().equals("motif") == false) {

-			imageHeight = headingImage.getBounds().height;

-		}

-		GC gc = new GC(control);

-		gc.setFont(titleFont);

-		FontMetrics fm = gc.getFontMetrics();

-		int fontHeight = fm.getHeight();

-		gc.dispose();

-

-		int height = fontHeight + TITLE_VMARGIN + TITLE_VMARGIN;

-		return Math.max(height, imageHeight);

-	}

-

-	private void paint(Control form, GC gc) {

-		Rectangle bounds = form.getBounds();

-		int height = getTitleHeight();

-		if (headingImage != null) {

-			Rectangle imageBounds = headingImage.getBounds();

-			int x = bounds.width - imageBounds.width;

-			int y = 0;

-			//x = Math.max(x, 0);

-			x = 0;

-			if (headingBackground != null) {

-				gc.setBackground(headingBackground);

-				gc.fillRectangle(0, 0, bounds.width, height);

-			}

-			if (SWT.getPlatform().equals("motif") == false) {

-				gc.drawImage(headingImage, x, y);

-			}

-			if (headingForeground != null)

-				gc.setForeground(headingForeground);

-			else

-				gc.setForeground(factory.getForegroundColor());

-			gc.setFont(titleFont);

-			gc.drawText(getHeadingText(), TITLE_HMARGIN, TITLE_VMARGIN, true);

-		} else {

-			gc.setFont(titleFont);

-			gc.setBackground(factory.getColor(FormWidgetFactory.DEFAULT_HEADER_COLOR));

-			//gc.fillRectangle(TITLE_HMARGIN, TITLE_VMARGIN, bounds.width-TITLE_HMARGIN*2, height-TITLE_VMARGIN*2);

-			gc.setForeground(factory.getForegroundColor());

-			gc.drawText(getHeadingText(), TITLE_HMARGIN, TITLE_VMARGIN, true);

-		}

-	}

-

-	public final void paintControl(PaintEvent event) {

-		if (!headingVisible)

-			return;

-		GC gc = event.gc;

-		Control form = (Control) event.widget;

-		paint(form, gc);

-	}

-

-	public void setHeadingVisible(boolean newHeadingVisible) {

-		super.setHeadingVisible(newHeadingVisible);

-		if (control != null)

-			control.layout(true);

-	}

-	public void setHeadingText(String headingText) {

-		super.setHeadingText(headingText);

-		if (control != null) {

-			control.layout(true);

-			control.redraw();

-		}

-	}

-

-	public void propertyChange(PropertyChangeEvent event) {

-		titleFont = JFaceResources.getHeaderFont();

-		if (control != null && !control.isDisposed()) {

-			control.layout(true);

-			control.redraw();

-		}

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
deleted file mode 100644
index 8479133..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableControl.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.*;

-

-/**

- * FormText is a windowless control that

- * draws text in the provided context.

- */

-public abstract class SelectableControl extends Canvas {

-	private boolean hasFocus;

-

-	public SelectableControl(Composite parent, int style) {

-		super(parent, style);

-		addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		addMouseListener(new MouseAdapter () {

-			public void mouseUp(MouseEvent e) {

-				notifyListeners(SWT.Selection);

-			}

-		});

-		addKeyListener(new KeyAdapter() {

-			public void keyPressed(KeyEvent e) {

-				if (e.character == '\r') {

-					// Activation

-					notifyListeners(SWT.Selection);

-				}

-			}

-		});

-		addListener(SWT.Traverse, new Listener () {

-			public void handleEvent(Event e) {

-				if (e.detail != SWT.TRAVERSE_RETURN)

-					e.doit = true;

-			}

-		});

-		addFocusListener(new FocusListener() {

-			public void focusGained(FocusEvent e) {

-				if (!hasFocus) {

-				   hasFocus=true;

-				   redraw();

-				}

-			}

-			public void focusLost(FocusEvent e) {

-				if (hasFocus) {

-					hasFocus=false;

-					redraw();

-				}

-			}

-		});

-	}

-

-	protected void paint(PaintEvent e) {

-		GC gc = e.gc;

-		Point size = getSize();

-	   	gc.setFont(getFont());

-	   	paint(gc);

-		if (hasFocus) {

-	   		gc.setForeground(getForeground());

-	   		gc.drawFocus(0, 0, size.x, size.y);

-		}

-	}

-	

-	protected abstract void paint(GC gc);

-	

-	private void notifyListeners(int eventType) {

-		Event event = new Event();

-		event.type = eventType;

-		event.widget = this;

-		notifyListeners(eventType, event);

-	}

-	

-	public void addSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		TypedListener typedListener = new TypedListener (listener);

-		addListener (SWT.Selection,typedListener);

-	}

-	

-	public void removeSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		removeListener (SWT.Selection, listener);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
deleted file mode 100644
index ea5d5c4..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/SelectableFormLabel.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-

-public class SelectableFormLabel extends FormLabel {

-	private boolean hasFocus;

-

-	public boolean getSelection() {

-		return hasFocus;

-	}

-	

-	/**

-	 * Constructor for SelectableFormLabel

-	 */

-	public SelectableFormLabel(Composite parent, int style) {

-		super(parent, style);

-		addKeyListener(new KeyAdapter() {

-			public void keyPressed(KeyEvent e) {

-				if (e.character == '\r') {

-					// Activation

-					notifyListeners(SWT.DefaultSelection);

-				}

-			}

-		});

-		addListener(SWT.Traverse, new Listener () {

-			public void handleEvent(Event e) {

-				switch (e.detail) {

-					case SWT.TRAVERSE_PAGE_NEXT:

-					case SWT.TRAVERSE_PAGE_PREVIOUS:

-					case SWT.TRAVERSE_ARROW_NEXT:

-					case SWT.TRAVERSE_ARROW_PREVIOUS:

-					case SWT.TRAVERSE_RETURN:

-					e.doit = false;

-					return;

-				}

-				e.doit = true;

-			}

-		});

-		addFocusListener(new FocusListener() {

-			public void focusGained(FocusEvent e) {

-				if (!hasFocus) {

-				   hasFocus=true;

-				   notifyListeners(SWT.Selection);

-				   redraw();

-				}

-			}

-			public void focusLost(FocusEvent e) {

-				if (hasFocus) {

-					hasFocus=false;

-					notifyListeners(SWT.Selection);

-					redraw();

-				}

-			}

-		});

-		textMarginWidth = 1;

-		textMarginHeight = 1;

-	}

-	

-	protected void initAccessible() {

-		Accessible accessible = getAccessible();

-		accessible.addAccessibleListener(new AccessibleAdapter() {

-			public void getName(AccessibleEvent e) {

-				e.result = getText();

-			}

-

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-

-		accessible

-			.addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point pt = toControl(new Point(e.x, e.y));

-				e.childID =

-					(getBounds().contains(pt))

-						? ACC.CHILDID_SELF

-						: ACC.CHILDID_NONE;

-			}

-

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_PUSHBUTTON;

-			}

-

-			public void getState(AccessibleControlEvent e) {

-				e.detail = SelectableFormLabel.this.getSelection()?ACC.STATE_SELECTED:ACC.STATE_NORMAL;

-			}

-		});

-	}

-	

-	private void notifyListeners(int eventType) {

-		Event event = new Event();

-		event.type = eventType;

-		event.widget = this;

-		notifyListeners(eventType, event);

-	}

-

-	protected void paint(PaintEvent e) {

-		super.paint(e);

-	   	if (hasFocus) {

-	   		GC gc = e.gc;

-	   		Point size = getSize();

-	   		gc.setForeground(getForeground());

-	   		gc.drawFocus(0, 0, size.x, size.y);

-		}

-	}

-

-	public void addSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		TypedListener typedListener = new TypedListener (listener);

-		addListener (SWT.Selection,typedListener);

-		addListener (SWT.DefaultSelection,typedListener);

-	}

-	

-	public void removeSelectionListener(SelectionListener listener) {

-		checkWidget ();

-		if (listener == null) return;

-		removeListener (SWT.Selection, listener);

-		removeListener (SWT.DefaultSelection, listener);

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
deleted file mode 100644
index bd3cfc4..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableData.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.Point;

-

-/**

- * 

- * @author dejan

- *

- * To change the template for this generated type comment go to

- * Window - Preferences - Java - Code Generation - Code and Comments

- */

-

-public class TableData {

-	public static final int LEFT = 1;

-	public static final int CENTER = 2;

-	public static final int RIGHT = 3;

-	public static final int TOP = 4;

-	public static final int MIDDLE = 5;

-	public static final int BOTTOM = 6;

-	public static final int FILL = 7;

-	public int colspan=1;

-	public int rowspan=1;

-	public int align = LEFT;

-	public int valign = TOP;

-	public int indent = 0;

-	public int maxWidth = SWT.DEFAULT;

-	public int maxHeight = SWT.DEFAULT;

-	public int heightHint = SWT.DEFAULT;

-	public boolean grabHorizontal=false;

-	

-	//private

-	int childIndex;

-	boolean isItemData=true; 

-	int compWidth;

-	Point compSize;

-		

-	public TableData() {

-	}

-	

-	public TableData(int align, int valign) {

-		this(align, valign, 1, 1);

-	}

-	

-	public TableData(int align, int valign, int rowspan, int colspan) {

-		this.align = align;

-		this.valign = valign;

-		this.rowspan = rowspan;

-		this.colspan = colspan;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
deleted file mode 100644
index 417e4e2..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/TableLayoutTest.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import org.eclipse.jface.action.StatusLineManager;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.ScrolledComposite;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.graphics.Rectangle;

-import org.eclipse.swt.layout.FillLayout;

-import org.eclipse.swt.layout.RowLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Display;

-import org.eclipse.swt.widgets.Event;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Listener;

-import org.eclipse.swt.widgets.Shell;

-

-public class TableLayoutTest {

-

-public static void main (String [] args) {

-     Display display = new Display ();

-     Shell shell = new Shell (display);

-     shell.setLayout(new FillLayout());

-     final ScrolledComposite sc = new ScrolledComposite(shell, SWT.H_SCROLL | SWT.V_SCROLL);

-    // sc.setAlwaysShowScrollBars(true);

-     sc.setBackground(sc.getDisplay().getSystemColor(SWT.COLOR_WHITE));

-     final Composite c = new Composite(sc, SWT.NONE);

-     //c.setBackground(c.getDisplay().getSystemColor(SWT.COLOR_RED));

-     sc.setContent(c);

-     sc.addListener (SWT.Resize,  new Listener () {

-		public void handleEvent (Event e) {

-			Rectangle ssize = sc.getClientArea();

-			int swidth = ssize.width;

-			HTMLTableLayout layout = (HTMLTableLayout)c.getLayout();

-			Point size = layout.computeSize(c, swidth, SWT.DEFAULT, true);

-			//if (size.x < swidth) size.x = swidth;

-			Rectangle trim = c.computeTrim(0, 0, size.x, size.y);

-			size = new Point(trim.width, trim.height);

-			/*

-			Point size = c.computeSize(swidth, SWT.DEFAULT, true);

-			*/

-			//System.out.println("in: "+swidth+", out: "+size.x);

-			c.setSize(size);

-		}

-	});

-     c.setBackground(c.getDisplay().getSystemColor(SWT.COLOR_WHITE));

-     HTMLTableLayout layout = new HTMLTableLayout();

-     layout.numColumns = 2;

-     //layout.horizontalSpacing = 0;

-     layout.leftMargin = 0;

-     layout.rightMargin = 0;

-     layout.makeColumnsEqualWidth=false;

-     //layout.marginWidth = layout.marginHeight = 0;

-     //layout.horizontalSpacing = 0;

-     c.setLayout(layout);

-     

-     Label label;

-     Button b;

-     TableData td;

-/*     

-     label = new Label(c, SWT.NULL);

-     label.setText("Single line1");

-     

-     //label = new Label(c, SWT.WRAP);

-     Text text = new Text(c, SWT.MULTI | SWT.WRAP);

-     text.setEditable(false);

-     text.setText("This is a much longer text that I want wrapped,"+

-     " but depending on the window size it can be rendered completely.");

-     

-     b = new Button(c, SWT.PUSH);

-     b.setText("Simple button");

-     

-     label = new Label(c, SWT.WRAP);

-     label.setText("Another text that may or may not be wrapped");

-

-     label = new Label(c, SWT.NULL);

-     td = new TableData(TableData.RIGHT, TableData.BOTTOM);

-     label.setLayoutData(td);

-     label.setText("Fixed label");

-     

-     Composite nested = new Composite(c, SWT.NULL);

-     layout = new HTMLTableLayout();

-     layout.numColumns = 2;

-     nested.setLayout(layout);

-     b = new Button(nested, SWT.PUSH);

-     b.setText("Button2");

-     label = new Label(nested, SWT.WRAP);

-     td = new TableData(TableData.LEFT, TableData.MIDDLE);

-     label.setLayoutData(td);

-     label.setText("Some text in the nested label that can be wrapped");

-*/     

-     label = new Label(c, SWT.NULL);

-     label.setText("Text in the left column");

-     

-     b = new Button(c, SWT.CHECK);

-     b.setText("Checkbox in the right column");

-

-     

-     label = new Label(c, SWT.WRAP);

-     label.setText("This assignment step is then repeated for nested tables using the minimum and maximum widths derived for all such tables in the first pass. In this case, the width of the parent table cell plays the role of the current window size in the above description. This process is repeated recursively for all nested tables. The topmost table is then rendered using the assigned widths. Nested tables are subsequently rendered as part of the parent table's cell contents.");

-     td = new TableData();

-     td.colspan = 2;

-     td.align = TableData.FILL;

-     label.setLayoutData(td);

-     

-     ExpandableGroup exp = new ExpandableGroup (SWT.WRAP) {

-     	public void fillExpansion(Composite container, FormWidgetFactory factory) {

-     		HTMLTableLayout layout = new HTMLTableLayout();

-     		container.setLayout(layout);

-     		layout.leftMargin = layout.rightMargin = 0;

-     		Button button = factory.createButton(container, null, SWT.PUSH);

-     		button.setText("Button");

-    	}

-     	public void expanded() {

-     		c.layout(true);

-     		updateSize(sc, c);

-     	}

-     	public void collapsed() {

-     		c.layout(true);

-     		updateSize(sc, c);

-     	}

-     };

-     exp.setText("Expandable Section");

-     //exp.setExpandable(false);

-     FormWidgetFactory factory = new FormWidgetFactory();

-     exp.createControl(c, factory);

-     //exp.getControl().setBackground(label.getDisplay().getSystemColor(SWT.COLOR_GREEN));

-     td = new TableData();

-     td.colspan = 2;

-     td.align = TableData.FILL;

-     exp.getControl().setLayoutData(td);

-     

-	 StatusLineManager manager = new StatusLineManager();

-     //addFormEngine(c, factory, manager);

-     //addFormEngine(c, factory, manager);

-     //addFormEngine(c, factory, manager);

-     

-     addRow(c);

- 

-     Control mcontrol = manager.createControl(c);

-     td = new TableData();

-     td.colspan = 2;

-     td.align = TableData.FILL;

-     mcontrol.setLayoutData(td);

-     

-     factory.setHyperlinkUnderlineMode(HyperlinkHandler.UNDERLINE_ROLLOVER);

-     

-     SelectableFormLabel ft = new SelectableFormLabel(c, SWT.WRAP);

-     ft.setText("Some text in the form text that should also wrap");

-     factory.turnIntoHyperlink(ft, new IHyperlinkListener() {

-     	public void linkEntered(Control link) {

-     		System.out.println("Link entered");

-     	}

-     	public void linkExited(Control link) {

-    		System.out.println("Link exited");

-     	}

-     	public void linkActivated(Control link) {

-     		System.out.println("Link activated");

-     	}

-     });

-

-     ft = new SelectableFormLabel(c, SWT.WRAP);

-     ft.setText("Some more form text here");

-     factory.turnIntoHyperlink(ft, new IHyperlinkListener() {

-     	public void linkEntered(Control link) {

-     		System.out.println("Link entered");

-     	}

-     	public void linkExited(Control link) {

-    		System.out.println("Link exited");

-     	}

-     	public void linkActivated(Control link) {

-     		System.out.println("Link activated");

-     	}

-     });

-   

-     shell.open ();

-     while (!shell.isDisposed ()) {

-          if (!display.readAndDispatch ()) display.sleep ();

-     }

-     display.dispose ();

-}

-

-/*

-

-public static void addFormEngine(Composite c, FormWidgetFactory factory, IStatusLineManager manager) {

-     new Label(c, SWT.NULL);

-     RichText html = new RichText(c, SWT.WRAP);

-     html.setHyperlinkSettings(factory.getHyperlinkHandler());

-     RichTextHTTPAction action = new RichTextHTTPAction(manager);

-     URL i1URL = TableLayoutTest.class.getResource("image1.gif");

-     ImageDescriptor id1 = ImageDescriptor.createFromURL(i1URL);

-     html.registerTextObject("urlHandler", action);

-     html.registerTextObject("image1", id1.createImage());

-     //html.setBackground(factory.getBackgroundColor());

-     html.setForeground(factory.getForegroundColor());

-     InputStream is = TableLayoutTest.class.getResourceAsStream("index.xml");

-     //html.setParagraphsSeparated(false);

-     html.setContents(is, true);

-     TableData td = new TableData();

-     td.colspan = 1;

-     td.align = TableData.FILL;

-     html.setLayoutData(td);

-}

-*/

-

-public static void addRow(Composite c) {

-	Composite row = new Composite(c, SWT.WRAP);

-	RowLayout layout = new RowLayout();

-	layout.wrap = true;

-	row.setLayout(layout);

-	

-	for (int i=0; i<10; i++) {

-		Button button = new Button(row, SWT.PUSH);

-		button.setText("Button that should be wrapped");

-	}

-	TableData td = new TableData();

-	td.colspan = 2;

-	td.align = TableData.FILL;

-	td.grabHorizontal = true;

-	row.setLayoutData(td);

-}

-

-private static void updateSize(ScrolledComposite sc, Composite c) {

-	Rectangle ssize = sc.getClientArea();

-	int swidth = ssize.width;

-	HTMLTableLayout layout = (HTMLTableLayout)c.getLayout();

-	Point size = layout.computeSize(c, swidth, SWT.DEFAULT, true);

-	Rectangle trim = c.computeTrim(0, 0, size.x, size.y);

-	size = new Point(trim.width, trim.height);

-	c.setSize(size);

-}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
deleted file mode 100644
index f4a127e..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/ToggleControl.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.Composite;

-

-public class ToggleControl extends SelectableControl {

-	private boolean selection;

-	private Color decorationColor;

-	private Color activeColor;

-	private Cursor activeCursor;

-	private boolean hover=false;

-	private static final int marginWidth = 2;

-	private static final int marginHeight = 2;

-	private static final int WIDTH = 9;

-	private static final int HEIGHT = 9;

-	private static final int [] offPoints = { 0,2, 8,2, 4,6 };

-	private static final int [] onPoints = { 2, -1, 2,8, 6,4 };	

-

-	public ToggleControl(Composite parent, int style) {

-		super(parent, style);

-		addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				selection = !selection;

-				redraw();

-			}

-		});

-

-		addMouseTrackListener(new MouseTrackAdapter() {

-			public void mouseEnter(MouseEvent e) {

-				hover = true;

-				if (activeCursor!=null)

-				   setCursor(activeCursor);

-				redraw();

-			}

-			public void mouseExit(MouseEvent e) {

-				hover = false;

-				if (activeCursor!=null)

-				   setCursor(null);

-				redraw();

-			}

-		});

-		initAccessible();

-	}

-	void initAccessible() {

-		getAccessible().addAccessibleListener(new AccessibleAdapter() {

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-		

-		getAccessible().addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point testPoint = toControl(new Point(e.x, e.y));

-				if (getBounds().contains(testPoint)) {

-					e.childID = ACC.CHILDID_SELF;

-				}

-			}

-		

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-		

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-		

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_TREE;

-			}

-		

-			public void getState(AccessibleControlEvent e) {

-				e.detail = ToggleControl.this.getSelection()?ACC.STATE_EXPANDED:ACC.STATE_COLLAPSED;

-			}

-

-			public void getValue(AccessibleControlEvent e) {

-				e.result = ToggleControl.this.getSelection()?"1":"0";

-			}

-		});

-	}

-	

-	public void setDecorationColor(Color decorationColor) {

-		this.decorationColor = decorationColor;

-	}

-	

-	public Color getDecorationColor() {

-		return decorationColor;

-	}

-	

-	public void setActiveDecorationColor(Color activeColor) {

-		this.activeColor = activeColor;

-	}

-	

-	public void setActiveCursor(Cursor activeCursor) {

-		this.activeCursor = activeCursor;

-	}

-	

-	public Color getActiveDecorationColor() {

-		return activeColor;

-	}

-	

-	public Point computeSize(int wHint, int hHint, boolean changed) {

-		int width, height;

-		

-		if (wHint!=SWT.DEFAULT) width = wHint; 

-		else 

-		   width = WIDTH + 2*marginWidth;

-		if (hHint!=SWT.DEFAULT) height = hHint;

-		else height = HEIGHT + 2*marginHeight;

-		return new Point(width, height);

-	}

-

-	/*

-	 * @see SelectableControl#paint(GC)

-	 */

-	protected void paint(GC gc) {

-		if (hover && activeColor!=null)

-			gc.setBackground(activeColor);

-		else if (decorationColor!=null)

-	   	   gc.setBackground(decorationColor);

-	   	else

-	   			gc.setBackground(getForeground());

-		int [] data;

-		Point size = getSize();

-		int x = (size.x - 9)/2;

-		int y = (size.y - 9)/2;

-		if (selection)

-			data = translate(onPoints, x, y);

-		else 

-			data = translate(offPoints, x, y);

-		gc.fillPolygon(data);

-		gc.setBackground(getBackground());

-	}

-	

-	private int [] translate(int [] data, int x, int y) {

-		int [] target = new int [data.length];

-		for (int i=0; i<data.length; i+=2) {

-			target[i] = data[i]+ x;

-		}

-		for (int i=1; i<data.length; i+=2) {

-			target[i] = data[i]+y;

-		}

-		return target;

-	}

-

-	public boolean getSelection() {

-		return selection;

-	}

-	

-	public void setSelection(boolean selection) {

-		this.selection = selection;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
deleted file mode 100644
index ee6c76e..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/WebForm.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.graphics.Point;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.util.PropertyChangeEvent;

-import org.eclipse.swt.custom.*;

-

-/**

- * This form implementation assumes that it contains

- * children that do not have independent dimensions.

- * In other words, these widgets are not capable

- * of answering their preferred size. Instead,

- * desired width must be supplied to get the

- * preferred height. These forms are layed out

- * top to bottom, left to right and use

- * a layout algorithm very similar to

- * HTML tables. Scrolling is not optional

- * for this type of presentation - 

- * scroll bars will show up when needed.

- */

-

-public class WebForm extends AbstractSectionForm {

-	protected ScrolledComposite scrollComposite;

-	private Composite control;

-	private Composite client;

-	private final static int HMARGIN = 5;

-	private final static int VMARGIN = 5;

-	private Image headingUnderlineImage;

-

-	class WebFormLayout extends Layout {

-

-		protected void layout(Composite parent, boolean changed) {

-			Rectangle bounds = parent.getClientArea();

-			int x = 0;

-			int y = 0;

-			if (isHeadingVisible()) {

-				y = getHeadingHeight(parent);

-			}

-			Point csize;

-

-			Layout layout = client.getLayout();

-			if (layout != null && layout instanceof HTMLTableLayout) {

-				HTMLTableLayout hlayout = (HTMLTableLayout) layout;

-				csize = hlayout.computeSize(client, bounds.width, SWT.DEFAULT, true);

-				if (csize.x < bounds.width)

-					csize.x = bounds.width;

-				Rectangle trim = control.computeTrim(0, 0, csize.x, csize.y);

-				csize = new Point(trim.width, trim.height);

-			} else {

-				csize = client.computeSize(bounds.width, SWT.DEFAULT, changed);

-			}

-			client.setBounds(x, y, csize.x, csize.y);

-		}

-

-		protected Point computeSize(

-			Composite parent,

-			int wHint,

-			int hHint,

-			boolean changed) {

-			int width = wHint;

-			int height = 0;

-			if (isHeadingVisible()) {

-				height = getHeadingHeight(parent);

-			}

-			Point csize;

-			Layout layout = client.getLayout();

-

-			if (layout != null && layout instanceof HTMLTableLayout) {

-				HTMLTableLayout hlayout = (HTMLTableLayout) layout;

-				csize = hlayout.computeSize(client, width, SWT.DEFAULT, true);

-				if (csize.x < width)

-					csize.x = width;

-				Rectangle trim = control.computeTrim(0, 0, csize.x, csize.y);

-				csize = new Point(trim.width, trim.height);

-			} else {

-				csize = client.computeSize(width, SWT.DEFAULT, changed);

-			}

-			width = csize.x;

-			height += csize.y;

-			return new Point(width, height);

-		}

-	}

-

-	public WebForm() {

-	}

-

-	public Control createControl(Composite parent) {

-		scrollComposite = new ScrolledComposite(parent, SWT.V_SCROLL | SWT.H_SCROLL);

-		scrollComposite.setBackground(factory.getBackgroundColor());

-		scrollComposite.setMenu(parent.getMenu());

-		final Composite form = factory.createComposite(scrollComposite);

-

-		scrollComposite.setContent(form);

-		scrollComposite.addListener(SWT.Resize, new Listener() {

-			public void handleEvent(Event e) {

-				updateSize();

-			}

-		});

-		WebFormLayout layout = new WebFormLayout();

-		form.setLayout(layout);

-		form.addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		this.control = form;

-		client = factory.createComposite(form);

-		createContents(client);

-		initializeScrollBars(scrollComposite);

-		//form.setFocus();

-		return scrollComposite;

-	}

-	private void initializeScrollBars(ScrolledComposite scomp) {

-		ScrollBar hbar = scomp.getHorizontalBar();

-		if (hbar != null) {

-			hbar.setIncrement(H_SCROLL_INCREMENT);

-		}

-		ScrollBar vbar = scomp.getVerticalBar();

-		if (vbar != null) {

-			vbar.setIncrement(V_SCROLL_INCREMENT);

-		}

-		updatePageIncrement(scomp);

-	}

-

-	public int getHeadingHeight(Composite parent) {

-		int width = parent.getSize().x;

-		int height = 0;

-		int imageHeight = 0;

-		if (getHeadingImage() != null) {

-			Rectangle ibounds = getHeadingImage().getBounds();

-			imageHeight = ibounds.height;

-		}

-		GC gc = new GC(parent);

-		gc.setFont(titleFont);

-		int textWidth = width - 2 * HMARGIN;

-		height = FormLabel.computeWrapHeight(gc, getHeadingText(), textWidth);

-		height += 2 * VMARGIN;

-		height = Math.max(height, imageHeight);

-		if (headingUnderlineImage != null) {

-			Rectangle ibounds = headingUnderlineImage.getBounds();

-			height += ibounds.height;

-		}

-		gc.dispose();

-		return height;

-	}

-

-	protected void createContents(Composite parent) {

-	}

-

-	public Control getControl() {

-		return control;

-	}

-

-	public void setHeadingVisible(boolean newHeadingVisible) {

-		super.setHeadingVisible(newHeadingVisible);

-		if (control != null)

-			control.layout();

-	}

-

-	public Image getHeadingUnderlineImage() {

-		return headingUnderlineImage;

-	}

-

-	public void setHeadingUnderlineImage(Image image) {

-		this.headingUnderlineImage = image;

-	}

-

-	public void propertyChange(PropertyChangeEvent event) {

-		titleFont = JFaceResources.getHeaderFont();

-		if (control != null && !control.isDisposed()) {

-			control.layout();

-		}

-	}

-	

-	protected void updateHyperlinkColors() {

-		factory.updateHyperlinkColors();

-		if (control != null && !control.isDisposed()) {

-			control.redraw();

-		}

-	}

-

-	public void updateSize() {

-		Rectangle ssize = scrollComposite.getClientArea();

-		int swidth = ssize.width;

-		WebFormLayout layout = (WebFormLayout) control.getLayout();

-		Point size = layout.computeSize(control, swidth, SWT.DEFAULT, true);

-		if (size.x < swidth)

-			size.x = swidth;

-		Rectangle trim = control.computeTrim(0, 0, size.x, size.y);

-		size = new Point(trim.width, trim.height);

-		control.setSize(size);

-		updatePageIncrement(scrollComposite);

-	}

-

-	private void paint(PaintEvent e) {

-		if (isHeadingVisible() == false)

-			return;

-		GC gc = e.gc;

-		if (headingImage != null) {

-			gc.drawImage(headingImage, 0, 0);

-		}

-		Point size = control.getSize();

-		if (getHeadingBackground() != null)

-			gc.setBackground(getHeadingBackground());

-		if (getHeadingForeground() != null)

-			gc.setForeground(getHeadingForeground());

-		gc.setFont(titleFont);

-		FormLabel.paintWrapText(gc, size, getHeadingText(), HMARGIN, VMARGIN);

-		if (headingUnderlineImage != null) {

-			int y =

-				getHeadingHeight(control)

-					- headingUnderlineImage.getBounds().height;

-			gc.drawImage(headingUnderlineImage, 0, y);

-		}

-	}

-	public void setHeadingText(String headingText) {

-		super.setHeadingText(headingText);

-		if (control!=null)

-			control.redraw();

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
deleted file mode 100644
index de3f838..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/BulletParagraph.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Color;
-
-public class BulletParagraph extends Paragraph implements IBulletParagraph {
-	private int style = CIRCLE;
-	private String text;
-	private int CIRCLE_DIAM = 5;
-	private int SPACING = 10;
-	private int indent = -1;
-	/**
-	 * Constructor for BulletParagraph.
-	 * @param addVerticalSpace
-	 */
-	public BulletParagraph(boolean addVerticalSpace) {
-		super(addVerticalSpace);
-	}
-
-	public int getIndent() {
-		if (indent != -1)
-			return indent;
-		switch (style) {
-			case CIRCLE :
-				return CIRCLE_DIAM + SPACING;
-		}
-		return 20;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletStyle()
-	 */
-	public int getBulletStyle() {
-		return style;
-	}
-
-	public void setBulletStyle(int style) {
-		this.style = style;
-	}
-
-	public void setBulletText(String text) {
-		this.text = text;
-	}
-
-	public void setIndent(int indent) {
-		this.indent = indent;
-	}
-
-	/*
-	 * @see IBulletParagraph#getBulletText()
-	 */
-	public String getBulletText() {
-		return text;
-	}
-
-	public void paint(
-		GC gc,
-		int width,
-		Locator loc,
-		int lineHeight,
-		Hashtable objectTable,
-		IHyperlinkSegment selectedLink) {
-		paintBullet(gc, loc, lineHeight, objectTable);
-		super.paint(gc, width, loc, lineHeight, objectTable, selectedLink);
-	}
-
-	public void paintBullet(
-		GC gc,
-		Locator loc,
-		int lineHeight,
-		Hashtable objectTable) {
-		int x = loc.x - getIndent();
-		if (style == CIRCLE) {
-			int y = loc.y + lineHeight / 2 - CIRCLE_DIAM / 2;
-			Color bg = gc.getBackground();
-			Color fg = gc.getForeground();
-			gc.setBackground(fg);
-			gc.fillRectangle(x, y + 1, 5, 3);
-			gc.fillRectangle(x + 1, y, 3, 5);
-			gc.setBackground(bg);
-		} else if (style == TEXT && text != null) {
-			gc.drawText(text, x, loc.y);
-		} else if (style == IMAGE && text != null) {
-			Image image = (Image) objectTable.get(text);
-			if (image != null) {
-				int y = loc.y + lineHeight / 2 - image.getBounds().height / 2;
-				gc.drawImage(image, x, y);
-			}
-		}
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
deleted file mode 100644
index 53c8c7f..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngine.java
+++ /dev/null
@@ -1,560 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import java.io.InputStream;

-import java.util.Hashtable;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.jface.action.*;

-import org.eclipse.jface.action.IMenuManager;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.accessibility.*;

-import org.eclipse.swt.accessibility.Accessible;

-import org.eclipse.swt.custom.ScrolledComposite;

-import org.eclipse.swt.dnd.*;

-import org.eclipse.swt.dnd.Clipboard;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.update.ui.forms.internal.*;

-

-public class FormEngine extends Canvas {

-	public static final String URL_HANDLER_ID = "urlHandler";

-	boolean hasFocus;

-	boolean paragraphsSeparated = true;

-	TextModel model;

-	Hashtable objectTable = new Hashtable();

-	public int marginWidth = 0;

-	public int marginHeight = 1;

-	IHyperlinkSegment entered;

-	boolean mouseDown = false;

-	Point dragOrigin;

-	private Action openAction;

-	private Action copyShortcutAction;

-	private boolean loading=true;

-	private String loadingText="Loading...";

-

-	public boolean getFocus() {

-		return hasFocus;

-	}

-	

-	public boolean isLoading() {

-		return loading;

-	}

-	

-	public String getLoadingText() {

-		return loadingText;

-	}

-	

-	public void setLoadingText(String loadingText) {

-		this.loadingText = loadingText;

-	}

-

-	public int getParagraphSpacing(int lineHeight) {

-		return lineHeight / 2;

-	}

-

-	public void setParagraphsSeparated(boolean value) {

-		paragraphsSeparated = value;

-	}

-

-	/**

-	 * Constructor for SelectableFormLabel

-	 */

-	public FormEngine(Composite parent, int style) {

-		super(parent, style);

-		setLayout(new FormEngineLayout());

-		model = new TextModel();

-

-		addDisposeListener(new DisposeListener() {

-			public void widgetDisposed(DisposeEvent e) {

-				model.dispose();

-			}

-		});

-		addPaintListener(new PaintListener() {

-			public void paintControl(PaintEvent e) {

-				paint(e);

-			}

-		});

-		addListener(SWT.KeyDown, new Listener() {

-			public void handleEvent(Event e) {

-				if (e.character == '\r') {

-					activateSelectedLink();

-					return;

-				}

-			}

-		});

-		addListener(SWT.Traverse, new Listener() {

-			public void handleEvent(Event e) {

-				switch (e.detail) {

-					case SWT.TRAVERSE_PAGE_NEXT :

-					case SWT.TRAVERSE_PAGE_PREVIOUS :

-					case SWT.TRAVERSE_ARROW_NEXT :

-					case SWT.TRAVERSE_ARROW_PREVIOUS :

-						e.doit = false;

-						return;

-				}

-				if (!model.hasFocusSegments()) {

-					e.doit = true;

-					return;

-				}

-				if (e.detail == SWT.TRAVERSE_TAB_NEXT)

-					e.doit = advance(true);

-				else if (e.detail == SWT.TRAVERSE_TAB_PREVIOUS)

-					e.doit = advance(false);

-				else if (e.detail != SWT.TRAVERSE_RETURN)

-					e.doit = true;

-			}

-		});

-		addFocusListener(new FocusListener() {

-			public void focusGained(FocusEvent e) {

-				if (!hasFocus) {

-					hasFocus = true;

-					handleFocusChange();

-				}

-			}

-			public void focusLost(FocusEvent e) {

-				if (hasFocus) {

-					hasFocus = false;

-					handleFocusChange();

-				}

-			}

-		});

-		addMouseListener(new MouseListener() {

-			public void mouseDoubleClick(MouseEvent e) {

-			}

-			public void mouseDown(MouseEvent e) {

-				// select a link

-				handleMouseClick(e, true);

-			}

-			public void mouseUp(MouseEvent e) {

-				// activate a link

-				handleMouseClick(e, false);

-			}

-		});

-		addMouseTrackListener(new MouseTrackListener() {

-			public void mouseEnter(MouseEvent e) {

-				handleMouseMove(e);

-			}

-			public void mouseExit(MouseEvent e) {

-				if (entered != null) {

-					exitLink(entered);

-					paintLinkHover(entered, false);

-					entered = null;

-					setCursor(null);

-				}

-			}

-			public void mouseHover(MouseEvent e) {

-				handleMouseHover(e);

-			}

-		});

-		addMouseMoveListener(new MouseMoveListener() {

-			public void mouseMove(MouseEvent e) {

-				handleMouseMove(e);

-			}

-		});

-		initAccessible();

-		makeActions();

-	}

-

-	private void makeActions() {

-		openAction = new Action() {

-			public void run() {

-				activateSelectedLink();

-			}

-		};

-		openAction.setText(

-			FormsPlugin.getResourceString("FormEgine.linkPopup.open"));

-		copyShortcutAction = new Action() {

-			public void run() {

-				copyShortcut(getSelectedLink());

-			}

-		};

-		copyShortcutAction.setText(

-			FormsPlugin.getResourceString("FormEgine.linkPopup.copyShortcut"));

-	}

-

-	private String getAcessibleText() {

-		return model.getAccessibleText();

-	}

-

-	private void initAccessible() {

-		Accessible accessible = getAccessible();

-		accessible.addAccessibleListener(new AccessibleAdapter() {

-			public void getName(AccessibleEvent e) {

-				e.result = getAcessibleText();

-			}

-

-			public void getHelp(AccessibleEvent e) {

-				e.result = getToolTipText();

-			}

-		});

-

-		accessible

-			.addAccessibleControlListener(new AccessibleControlAdapter() {

-			public void getChildAtPoint(AccessibleControlEvent e) {

-				Point pt = toControl(new Point(e.x, e.y));

-				e.childID =

-					(getBounds().contains(pt))

-						? ACC.CHILDID_SELF

-						: ACC.CHILDID_NONE;

-			}

-

-			public void getLocation(AccessibleControlEvent e) {

-				Rectangle location = getBounds();

-				Point pt = toDisplay(new Point(location.x, location.y));

-				e.x = pt.x;

-				e.y = pt.y;

-				e.width = location.width;

-				e.height = location.height;

-			}

-

-			public void getChildCount(AccessibleControlEvent e) {

-				e.detail = 0;

-			}

-

-			public void getRole(AccessibleControlEvent e) {

-				e.detail = ACC.ROLE_TEXT;

-			}

-

-			public void getState(AccessibleControlEvent e) {

-				e.detail = ACC.STATE_READONLY;

-			}

-		});

-	}

-

-	private void handleMouseClick(MouseEvent e, boolean down) {

-		if (down) {

-			// select a hyperlink

-			IHyperlinkSegment segmentUnder = model.findHyperlinkAt(e.x, e.y);

-			if (segmentUnder != null) {

-				IHyperlinkSegment oldLink = model.getSelectedLink();

-				model.selectLink(segmentUnder);

-				enterLink(segmentUnder);

-				paintFocusTransfer(oldLink, segmentUnder);

-			}

-			mouseDown = true;

-			dragOrigin = new Point(e.x, e.y);

-		} else {

-			if (e.button == 1) {

-				IHyperlinkSegment segmentUnder =

-					model.findHyperlinkAt(e.x, e.y);

-				if (segmentUnder != null) {

-					activateLink(segmentUnder);

-				}

-			}

-			mouseDown = false;

-		}

-	}

-	private void handleMouseHover(MouseEvent e) {

-	}

-	private void handleMouseMove(MouseEvent e) {

-		if (mouseDown) {

-			handleDrag(e);

-			return;

-		}

-		ITextSegment segmentUnder = model.findSegmentAt(e.x, e.y);

-

-		if (segmentUnder == null) {

-			if (entered != null) {

-				exitLink(entered);

-				paintLinkHover(entered, false);

-				entered = null;

-			}

-			setCursor(null);

-		} else {

-			if (segmentUnder instanceof IHyperlinkSegment) {

-				IHyperlinkSegment linkUnder = (IHyperlinkSegment) segmentUnder;

-				if (entered == null) {

-					entered = linkUnder;

-					enterLink(linkUnder);

-					paintLinkHover(entered, true);

-					setCursor(

-						model.getHyperlinkSettings().getHyperlinkCursor());

-				}

-			} else {

-				if (entered != null) {

-					exitLink(entered);

-					paintLinkHover(entered, false);

-					entered = null;

-				}

-				setCursor(model.getHyperlinkSettings().getTextCursor());

-			}

-		}

-	}

-

-	private void handleDrag(MouseEvent e) {

-	}

-

-	public HyperlinkSettings getHyperlinkSettings() {

-		return model.getHyperlinkSettings();

-	}

-

-	public void setHyperlinkSettings(HyperlinkSettings settings) {

-		model.setHyperlinkSettings(settings);

-	}

-

-	private boolean advance(boolean next) {

-		IHyperlinkSegment current = model.getSelectedLink();

-		if (current != null)

-			exitLink(current);

-

-		boolean valid = model.traverseLinks(next);

-		

-		IHyperlinkSegment newLink = model.getSelectedLink();

-

-		if (valid)

-			enterLink(newLink);

-		paintFocusTransfer(current, newLink);

-		if (newLink!=null) ensureVisible(newLink);

-		return !valid;

-	}

-

-	public IHyperlinkSegment getSelectedLink() {

-		return model.getSelectedLink();

-	}

-

-	private void handleFocusChange() {

-		if (hasFocus) {

-			model.traverseLinks(true);

-			enterLink(model.getSelectedLink());

-			paintFocusTransfer(null, model.getSelectedLink());

-		} else {

-			paintFocusTransfer(model.getSelectedLink(), null);

-			model.selectLink(null);

-		}

-	}

-

-	private void enterLink(IHyperlinkSegment link) {

-		if (link == null)

-			return;

-		HyperlinkAction action = link.getAction(objectTable);

-		if (action != null)

-			action.linkEntered(link);

-	}

-

-	private void exitLink(IHyperlinkSegment link) {

-		if (link == null)

-			return;

-		HyperlinkAction action = link.getAction(objectTable);

-		if (action != null)

-			action.linkExited(link);

-	}

-

-	private void paintLinkHover(IHyperlinkSegment link, boolean hover) {

-		GC gc = new GC(this);

-

-		HyperlinkSettings settings = getHyperlinkSettings();

-

-		gc.setForeground(

-			hover ? settings.getActiveForeground() : settings.getForeground());

-		gc.setBackground(getBackground());

-		gc.setFont(getFont());

-		boolean selected = (link == getSelectedLink());

-		link.repaint(gc, hover);

-		if (selected) {

-			link.paintFocus(gc, getBackground(), getForeground(), false);

-			link.paintFocus(gc, getBackground(), getForeground(), true);

-		}

-		gc.dispose();

-	}

-

-	private void activateSelectedLink() {

-		IHyperlinkSegment link = model.getSelectedLink();

-		if (link != null)

-			activateLink(link);

-	}

-

-	private void activateLink(IHyperlinkSegment link) {

-		setCursor(model.getHyperlinkSettings().getBusyCursor());

-		HyperlinkAction action = link.getAction(objectTable);

-		if (action != null)

-			action.linkActivated(link);

-		if (!isDisposed())

-			setCursor(model.getHyperlinkSettings().getHyperlinkCursor());

-	}

-

-	protected void paint(PaintEvent e) {

-		int width = getClientArea().width;

-

-		GC gc = e.gc;

-		gc.setFont(getFont());

-		gc.setForeground(getForeground());

-		gc.setBackground(getBackground());

-

-		Locator loc = new Locator();

-		loc.marginWidth = marginWidth;

-		loc.marginHeight = marginHeight;

-		loc.x = marginWidth;

-		loc.y = marginHeight;

-

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		

-		if (loading) {

-			int textWidth = gc.textExtent(loadingText).x;

-			gc.drawText(loadingText, width/2-textWidth/2, getClientArea().height/2-lineHeight/2);

-			return;

-		}

-		

-		IParagraph[] paragraphs = model.getParagraphs();

-

-		IHyperlinkSegment selectedLink = model.getSelectedLink();

-

-		for (int i = 0; i < paragraphs.length; i++) {

-			IParagraph p = paragraphs[i];

-

-			if (i > 0 && paragraphsSeparated && p.getAddVerticalSpace())

-				loc.y += getParagraphSpacing(lineHeight);

-

-			loc.indent = p.getIndent();

-			loc.resetCaret();

-			loc.rowHeight = 0;

-			p.paint(gc, width, loc, lineHeight, objectTable, selectedLink);

-		}

-	}

-

-	public void registerTextObject(String key, Object value) {

-		objectTable.put(key, value);

-	}

-

-	public void load(String text, boolean parseTags, boolean expandURLs) {

-		try {

-			if (parseTags)

-				model.parseTaggedText(text, expandURLs);

-			else

-				model.parseRegularText(text, expandURLs);

-		} catch (CoreException e) {

-			FormsPlugin.logException(e);

-		}

-		finally {

-			loading = false;

-		}

-	}

-	public void load(InputStream is, boolean expandURLs) {

-		try {

-			model.parseInputStream(is, expandURLs);

-		} catch (CoreException e) {

-			FormsPlugin.logException(e);

-		}

-		finally {

-			loading = false;

-		}

-	}

-

-	public boolean setFocus() {

-		/*

-		if (!model.hasFocusSegments())

-			return false;

-		*/

-		return super.setFocus();

-	}

-

-	private void paintFocusTransfer(

-		IHyperlinkSegment oldLink,

-		IHyperlinkSegment newLink) {

-		GC gc = new GC(this);

-		Color bg = getBackground();

-		Color fg = getForeground();

-

-		gc.setFont(getFont());

-

-		if (oldLink != null) {

-			gc.setBackground(bg);

-			gc.setForeground(fg);

-			oldLink.paintFocus(gc, bg, fg, false);

-		}

-		if (newLink != null) {

-			//ensureVisible(newLink);

-			gc.setBackground(bg);

-			gc.setForeground(fg);

-			newLink.paintFocus(gc, bg, fg, true);

-		}

-		gc.dispose();

-	}

-	/**

-	 * Gets the marginWidth.

-	 * @return Returns a int

-	 */

-	public int getMarginWidth() {

-		return marginWidth;

-	}

-

-	/**

-	 * Sets the marginWidth.

-	 * @param marginWidth The marginWidth to set

-	 */

-	public void setMarginWidth(int marginWidth) {

-		this.marginWidth = marginWidth;

-	}

-

-	/**

-	 * Gets the marginHeight.

-	 * @return Returns a int

-	 */

-	public int getMarginHeight() {

-		return marginHeight;

-	}

-

-	/**

-	 * Sets the marginHeight.

-	 * @param marginHeight The marginHeight to set

-	 */

-	public void setMarginHeight(int marginHeight) {

-		this.marginHeight = marginHeight;

-	}

-

-	public void contextMenuAboutToShow(IMenuManager manager) {

-		IHyperlinkSegment link = getSelectedLink();

-		if (link != null)

-			contributeLinkActions(manager, link);

-	}

-

-	private void contributeLinkActions(

-		IMenuManager manager,

-		IHyperlinkSegment link) {

-		manager.add(openAction);

-		manager.add(copyShortcutAction);

-		manager.add(new Separator());

-	}

-

-	private void copyShortcut(IHyperlinkSegment link) {

-		String text = link.getText();

-		Clipboard clipboard = new Clipboard(getDisplay());

-		clipboard.setContents(

-			new Object[] { text },

-			new Transfer[] { TextTransfer.getInstance()});

-	}

-

-	private void ensureVisible(IHyperlinkSegment segment) {

-		Rectangle bounds = segment.getBounds();

-		ScrolledComposite scomp = getScrolledComposite();

-		if (scomp == null)

-			return;

-		Point origin = AbstractSectionForm.getControlLocation(scomp, this);

-		origin.x += bounds.x;

-		origin.y += bounds.y;

-		AbstractSectionForm.ensureVisible(

-			scomp,

-			origin,

-			new Point(bounds.width, bounds.height));

-	}

-	ScrolledComposite getScrolledComposite() {

-		Composite parent = getParent();

-		while (parent != null) {

-			if (parent instanceof ScrolledComposite)

-				return (ScrolledComposite) parent;

-			parent = parent.getParent();

-		}

-		return null;

-	}

-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
deleted file mode 100644
index ecaee4d..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/FormEngineLayout.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.update.ui.forms.internal.ILayoutExtension;

-

-/**

- * @version 	1.0

- * @author

- */

-public class FormEngineLayout extends Layout implements ILayoutExtension {

-

-	public int getMaximumWidth(Composite parent, boolean changed) {

-		return computeSize(parent, SWT.DEFAULT, SWT.DEFAULT, changed).x;

-	}

-

-	public int getMinimumWidth(Composite parent, boolean changed) {

-		return 30;

-	}

-

-	/*

-	 * @see Layout#computeSize(Composite, int, int, boolean)

-	 */

-

-	public Point computeSize(

-		Composite composite,

-		int wHint,

-		int hHint,

-		boolean changed) {

-		FormEngine engine = (FormEngine) composite;

-		int innerWidth = wHint;

-		if (engine.isLoading()) {

-			return computeLoading(engine);

-		}

-		if (innerWidth != SWT.DEFAULT)

-			innerWidth -= engine.marginWidth * 2;

-		Point textSize = computeTextSize(engine, innerWidth);

-		int textWidth = textSize.x + 2 * engine.marginWidth;

-		int textHeight = textSize.y + 2 * engine.marginHeight;

-		Point result = new Point(textWidth, textHeight);

-		return result;

-	}

-	

-	private Point computeLoading(FormEngine engine) {

-		GC gc = new GC(engine);

-		gc.setFont(engine.getFont());

-		String loadingText = engine.getLoadingText();

-		Point size = gc.textExtent(loadingText);

-		gc.dispose();

-		size.x += 2 * engine.marginWidth;

-		size.y += 2 * engine.marginHeight;

-		return size;

-	}

-

-	private Point computeTextSize(FormEngine engine, int wHint) {

-		IParagraph[] paragraphs = engine.model.getParagraphs();

-

-		GC gc = new GC(engine);

-		gc.setFont(engine.getFont());

-

-		Locator loc = new Locator();

-

-		int width = wHint != SWT.DEFAULT ? wHint : 0;

-

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-

-		for (int i = 0; i < paragraphs.length; i++) {

-			IParagraph p = paragraphs[i];

-

-			if (i > 0 && engine.paragraphsSeparated && p.getAddVerticalSpace())

-				loc.y += engine.getParagraphSpacing(lineHeight);

-

-			loc.rowHeight = 0;

-			loc.indent = p.getIndent();

-			loc.x = p.getIndent();

-

-			IParagraphSegment[] segments = p.getSegments();

-			if (segments.length > 0) {

-				for (int j = 0; j < segments.length; j++) {

-					IParagraphSegment segment = segments[j];

-					segment.advanceLocator(gc, wHint, loc, engine.objectTable);

-					width = Math.max(width, loc.width);

-				}

-				loc.y += loc.rowHeight;

-			} else {

-				// empty new line

-				loc.y += lineHeight;

-			}

-		}

-		gc.dispose();

-		return new Point(width, loc.y);

-	}

-

-	/*

-	 * @see Layout#layout(Composite, boolean)

-	 */

-	protected void layout(Composite composite, boolean flushCache) {

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
deleted file mode 100644
index cd3d0b5..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HTTPAction.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-import org.eclipse.swt.program.Program;

-

-/**

- * @version 	1.0

- * @author

- */

-public class HTTPAction extends HyperlinkAction {

-	public HTTPAction () {

-	}

-	

-	public void linkActivated(IHyperlinkSegment link) {

-		Program.launch(link.getText());

-	}

-	

-	public void linkEntered(IHyperlinkSegment link) {

-		setDescription(link.getText());

-		super.linkEntered(link);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
deleted file mode 100644
index 3b11a68..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkAction.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.jface.action.IStatusLineManager;

-

-/**

- * @version 	1.0

- * @author

- */

-public class HyperlinkAction {

-	IStatusLineManager manager;

-	private String description;

-	

-	public HyperlinkAction() {

-	}

-	

-	public void linkActivated(final IHyperlinkSegment link) {

-	}

-	

-	public void linkEntered(IHyperlinkSegment link) {

-		if (manager!=null && description!=null) {

-			manager.setMessage(description);

-		}

-	}

-

-	public void linkExited(IHyperlinkSegment link) {

-		if (manager!=null && description!=null) {

-			manager.setMessage(null);

-		}

-	}

-	

-	public void setStatusLineManager(IStatusLineManager manager) {

-		this.manager = manager;

-	}

-	

-	public String getDescription() {

-		return description;

-	}

-	public void setDescription(String description) {

-		this.description = description;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
deleted file mode 100644
index 2c41587..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/HyperlinkSegment.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import java.util.Hashtable;

-import org.eclipse.update.ui.forms.internal.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.graphics.GC;

-

-/**

- * @version 	1.0

- * @author

- */

-public class HyperlinkSegment

-	extends TextSegment

-	implements IHyperlinkSegment {

-	private String actionId;

-	private String arg;

-	private HyperlinkSettings settings;

-	

-	public HyperlinkSegment(String text, HyperlinkSettings settings, String fontId) {

-		super(text, fontId);

-		this.settings = settings;

-		underline = settings.getHyperlinkUnderlineMode()==HyperlinkSettings.UNDERLINE_ALWAYS;

-	}

-	

-	/*

-	 * @see IHyperlinkSegment#getListener(Hashtable)

-	 */

-	public HyperlinkAction getAction(Hashtable objectTable) {

-		if (actionId==null) return null;

-		Object obj = objectTable.get(actionId);

-		if (obj==null) return null;

-		if (obj instanceof HyperlinkAction) return (HyperlinkAction)obj;

-		return null;

-	}

-	

-	/*

-	 * @see IObjectReference#getObjectId()

-	 */

-	public String getObjectId() {

-		return actionId;

-	}

-	

-	void setActionId(String id) {

-		this.actionId = id;

-	}

-	public void paint(GC gc, int width, Locator locator, Hashtable objectTable, boolean selected) {

-		setColor(settings.getForeground());

-		super.paint(gc, width, locator, objectTable, selected);

-	}

-	

-	public void repaint(GC gc, boolean hover) {

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		int descent = fm.getDescent();

-		boolean rolloverMode = settings.getHyperlinkUnderlineMode()==HyperlinkSettings.UNDERLINE_ROLLOVER;

-		for (int i=0; i<areaRectangles.size(); i++) {

-			AreaRectangle areaRectangle = (AreaRectangle)areaRectangles.get(i);

-			Rectangle rect = areaRectangle.rect;

-			String text = areaRectangle.getText();

-			Point extent = gc.textExtent(text);

-			int textX = rect.x + 1;

-			gc.drawString(text, textX, rect.y, true);

-			if (underline || hover || rolloverMode) {

-				int lineY = rect.y + lineHeight - descent + 1;

-				Color saved=null;

-				if (rolloverMode && !hover) {

-					saved = gc.getForeground();

-					gc.setForeground(gc.getBackground());

-				}

-				gc.drawLine(textX, lineY, textX+extent.x, lineY);

-				if (saved!=null)

-					gc.setForeground(saved);

-			}

-		}

-	}

-	/**

-	 * @return

-	 */

-	public String getArg() {

-		return arg;

-	}

-

-	/**

-	 * @param string

-	 */

-	public void setArg(String string) {

-		arg = string;

-	}

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
deleted file mode 100644
index 55f3383..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IBulletParagraph.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.update.ui.forms.internal.engine;
-
-import org.eclipse.swt.graphics.GC;
-import java.util.Hashtable;
-
-public interface IBulletParagraph extends IParagraph {
-	int CIRCLE = 0;
-	int TEXT = 1;
-	int IMAGE = 2;
-	public int getBulletStyle();
-	public String getBulletText();
-
-	public void paintBullet(GC gc, Locator loc, int lineHeight, Hashtable objectTable);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
deleted file mode 100644
index ea5b58a..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IHyperlinkSegment.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import java.util.Hashtable;

-

-import org.eclipse.swt.graphics.GC;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IHyperlinkSegment extends ITextSegment, IObjectReference {

-	HyperlinkAction getAction(Hashtable objectTable);

-	

-	boolean contains(int x, int y);

-	

-	String getArg();

-	

-	public void repaint(GC gc, boolean hover);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
deleted file mode 100644
index 1e9bd56..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IImageSegment.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-import org.eclipse.swt.graphics.Image;

-import java.util.Hashtable;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IImageSegment extends IParagraphSegment, IObjectReference {

-	public static final int TOP = 1;

-	public static final int MIDDLE = 2;

-	public static final int BOTTOM = 3;

-	

-	public int getVerticalAlignment();

-

-	Image getImage(Hashtable objectTable);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
deleted file mode 100644
index f12a7eb..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IObjectReference.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IObjectReference {

-	public String getObjectId();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
deleted file mode 100644
index fb336eb..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraph.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-

-import org.eclipse.swt.graphics.GC;

-import java.util.Hashtable;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IParagraph {

-	public int getIndent();

-	public IParagraphSegment [] getSegments();

-	public void addSegment(IParagraphSegment segment);

-	public boolean getAddVerticalSpace();

-	public ITextSegment findSegmentAt(int x, int y);

-	public void paint(GC gc, int width, Locator loc, int lineHeight, Hashtable objectTable, IHyperlinkSegment selectedLink);

-	public String getAccessibleText();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
deleted file mode 100644
index 9217105..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/IParagraphSegment.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.GC;

-import java.util.Hashtable;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IParagraphSegment {

-	

-	public void advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable);

-	

-	public void paint(GC gc, int width, Locator loc, Hashtable objectTable, boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
deleted file mode 100644
index 4071ad2..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextModel.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.core.runtime.CoreException;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface ITextModel {

-	IParagraph [] getParagraphs();

-	public void parseTaggedText(String taggedText, boolean expandURLs) throws CoreException;

-	public void parseRegularText(String regularText, boolean expandURLs) throws CoreException;

-	public void dispose();

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
deleted file mode 100644
index 47e5fb0..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ITextSegment.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface ITextSegment extends IParagraphSegment {

-	String getText();

-	Color getColor();

-	Font getFont();

-	boolean isWordWrapAllowed();

-	boolean isSelectable();

-	boolean contains(int x, int y);

-	Rectangle getBounds();

-	void paintFocus(GC gc, Color bg, Color fg, boolean selected);

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
deleted file mode 100644
index 4c84cb9..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ImageSegment.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.*;

-import java.util.Hashtable;

-import org.eclipse.swt.SWT;

-

-/**

- * @version 	1.0

- * @author

- */

-public class ImageSegment extends ParagraphSegment implements IImageSegment {

-	private int alignment = BOTTOM;

-	private String imageId;

-	

-	public int getVerticalAlignment() {

-		return alignment;

-	}

-	

-	void setVerticalAlignment(int alignment) {

-		this.alignment = alignment;

-	}

-	

-	public Image getImage(Hashtable objectTable) {

-		if (imageId==null) return null;

-		Object obj = objectTable.get(imageId);

-		if (obj==null) return null;

-		if (obj instanceof Image) return (Image)obj;

-		return null;

-	}

-	

-	public String getObjectId() {

-		return imageId;

-	}

-	

-	void setObjectId(String imageId) {

-		this.imageId = imageId;

-	}

-	

-	public void advanceLocator(GC gc, int wHint, Locator loc, Hashtable objectTable) {

-		Image image = getImage(objectTable);

-		int iwidth = 0;

-		int iheight = 0;

-		if (image!=null) {

-			Rectangle rect = image.getBounds();

-			iwidth = rect.width;

-			iheight = rect.height;

-		}

-		if (wHint != SWT.DEFAULT && loc.x + iwidth > wHint) {

-			// new line

-			loc.x = loc.indent + iwidth;

-			loc.width = loc.x;

-			loc.y += loc.rowHeight;

-			loc.rowHeight = iheight;

-		}

-		else {

-			loc.x += iwidth;

-			loc.rowHeight = Math.max(loc.rowHeight, iheight);

-		}

-	}

-

-	public void paint(GC gc, int width, Locator loc, Hashtable objectTable, boolean selected) {

-		Image image = getImage(objectTable);

-		int iwidth = 0;

-		int iheight = 0;

-		if (image!=null) {

-			Rectangle rect = image.getBounds();

-			iwidth = rect.width;

-			iheight = rect.height;

-		}

-		else return;

-		loc.width = iwidth;

-		loc.height = iheight;

-		

-		int ix = loc.x;

-		int iy = loc.y;

-		

-		if (ix + iwidth > width) {

-			// new row

-			ix = loc.indent + loc.marginWidth;

-			iy += loc.rowHeight;

-			loc.rowHeight = 0;

-		}

-		

-		gc.drawImage(image, ix, iy);

-		loc.x = ix + iwidth;

-		loc.y = iy;

-		loc.rowHeight = Math.max(loc.rowHeight, iheight);

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
deleted file mode 100644
index 350154b..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Locator.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-/**

- * @version 	1.0

- * @author

- */

-public class Locator { 

-	public int indent;

-	public int x, y;

-	public int width, height;

-	public int rowHeight;

-	public int marginWidth;

-	public int marginHeight;

-	

-	public void newLine() {

-		resetCaret();

-		y += rowHeight;

-		rowHeight = 0;

-	}

-	

-	public void resetCaret() {

-		x = marginWidth + indent;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
deleted file mode 100644
index a9a4352..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/Paragraph.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import java.io.*;

-import java.util.*;

-

-import org.eclipse.swt.graphics.GC;

-import org.eclipse.update.ui.forms.internal.HyperlinkSettings;

-

-/**

- * @version 	1.0

- * @author

- */

-public class Paragraph implements IParagraph {

-	public static final String HTTP = "http://";

-	private Vector segments;

-	private boolean addVerticalSpace = true;

-

-	public Paragraph(boolean addVerticalSpace) {

-		this.addVerticalSpace = addVerticalSpace;

-	}

-

-	public int getIndent() {

-		return 0;

-	}

-

-	public boolean getAddVerticalSpace() {

-		return addVerticalSpace;

-	}

-

-	/*

-	 * @see IParagraph#getSegments()

-	 */

-	public IParagraphSegment[] getSegments() {

-		if (segments == null)

-			return new IParagraphSegment[0];

-		return (IParagraphSegment[]) segments.toArray(

-			new IParagraphSegment[segments.size()]);

-	}

-

-	public void addSegment(IParagraphSegment segment) {

-		if (segments == null)

-			segments = new Vector();

-		segments.add(segment);

-	}

-

-	public void parseRegularText(

-		String text,

-		boolean expandURLs,

-		HyperlinkSettings settings,

-		String fontId) {

-		if (text.length() == 0)

-			return;

-		if (expandURLs) {

-			int loc = text.indexOf(HTTP);

-

-			if (loc == -1)

-				addSegment(new TextSegment(text, fontId));

-			else {

-				int textLoc = 0;

-				while (loc != -1) {

-					addSegment(new TextSegment(text.substring(textLoc, loc), fontId));

-					boolean added = false;

-					for (textLoc = loc; textLoc < text.length(); textLoc++) {

-						char c = text.charAt(textLoc);

-						if (Character.isSpaceChar(c)) {

-							addHyperlinkSegment(text.substring(loc, textLoc), settings, fontId);

-							added = true;

-							break;

-						}

-					}

-					if (!added) {

-						// there was no space - just end of text

-						addHyperlinkSegment(text.substring(loc), settings, fontId);

-						break;

-					}

-					loc = text.indexOf(HTTP, textLoc);

-				}

-				if (textLoc < text.length()) {

-					addSegment(new TextSegment(text.substring(textLoc), fontId));

-				}

-			}

-		} else {

-			addSegment(new TextSegment(text, fontId));

-		}

-	}

-

-	private void addHyperlinkSegment(

-		String text,

-		HyperlinkSettings settings,

-		String fontId) {

-		HyperlinkSegment hs = new HyperlinkSegment(text, settings, fontId);

-		hs.setWordWrapAllowed(false);

-		hs.setActionId(FormEngine.URL_HANDLER_ID);

-		addSegment(hs);

-	}

-

-	public void paint(

-		GC gc,

-		int width,

-		Locator loc,

-		int lineHeight,

-		Hashtable objectTable,

-		IHyperlinkSegment selectedLink) {

-		IParagraphSegment [] segments = getSegments();

-		if (segments.length > 0) {

-			if (segments[0] instanceof ITextSegment

-				&& ((ITextSegment) segments[0]).isSelectable())

-				loc.x += 1;

-			for (int j = 0; j < segments.length; j++) {

-				IParagraphSegment segment = segments[j];

-				boolean doSelect = false;

-				if (selectedLink != null && segment.equals(selectedLink))

-					doSelect = true;

-				segment.paint(gc, width, loc, objectTable, doSelect);

-			}

-			loc.y += loc.rowHeight;

-		} else {

-			loc.y += lineHeight;

-		}

-	}

-	public String getAccessibleText() {

-		IParagraphSegment [] segments = getSegments();

-		StringWriter swriter = new StringWriter();

-		PrintWriter writer = new PrintWriter(swriter);

-		for (int i = 0; i < segments.length; i++) {

-			IParagraphSegment segment = segments[i];

-			if (segment instanceof ITextSegment) {

-				String text = ((ITextSegment)segment).getText();

-				writer.print(text);

-			}

-		}

-		writer.println();

-		swriter.flush();

-		return swriter.toString();

-	}

-	public ITextSegment findSegmentAt(int x, int y) {

-		if (segments!=null) {

-			for (int i=0; i<segments.size(); i++) {

-				IParagraphSegment segment = (IParagraphSegment)segments.get(i);

-				if (segment instanceof ITextSegment) {

-					ITextSegment textSegment = (ITextSegment)segment;

-					if (textSegment.contains(x, y))

-						return textSegment;

-				}

-			}

-		}

-		return null;

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
deleted file mode 100644
index 7d16aac..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/ParagraphSegment.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-/**

- * @version 	1.0

- * @author

- */

-public abstract class ParagraphSegment implements IParagraphSegment {

-

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
deleted file mode 100644
index 0ec9682..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextModel.java
+++ /dev/null
@@ -1,457 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import java.io.*;

-import java.util.*;

-import javax.xml.parsers.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.jface.resource.*;

-import org.eclipse.update.ui.forms.internal.*;

-import org.w3c.dom.*;

-import org.xml.sax.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public class TextModel implements ITextModel {

-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();

-

-	Vector paragraphs;

-	IHyperlinkListener urlListener;

-	IHyperlinkSegment[] hyperlinks;

-	int selectedLinkIndex = -1;

-	HyperlinkSettings hyperlinkSettings;

-	

-	public TextModel() {

-		reset();

-	}

-

-	class LocalHyperlinkSettings extends HyperlinkSettings {

-	}

-

-	/*

-	 * @see ITextModel#getParagraphs()

-	 */

-	public IParagraph[] getParagraphs() {

-		if (paragraphs == null)

-			return new IParagraph[0];

-		return (IParagraph[]) paragraphs.toArray(

-			new IParagraph[paragraphs.size()]);

-	}

-	

-	public String getAccessibleText() {

-		if (paragraphs == null)

-			return "";

-		StringBuffer sbuf = new StringBuffer();

-		for (int i=0; i<paragraphs.size(); i++) {

-			IParagraph paragraph  = (IParagraph)paragraphs.get(i);

-			String text = paragraph.getAccessibleText();

-			sbuf.append(text);

-		}

-		return sbuf.toString();

-	}

-

-	/*

-	 * @see ITextModel#parse(String)

-	 */

-	public void parseTaggedText(String taggedText, boolean expandURLs)

-		throws CoreException {

-		if (taggedText==null) {

-			reset();

-			return;

-		}

-		try {

-			InputStream stream =

-				new ByteArrayInputStream(taggedText.getBytes("UTF8"));

-			parseInputStream(stream, expandURLs);

-		} catch (UnsupportedEncodingException e) {

-		}

-	}

-

-	public void parseInputStream(InputStream is, boolean expandURLs)

-		throws CoreException {

-			

-		documentBuilderFactory.setNamespaceAware(true);

-	

-		reset();

-		try {

-			DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder();

-			InputSource source = new InputSource(is);

-			Document doc = parser.parse(source);

-			processDocument(doc, expandURLs);

-		} catch (ParserConfigurationException e) {

-			FormsPlugin.logException(e);

-		} catch (SAXException e) {

-			FormsPlugin.logException(e);

-		} catch (IOException e) {

-			FormsPlugin.logException(e);

-		}

-	}

-

-	private void processDocument(Document doc, boolean expandURLs) {

-		Node root = doc.getDocumentElement();

-		NodeList children = root.getChildNodes();

-		for (int i = 0; i < children.getLength(); i++) {

-			Node child = children.item(i);

-			if (child.getNodeType() == Node.TEXT_NODE) {

-				// Make an implicit paragraph

-				String text = child.getNodeValue();

-				if (text != null && !isIgnorableWhiteSpace(text, true)) {

-					Paragraph p = new Paragraph(true);

-					p.parseRegularText(

-						text,

-						expandURLs,

-						getHyperlinkSettings(),

-						null);

-					paragraphs.add(p);

-				}

-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {

-				String tag = child.getNodeName().toLowerCase();

-				if (tag.equals("p")) {

-					IParagraph p = processParagraph(child, expandURLs);

-					if (p != null)

-						paragraphs.add(p);

-				} else if (tag.equals("li")) {

-					IParagraph p = processListItem(child, expandURLs);

-					if (p != null)

-						paragraphs.add(p);

-				}

-			}

-		}

-	}

-	private IParagraph processParagraph(Node paragraph, boolean expandURLs) {

-		NodeList children = paragraph.getChildNodes();

-		NamedNodeMap atts = paragraph.getAttributes();

-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");

-		boolean addSpace = true;

-

-		if (addSpaceAtt != null) {

-			String value = addSpaceAtt.getNodeValue();

-			addSpace = value.equalsIgnoreCase("true");

-		}

-		Paragraph p = new Paragraph(addSpace);

-

-		processSegments(p, children, expandURLs);

-		return p;

-	}

-	private IParagraph processListItem(Node listItem, boolean expandURLs) {

-		NodeList children = listItem.getChildNodes();

-		NamedNodeMap atts = listItem.getAttributes();

-		Node addSpaceAtt = atts.getNamedItem("addVerticalSpace");

-		Node styleAtt = atts.getNamedItem("style");

-		Node valueAtt = atts.getNamedItem("value");

-		Node indentAtt = atts.getNamedItem("indent");

-		int style = IBulletParagraph.CIRCLE;

-		int indent = -1;

-		String text = null;

-		boolean addSpace = true;

-

-		if (addSpaceAtt != null) {

-			String value = addSpaceAtt.getNodeValue();

-			addSpace = value.equalsIgnoreCase("true");

-		}

-		if (styleAtt != null) {

-			String value = styleAtt.getNodeValue();

-			if (value.equalsIgnoreCase("text")) {

-				style = IBulletParagraph.TEXT;

-			} else if (value.equalsIgnoreCase("image")) {

-				style = IBulletParagraph.IMAGE;

-			}

-		}

-		if (valueAtt != null) {

-			text = valueAtt.getNodeValue();

-		}

-		if (indentAtt != null) {

-			String value = indentAtt.getNodeValue();

-			try {

-				indent = Integer.parseInt(value);

-			} catch (NumberFormatException e) {

-			}

-		}

-

-		BulletParagraph p = new BulletParagraph(addSpace);

-		p.setIndent(indent);

-		p.setBulletStyle(style);

-		p.setBulletText(text);

-

-		processSegments(p, children, expandURLs);

-		return p;

-	}

-

-	private void processSegments(

-		Paragraph p,

-		NodeList children,

-		boolean expandURLs) {

-		for (int i = 0; i < children.getLength(); i++) {

-			Node child = children.item(i);

-			IParagraphSegment segment = null;

-

-			if (child.getNodeType() == Node.TEXT_NODE) {

-				String value = child.getNodeValue();

-

-				if (value != null && !isIgnorableWhiteSpace(value, false)) {

-					p.parseRegularText(

-						value,

-						expandURLs,

-						getHyperlinkSettings(),

-						null);

-				}

-			} else if (child.getNodeType() == Node.ELEMENT_NODE) {

-				String name = child.getNodeName();

-				if (name.equalsIgnoreCase("img")) {

-					segment = processImageSegment(child);

-				} else if (name.equalsIgnoreCase("a")) {

-					segment =

-						processHyperlinkSegment(child, getHyperlinkSettings());

-				} else if (name.equalsIgnoreCase("text")) {

-					processTextSegment(p, expandURLs, child);

-				} else if (name.equalsIgnoreCase("b")) {

-					String text = getNodeText(child).trim();

-					String fontId = JFaceResources.BANNER_FONT;

-					p.parseRegularText(

-						text,

-						expandURLs,

-						getHyperlinkSettings(),

-						fontId);

-				}

-			}

-			if (segment != null) {

-				p.addSegment(segment);

-			}

-		}

-	}

-

-	private boolean isIgnorableWhiteSpace(String text, boolean ignoreSpaces) {

-		for (int i = 0; i < text.length(); i++) {

-			char c = text.charAt(i);

-			if (ignoreSpaces && c == ' ')

-				continue;

-			if (c == '\n' || c == '\r' || c == '\f')

-				continue;

-			return false;

-		}

-		return true;

-	}

-

-	private IParagraphSegment processImageSegment(Node image) {

-		ImageSegment segment = new ImageSegment();

-		NamedNodeMap atts = image.getAttributes();

-		Node id = atts.getNamedItem("href");

-		Node align = atts.getNamedItem("align");

-		if (id != null) {

-			String value = id.getNodeValue();

-			segment.setObjectId(value);

-		}

-		if (align != null) {

-			String value = align.getNodeValue().toLowerCase();

-			if (value.equals("top"))

-				segment.setVerticalAlignment(ImageSegment.TOP);

-			else if (value.equals("middle"))

-				segment.setVerticalAlignment(ImageSegment.MIDDLE);

-			else if (value.equals("bottom"))

-				segment.setVerticalAlignment(ImageSegment.BOTTOM);

-		}

-		return segment;

-	}

-

-	private String getNodeText(Node node) {

-		NodeList children = node.getChildNodes();

-		String text = "";

-		for (int i = 0; i < children.getLength(); i++) {

-			Node child = children.item(i);

-			if (child.getNodeType() == Node.TEXT_NODE) {

-				text += child.getNodeValue();

-			}

-		}

-		return text;

-	}

-

-	private IParagraphSegment processHyperlinkSegment(

-		Node link,

-		HyperlinkSettings settings) {

-		String text = getNodeText(link);

-		HyperlinkSegment segment = new HyperlinkSegment(text, settings, null);

-		NamedNodeMap atts = link.getAttributes();

-		Node href = atts.getNamedItem("href");

-		if (href != null) {

-			String value = href.getNodeValue();

-			segment.setActionId(value);

-		}

-		Node arg = atts.getNamedItem("arg");

-		if (arg != null) {

-			String value = arg.getNodeValue();

-			segment.setArg(value);

-		}

-		return segment;

-	}

-

-	private void processTextSegment(

-		Paragraph p,

-		boolean expandURLs,

-		Node textNode) {

-		String text = getNodeText(textNode).trim();

-

-		NamedNodeMap atts = textNode.getAttributes();

-		Node font = atts.getNamedItem("font");

-		String fontId = null;

-		if (font != null) {

-			fontId = font.getNodeValue();

-		}

-		p.parseRegularText(text, expandURLs, getHyperlinkSettings(), fontId);

-	}

-

-	public void parseRegularText(String regularText, boolean convertURLs)

-		throws CoreException {

-		reset();

-		

-		if (regularText==null) return;

-

-		Paragraph p = new Paragraph(true);

-		paragraphs.add(p);

-		int pstart = 0;

-

-		for (int i = 0; i < regularText.length(); i++) {

-			char c = regularText.charAt(i);

-			if (p == null) {

-				p = new Paragraph(true);

-				paragraphs.add(p);

-			}

-			if (c == '\n') {

-				String text = regularText.substring(pstart, i);

-				pstart = i + 1;

-				p.parseRegularText(

-					text,

-					convertURLs,

-					getHyperlinkSettings(),

-					null);

-				p = null;

-			}

-		}

-		if (p != null) {

-			// no new line

-			String text = regularText.substring(pstart);

-			p.parseRegularText(text, convertURLs, getHyperlinkSettings(), null);

-		}

-	}

-

-	public HyperlinkSettings getHyperlinkSettings() {

-		if (hyperlinkSettings == null) {

-			hyperlinkSettings = new LocalHyperlinkSettings();

-		}

-		return hyperlinkSettings;

-	}

-

-	public void setHyperlinkSettings(HyperlinkSettings settings) {

-		this.hyperlinkSettings = settings;

-	}

-

-	public void setURLListener(IHyperlinkListener urlListener) {

-		this.urlListener = urlListener;

-	}

-

-	private void reset() {

-		if (paragraphs == null)

-			paragraphs = new Vector();

-		paragraphs.clear();

-		selectedLinkIndex = -1;

-		hyperlinks = null;

-	}

-

-	IHyperlinkSegment[] getHyperlinks() {

-		if (hyperlinks != null || paragraphs == null)

-			return hyperlinks;

-		Vector result = new Vector();

-		for (int i = 0; i < paragraphs.size(); i++) {

-			IParagraph p = (IParagraph) paragraphs.get(i);

-			IParagraphSegment[] segments = p.getSegments();

-			for (int j = 0; j < segments.length; j++) {

-				if (segments[j] instanceof IHyperlinkSegment)

-					result.add(segments[j]);

-			}

-		}

-		hyperlinks =

-			(IHyperlinkSegment[]) result.toArray(

-				new IHyperlinkSegment[result.size()]);

-		return hyperlinks;

-	}

-

-	public IHyperlinkSegment findHyperlinkAt(int x, int y) {

-		IHyperlinkSegment[] links = getHyperlinks();

-		for (int i = 0; i < links.length; i++) {

-			if (links[i].contains(x, y))

-				return links[i];

-		}

-		return null;

-	}

-	public ITextSegment findSegmentAt(int x, int y) {

-		for (int i = 0; i < paragraphs.size(); i++) {

-			IParagraph p = (IParagraph) paragraphs.get(i);

-			ITextSegment segment = p.findSegmentAt(x, y);

-			if (segment != null)

-				return segment;

-		}

-		return null;

-	}

-

-	public IHyperlinkSegment getSelectedLink() {

-		if (selectedLinkIndex == -1)

-			return null;

-		return hyperlinks[selectedLinkIndex];

-	}

-

-	public boolean traverseLinks(boolean next) {

-		IHyperlinkSegment[] links = getHyperlinks();

-		if (links == null)

-			return false;

-		int size = links.length;

-		if (next) {

-			selectedLinkIndex++;

-		} else

-			selectedLinkIndex--;

-

-		if (selectedLinkIndex < 0 || selectedLinkIndex > size - 1) {

-			selectedLinkIndex = -1;

-		}

-		return selectedLinkIndex != -1;

-	}

-

-	public void selectLink(IHyperlinkSegment link) {

-		if (link == null)

-			selectedLinkIndex = -1;

-		else {

-			IHyperlinkSegment[] links = getHyperlinks();

-			selectedLinkIndex = -1;

-			if (links == null)

-				return;

-			for (int i = 0; i < links.length; i++) {

-				if (links[i].equals(link)) {

-					selectedLinkIndex = i;

-					break;

-				}

-			}

-		}

-	}

-

-	public boolean hasFocusSegments() {

-		IHyperlinkSegment[] links = getHyperlinks();

-		if (links.length > 0)

-			return true;

-		return false;

-	}

-

-	public void dispose() {

-		if (hyperlinkSettings instanceof LocalHyperlinkSettings)

-			hyperlinkSettings.dispose();

-	}

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
deleted file mode 100644
index 49ec5d1..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/engine/TextSegment.java
+++ /dev/null
@@ -1,368 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 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 Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.ui.forms.internal.engine;

-

-import org.eclipse.swt.graphics.*;

-import org.eclipse.jface.resource.JFaceResources;

-import java.util.Hashtable;

-import org.eclipse.swt.SWT;

-import java.text.BreakIterator;

-import java.util.Vector;

-

-/**

- * @version 	1.0

- * @author

- */

-public class TextSegment extends ParagraphSegment implements ITextSegment {

-	private Color color;

-	private String fontId;

-	private String text;

-	protected boolean underline;

-	private boolean wrapAllowed = true;

-	protected Vector areaRectangles = new Vector();

-	

-	class AreaRectangle {

-		Rectangle rect;

-		int from, to;

-		public AreaRectangle(Rectangle rect, int from, int to) {

-			this.rect = rect;

-			this.from = from;

-			this.to = to;

-		}

-		public boolean contains(int x, int y) {

-			return rect.contains(x, y);

-		}

-		public String getText() {

-			if (from==0 && to== -1)

-				return TextSegment.this.getText();

-			if (from >0 && to == -1)

-				return TextSegment.this.getText().substring(from);

-			return TextSegment.this.getText().substring(from, to);

-		}

-	}

-	

-	public TextSegment(String text, String fontId) {

-		this.text = cleanup(text);

-		this.fontId = fontId;

-	}

-

-	private String cleanup(String text) {

-		StringBuffer buf = new StringBuffer();

-		for (int i = 0; i < text.length(); i++) {

-			char c = text.charAt(i);

-			if (c == '\n' || c == '\r' || c=='\f') {

-				if (i > 0)

-					buf.append(' ');

-			} else

-				buf.append(c);

-		}

-		return buf.toString();

-	}

-

-	public void setWordWrapAllowed(boolean value) {

-		wrapAllowed = value;

-	}

-

-	public boolean isWordWrapAllowed() {

-		return wrapAllowed;

-	}

-	

-	public boolean isSelectable() {

-		return false;

-	}

-

-	public Color getColor() {

-		return color;

-	}

-

-	public Font getFont() {

-		if (fontId == null)

-			return JFaceResources.getDefaultFont();

-		else

-			return JFaceResources.getFontRegistry().get(fontId);

-	}

-

-	public String getText() {

-		return text;

-	}

-

-	void setText(String text) {

-		this.text = cleanup(text);

-	}

-

-	void setColor(Color color) {

-		this.color = color;

-	}

-

-	void setFontId(String fontId) {

-		this.fontId = fontId;

-	}

-

-	public boolean contains(int x, int y) {

-		for (int i = 0; i < areaRectangles.size(); i++) {

-			AreaRectangle ar = (AreaRectangle) areaRectangles.get(i);

-			if (ar.contains(x, y))

-				return true;

-		}

-		return false;

-	}

-	

-	public Rectangle getBounds() {

-		int x=0, y=0;

-		int width = 0, height = 0;

-		

-		for (int i=0; i<areaRectangles.size(); i++) {

-			AreaRectangle ar = (AreaRectangle)areaRectangles.get(i);

-			if (i==0) y = ar.rect.y;

-			x = Math.min(ar.rect.x, x);

-			width = Math.max(ar.rect.width, width);

-			height += ar.rect.height;

-		}

-		return new Rectangle(x, y, width, height);

-	}

-

-	public void advanceLocator(

-		GC gc,

-		int wHint,

-		Locator locator,

-		Hashtable objectTable) {

-		Font oldFont = null;

-		if (fontId != null) {

-			oldFont = gc.getFont();

-			gc.setFont(getFont());

-		}

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-

-		if (wHint == SWT.DEFAULT || !wrapAllowed) {

-			Point extent = gc.textExtent(text);

-

-			if (locator.x + extent.x > wHint) {

-				// new line

-				locator.x = isSelectable()?locator.indent+1:locator.indent;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-			}

-			int width = extent.x;

-			if (isSelectable()) width+=2;

-			locator.x += width;

-			locator.width = width;

-			locator.height = extent.y;

-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);

-			return;

-		}

-

-		BreakIterator wb = BreakIterator.getLineInstance();

-		wb.setText(text);

-

-		int saved = 0;

-		int last = 0;

-

-		int width = 0;

-

-		Point lastExtent = null;

-

-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {

-			String word = text.substring(saved, loc);

-			Point extent = gc.textExtent(word);

-

-			if (locator.x + extent.x > wHint) {

-				// overflow

-				String savedWord = text.substring(saved, last);

-				if (lastExtent==null)

-				   lastExtent = gc.textExtent(savedWord);

-				int lineWidth = locator.x + lastExtent.x;

-				if (isSelectable()) lineWidth+=2;

-

-				saved = last;

-				locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);

-				locator.x = isSelectable()?locator.indent+1:locator.indent;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-				width = Math.max(width, lineWidth);

-			}

-			last = loc;

-			lastExtent = extent;

-		}

-		String lastString = text.substring(saved, last);

-		Point extent = gc.textExtent(lastString);

-		int lineWidth = extent.x;

-		if (isSelectable()) lineWidth += 2;

-		locator.x += lineWidth;

-		locator.width = width;

-		locator.height = lineHeight;

-		locator.rowHeight = Math.max(locator.rowHeight, extent.y);

-		if (oldFont != null) {

-			gc.setFont(oldFont);

-		}

-	}

-	

-	public void paint(

-		GC gc,

-		int width,

-		Locator locator,

-		Hashtable objectTable,

-		boolean selected) {

-		Font oldFont = null;

-		Color oldColor = null;

-

-		areaRectangles.clear();

-

-		if (fontId != null) {

-			oldFont = gc.getFont();

-			gc.setFont(getFont());

-		}

-		if (color != null) {

-			oldColor = gc.getForeground();

-			gc.setForeground(color);

-		}

-		FontMetrics fm = gc.getFontMetrics();

-		int lineHeight = fm.getHeight();

-		int descent = fm.getDescent();

-

-		if (!wrapAllowed) {

-			Point extent = gc.textExtent(text);

-			int ewidth = extent.x;

-			if (isSelectable()) ewidth += 2;

-

-			if (locator.x + ewidth > width) {

-				// new line

-				locator.resetCaret();

-				if (isSelectable()) locator.x += 1;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-			}

-			gc.drawString(text, locator.x, locator.y);

-			if (underline) {

-				int lineY = locator.y + lineHeight - descent + 1;

-				gc.drawLine(locator.x, lineY, locator.x + extent.x, lineY);

-			}

-			Rectangle br =

-				new Rectangle(locator.x - 1, locator.y, extent.x + 2, lineHeight - descent + 3);

-			areaRectangles.add(new AreaRectangle(br, 0, -1));

-			if (selected) {

-				if (color != null)

-					gc.setForeground(oldColor);

-				gc.drawFocus(br.x, br.y, br.width, br.height);

-			}

-

-			locator.x += ewidth;

-			locator.width = ewidth;

-			locator.height = lineHeight;

-			locator.rowHeight = Math.max(locator.rowHeight, extent.y);

-			if (oldFont != null) {

-				gc.setFont(oldFont);

-			}

-			if (oldColor != null) {

-				gc.setForeground(oldColor);

-			}

-			return;

-		}

-

-		BreakIterator wb = BreakIterator.getLineInstance();

-		wb.setText(text);

-

-		int saved = 0;

-		int last = 0;

-

-		for (int loc = wb.first(); loc != BreakIterator.DONE; loc = wb.next()) {

-			if (loc == 0)

-				continue;

-			String word = text.substring(saved, loc);

-			Point extent = gc.textExtent(word);

-			int ewidth = extent.x;

-			if (isSelectable()) ewidth += 2;

-

-			if (locator.x + ewidth > width) {

-				// overflow

-				String prevLine = text.substring(saved, last);

-				gc.drawString(prevLine, locator.x, locator.y, true);

-				Point prevExtent = gc.textExtent(prevLine);

-				int prevWidth = prevExtent.x;

-				if (isSelectable()) prevWidth += 2;

-

-				if (underline) {

-					int lineY = locator.y + lineHeight - descent + 1;

-					gc.drawLine(locator.x, lineY, locator.x + prevWidth, lineY);

-				}

-				Rectangle br =

-					new Rectangle(

-						locator.x - 1,

-						locator.y,

-						prevExtent.x + 2,

-						lineHeight - descent + 3);

-				if (selected) {

-					if (color != null)

-						gc.setForeground(oldColor);

-					gc.drawFocus(br.x, br.y, br.width, br.height);

-					if (color != null)

-						gc.setForeground(color);

-				}

-				areaRectangles.add(new AreaRectangle(br, saved, last));

-				

-				locator.rowHeight = Math.max(locator.rowHeight, prevExtent.y);

-				locator.resetCaret();

-				if (isSelectable()) locator.x +=1;

-				locator.y += locator.rowHeight;

-				locator.rowHeight = 0;

-				saved = last;

-			}

-			last = loc;

-		}

-		// paint the last line

-		String lastLine = text.substring(saved, last);

-		gc.drawString(lastLine, locator.x, locator.y, true);

-		Point lastExtent = gc.textExtent(lastLine);

-		int lastWidth = lastExtent.x;

-		if (isSelectable()) lastWidth += 2;

-		Rectangle br =

-			new Rectangle(

-				locator.x - 1,

-				locator.y,

-				lastExtent.x + 2,

-				lineHeight - descent + 3);

-		areaRectangles.add(new AreaRectangle(br, saved, last));

-		if (underline) {

-			int lineY = locator.y + lineHeight - descent + 1;

-			gc.drawLine(locator.x, lineY, locator.x + lastExtent.x, lineY);

-		}

-		if (selected) {

-			if (color != null)

-				gc.setForeground(oldColor);

-			gc.drawFocus(br.x, br.y, br.width, br.height);

-		}

-		locator.x += lastWidth;

-		locator.rowHeight = Math.max(locator.rowHeight, lastExtent.y);

-		if (oldFont != null) {

-			gc.setFont(oldFont);

-		}

-		if (oldColor != null) {

-			gc.setForeground(oldColor);

-		}

-	}

-	

-	public void paintFocus(GC gc, Color bg, Color fg, boolean selected) {

-		if (areaRectangles==null) return;

-		for (int i=0; i<areaRectangles.size(); i++) {

-			AreaRectangle areaRectangle = (AreaRectangle)areaRectangles.get(i);

-			Rectangle br = areaRectangle.rect;

-			if (selected) {

-				gc.setBackground(bg);

-				gc.setForeground(fg);

-				gc.drawFocus(br.x, br.y, br.width, br.height);

-			}

-			else {

-				gc.setForeground(bg);

-				gc.drawRectangle(br.x, br.y, br.width-1, br.height-1);

-			}

-		}

-	}	

-}

diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif
deleted file mode 100644
index c5c94ee..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/image1.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml b/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
deleted file mode 100644
index 4732f87..0000000
--- a/update/org.eclipse.update.ui.forms/src/org/eclipse/update/ui/forms/internal/index.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<form>

-<p>

-To check for updates for features you have installed, 

-go to the <a href="action1">My Eclipse 1</a> and select 

-<b>Available Updates</b> folder. <b>Search page</b> will 

-be shown allowing you to initiate and customize the search. 

-Now we <b>will</b> add an 

-<img href="image1"/> 

-image here. Just

- to show how wrapping should apply to images when they are 

- larger than the regular text.

-</p>

-<li style="text" value="1.">To check for updates for features you have installed, 

-go to the <a href="action2">My Eclipse 2</a> and select 

-<b>Available Updates</b> folder. <b>Search page</b> will 

-be shown allowing you to initiate and customize the search.</li>

-<li style="text" value="2.">This is the item number 2.</li>

-<li style="text" value="3.">This is the item number 3.</li>

-<li>This is the bullet item.</li>

-<li>This is another bullet item.</li>

-</form>
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/.classpath b/update/org.eclipse.update.ui.win32/.classpath
deleted file mode 100644
index 314d270..0000000
--- a/update/org.eclipse.update.ui.win32/.classpath
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-    <classpathentry kind="src" path="src/"/>

-    <classpathentry kind="src" path="/org.eclipse.core.resources"/>

-    <classpathentry kind="src" path="/org.eclipse.ui"/>

-    <classpathentry kind="src" path="/org.eclipse.update.ui.forms"/>

-    <classpathentry kind="src" path="/org.eclipse.help"/>

-    <classpathentry kind="src" path="/org.eclipse.core.boot"/>

-    <classpathentry kind="src" path="/org.eclipse.core.runtime"/>

-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-    <classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/update/org.eclipse.update.ui.win32/.cvsignore b/update/org.eclipse.update.ui.win32/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/update/org.eclipse.update.ui.win32/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/update/org.eclipse.update.ui.win32/.project b/update/org.eclipse.update.ui.win32/.project
deleted file mode 100644
index eb41f90..0000000
--- a/update/org.eclipse.update.ui.win32/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.ui.win32</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.resources</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.help</project>

-		<project>org.eclipse.ui</project>

-		<project>org.eclipse.update.ui.forms</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/update/org.eclipse.update.ui.win32/about.html b/update/org.eclipse.update.ui.win32/about.html
deleted file mode 100644
index 9db411a..0000000
--- a/update/org.eclipse.update.ui.win32/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 (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Common Public License Version 1.0 (&quot;CPL&quot;).  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, &quot;Program&quot; 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 (&quot;Other License&quot;), any modifications, enhancements and/or
-other code and/or documentation (&quot;Modifications&quot;) 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/update/org.eclipse.update.ui.win32/build.properties b/update/org.eclipse.update.ui.win32/build.properties
deleted file mode 100644
index a31730b..0000000
--- a/update/org.eclipse.update.ui.win32/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = plugin.properties,\
-               icons/,\
-               *.jar,\
-               plugin.xml,\
-               about.html
-src.includes = about.html
-source.updateui32.jar = src/
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif
deleted file mode 100644
index 740419b..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif
deleted file mode 100644
index 7a1511d..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif
deleted file mode 100644
index bb20d88..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif
deleted file mode 100644
index e597c3d..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif
deleted file mode 100644
index 949c2db..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif
deleted file mode 100644
index a063c23..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif
deleted file mode 100644
index 4c75f55..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif
deleted file mode 100644
index 4eb53ec..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/clcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif b/update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif
deleted file mode 100644
index fd70277..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/cview16/browser.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif
deleted file mode 100644
index e2179ad..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif
deleted file mode 100644
index 0c5af08..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif
deleted file mode 100644
index 472f005..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif
deleted file mode 100644
index 76f3360..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif
deleted file mode 100644
index 3c80080..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif
deleted file mode 100644
index b2281b4..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif
deleted file mode 100644
index 493f498..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif
deleted file mode 100644
index 7f0f9b9..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/dlcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif
deleted file mode 100644
index 85188b7..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif
deleted file mode 100644
index 72c7ca2..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif
deleted file mode 100644
index dc28ee1..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/forward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif
deleted file mode 100644
index 7683327..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/go_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif
deleted file mode 100644
index b50b2c3..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif
deleted file mode 100644
index bf2ba86..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/home_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif
deleted file mode 100644
index 919423d..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/refresh_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif
deleted file mode 100644
index bdf381a..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif b/update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif
deleted file mode 100644
index a519f44..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/elcl16/stop_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif b/update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif
deleted file mode 100644
index 33935b1..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/eview16/browser.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg
deleted file mode 100644
index a43cbeb..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/def_provider.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif b/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg
deleted file mode 100644
index 253e2d2..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_banner.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg
deleted file mode 100644
index 0ff3d0b..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg b/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg
deleted file mode 100644
index 57414f7..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/form_underline2.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif b/update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif
deleted file mode 100644
index 10137e9..0000000
--- a/update/org.eclipse.update.ui.win32/icons/full/forms/topic.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/icons/sample.gif b/update/org.eclipse.update.ui.win32/icons/sample.gif
deleted file mode 100644
index 34fb3c9..0000000
--- a/update/org.eclipse.update.ui.win32/icons/sample.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui.win32/plugin.properties b/update/org.eclipse.update.ui.win32/plugin.properties
deleted file mode 100644
index 5288763..0000000
--- a/update/org.eclipse.update.ui.win32/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-pluginName = Welcome Portal for Windows
-providerName = Eclipse.org
-views.webBrowser.label = Web Browser
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/plugin.xml b/update/org.eclipse.update.ui.win32/plugin.xml
deleted file mode 100644
index 1b0b77a..0000000
--- a/update/org.eclipse.update.ui.win32/plugin.xml
+++ /dev/null
@@ -1,192 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.0"?>
-<plugin
-   id="org.eclipse.update.ui.win32"
-   name="%pluginName"
-   version="2.1.0"
-   provider-name="%providerName"
-   class="org.eclipse.welcome.internal.WelcomePortal">
-
-   <runtime>
-      <library name="updateui32.jar">
-         <export name="*"/>
-         <packages prefixes="org.eclipse.welcome.internal"/>
-      </library>
-   </runtime>
-   <requires>
-      <import plugin="org.eclipse.core.runtime.compatibility"/>
-      <import plugin="org.eclipse.ui.ide"/>
-      <import plugin="org.eclipse.ui.views"/>
-      <import plugin="org.eclipse.jface.text"/>
-      <import plugin="org.eclipse.ui.workbench.texteditor"/>
-      <import plugin="org.eclipse.ui.editors"/>
-      <import plugin="org.eclipse.core.resources"/>
-      <import plugin="org.eclipse.ui"/>
-      <import plugin="org.eclipse.update.ui.forms"/>
-      <import plugin="org.eclipse.help"/>
-   </requires>
-
-
-   <extension-point id="welcomePages" name="Welcome Pages" schema="schema/welcomePages.exsd"/>
-   <extension-point id="welcomeSections" name="Welcome Sections" schema="schema/welcomeSections.exsd"/>
-
-   <extension
-         point="org.eclipse.ui.actionSets">
-      <actionSet
-            label="Sample Action Set"
-            visible="true"
-            id="org.eclipse.update.ui.win32.actionSet">
-         <action
-               label="Open Home Page"
-               icon="icons/sample.gif"
-               tooltip="Open Home Page"
-               class="org.eclipse.welcome.internal.ShowWelcomePageAction"
-               menubarPath="help/helpEnd"
-               id="org.eclipse.welcome.internal.ShowWelcomePageAction">
-         </action>
-      </actionSet>
-   </extension>
-   <extension
-         point="org.eclipse.ui.perspectiveExtensions">
-      <perspectiveExtension
-            targetID="org.eclipse.ui.resourcePerspective">
-         <actionSet
-               id="org.eclipse.update.ui.win32.actionSet">
-         </actionSet>
-      </perspectiveExtension>
-   </extension>
-   <extension
-         point="org.eclipse.ui.editors">
-      <editor
-            name="Web Browser"
-            icon="icons/sample.gif"
-            contributorClass="org.eclipse.welcome.internal.webbrowser.WebBrowserEditorContributor"
-            class="org.eclipse.welcome.internal.webbrowser.WebBrowserEditor"
-            id="org.eclipse.welcome.webbrowser">
-      </editor>
-      <editor
-            name="Welcome Page"
-            icon="icons/sample.gif"
-            class="org.eclipse.welcome.internal.portal.WelcomePortalEditor"
-            id="org.eclipse.welcome.portal">
-      </editor>
-   </extension>
-   <extension
-         point="org.eclipse.ui.elementFactories">
-      <factory
-            class="org.eclipse.welcome.internal.webbrowser.WebBrowserEditorInputFactory"
-            id="org.eclipse.welcome.internal.webbrowser.WebBrowserEditorInputFactory">
-      </factory>
-      <factory
-            class="org.eclipse.welcome.internal.portal.WelcomePortalEditorInputFactory"
-            id="org.eclipse.welcome.internal.portal.WelcomePortalEditorInputFactory">
-      </factory>
-   </extension>
-   <extension
-         point="org.eclipse.update.ui.win32.welcomePages">
-      <page
-            name="Home"
-            numColumns="2"
-            id="org.eclipse.update.ui.win32.homePage">
-         <section
-               span="2"
-               id="community.news.remote">
-         </section>
-         <section
-               id="search">
-         </section>
-         <section
-               id="tasks.softwareUpdates">
-         </section>
-         <section
-               id="quickStart">
-         </section>
-         <section
-               id="tipsAndTricks">
-         </section>
-      </page>
-      <page
-            name="News"
-            id="org.eclipse.update.ui.win32.news">
-      </page>
-      <page
-            name="Community"
-            numColumns="1"
-            id="org.eclipse.update.ui.win32.community">
-         <section
-               id="community.links">
-         </section>
-         <section
-               id="community.articles">
-         </section>
-      </page>
-      <page
-            name="Samples"
-            id="org.eclipse.update.ui.win32.samples">
-      </page>
-   </extension>
-   <extension
-         point="org.eclipse.update.ui.win32.welcomeSections">
-      <section
-            name="Software Updates"
-            id="tasks.softwareUpdates">
-         <form>
-            &lt;p&gt;
-&lt;a href=&quot;action&quot; arg=&quot;org.eclipse.update.ui:org.eclipse.update.internal.ui.InstallWizardAction&quot;&gt;
-Find updates for the currently installed features
-&lt;/a&gt;&lt;/p&gt;
-&lt;p&gt;
-&lt;a href=&quot;action&quot; arg=&quot;org.eclipse.update.ui:org.eclipse.update.internal.ui.ConfigurationManagerAction&quot;&gt;
-Manage my workbench configuration&lt;/a&gt;&lt;/p&gt;
-         </form>
-      </section>
-      <section
-            name="Eclipse Community Sites"
-            id="community.links">
-         <form>
-            &lt;li&gt;&lt;a href=&quot;url&quot; arg=&quot;http://www.eclipse.org&quot;&gt;Eclipse.org&lt;/a&gt;&lt;/li&gt;
-         </form>
-      </section>
-      <section
-            name="New Eclipse Articles"
-            id="community.articles">
-         <form
-               url="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/welcome-articles.xml"
-               type="remote">
-         </form>
-      </section>
-      <section
-            name="Headlines"
-            id="community.news.remote">
-         <form
-               url="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/platform-update-home/welcome-news.xml"
-               type="remote">
-         </form>
-      </section>
-      <section
-            name="Get Help"
-            id="search">
-         <form
-               type="custom"
-               class="org.eclipse.welcome.internal.portal.HelpSection">
-         </form>
-      </section>
-      <section
-            name="Quick Start"
-            id="quickStart">
-         <form
-               type="dynamic"
-               class="org.eclipse.welcome.internal.actions.WelcomeContentProvider">
-         </form>
-      </section>
-      <section
-            name="Tips and Tricks"
-            id="tipsAndTricks">
-         <form
-               type="dynamic"
-               class="org.eclipse.welcome.internal.actions.TipsAndTricksContentProvider">
-         </form>
-      </section>
-   </extension>
-
-</plugin>
diff --git a/update/org.eclipse.update.ui.win32/schema/welcomePages.exsd b/update/org.eclipse.update.ui.win32/schema/welcomePages.exsd
deleted file mode 100644
index 7e43f1b..0000000
--- a/update/org.eclipse.update.ui.win32/schema/welcomePages.exsd
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.update.ui.win32">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.update.ui.win32" id="welcomePages" name="Welcome Pages"/>

-      </appInfo>

-      <documentation>

-         [Enter description of this extension point.]

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="page" minOccurs="1" 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="page">

-      <complexType>

-         <sequence>

-            <element ref="section" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="numColumns" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="section">

-      <complexType>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="span" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         [Enter the first release in which this extension point appears.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         [Enter extension point usage example here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd b/update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd
deleted file mode 100644
index 9c4b5e2..0000000
--- a/update/org.eclipse.update.ui.win32/schema/welcomeSections.exsd
+++ /dev/null
@@ -1,166 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>

-<!-- Schema file written by PDE -->

-<schema targetNamespace="org.eclipse.update.ui.win32">

-<annotation>

-      <appInfo>

-         <meta.schema plugin="org.eclipse.update.ui.win32" id="welcomeSections" name="Welcome Sections"/>

-      </appInfo>

-      <documentation>

-         [Enter description of this extension point.]

-      </documentation>

-   </annotation>

-

-   <element name="extension">

-      <complexType>

-         <sequence>

-            <element ref="section" 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="section">

-      <complexType>

-         <sequence>

-            <element ref="form" minOccurs="0" maxOccurs="unbounded"/>

-         </sequence>

-         <attribute name="id" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="name" type="string" use="required">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.welcome.internal.portal.IPortalSection"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <element name="form">

-      <complexType>

-         <attribute name="type" use="default" value="local">

-            <annotation>

-               <documentation>

-                  Forms are loaded depending on the &lt;samp&gt;type&lt;/samp&gt; attribute:

-&lt;ul&gt;

-&lt;li&gt;&lt;b&gt;local&lt;/b&gt; - the content of the form will be loaded from the body text of the element.&lt;/li&gt;

-&lt;li&gt;&lt;b&gt;remote&lt;/b&gt; - the content of the form will be downloaded using the specified URL.&lt;/li&gt;

-&lt;li&gt;&lt;b&gt;custom&lt;/b&gt; - the form will be created by loading the class specified by the &lt;samp&gt;class&lt;/samp&gt; attribute that implements IPortalSection interface.&lt;/li&gt;

-&lt;li&gt;&lt;b&gt;dynamic&lt;/b&gt; - the form will be created by loading the class specified by the &lt;samp&gt;class&lt;/samp&gt; attribute that implements IFormContentProvider interface.&lt;/li&gt;

-&lt;/ul&gt;

-               </documentation>

-            </annotation>

-            <simpleType>

-               <restriction base="string">

-                  <enumeration value="local">

-                  </enumeration>

-                  <enumeration value="remote">

-                  </enumeration>

-                  <enumeration value="custom">

-                  </enumeration>

-                  <enumeration value="dynamic">

-                  </enumeration>

-               </restriction>

-            </simpleType>

-         </attribute>

-         <attribute name="url" type="string">

-            <annotation>

-               <documentation>

-                  If &lt;samp&gt;type&lt;/samp&gt; is &lt;samp&gt;remote&lt;/samp&gt;, the content of the form will be downloaded from the specified URL.

-               </documentation>

-            </annotation>

-         </attribute>

-         <attribute name="class" type="string">

-            <annotation>

-               <documentation>

-                  

-               </documentation>

-               <appInfo>

-                  <meta.attribute kind="java" basedOn="org.eclipse.welcome.internal.portal.IPortalSection"/>

-               </appInfo>

-            </annotation>

-         </attribute>

-      </complexType>

-   </element>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="since"/>

-      </appInfo>

-      <documentation>

-         [Enter the first release in which this extension point appears.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="examples"/>

-      </appInfo>

-      <documentation>

-         [Enter extension point usage example here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="apiInfo"/>

-      </appInfo>

-      <documentation>

-         [Enter API information here.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="implementation"/>

-      </appInfo>

-      <documentation>

-         [Enter information about supplied implementation of this extension point.]

-      </documentation>

-   </annotation>

-

-   <annotation>

-      <appInfo>

-         <meta.section type="copyright"/>

-      </appInfo>

-      <documentation>

-         

-      </documentation>

-   </annotation>

-

-</schema>

diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java
deleted file mode 100644
index 70ec5ba..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/ShowWelcomePageAction.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.*;
-import org.eclipse.welcome.internal.portal.WelcomePortalEditorInput;
-
-/**
- * Our sample action implements workbench action delegate.
- * The action proxy will be created by the workbench and
- * shown in the UI. When the user tries to use the action,
- * this delegate will be created and execution will be 
- * delegated to it.
- * @see IWorkbenchWindowActionDelegate
- */
-public class ShowWelcomePageAction implements IWorkbenchWindowActionDelegate {
-	private IWorkbenchWindow window;
-	/**
-	 * The constructor.
-	 */
-	public ShowWelcomePageAction() {
-	}
-
-	/**
-	 * The action has been activated. The argument of the
-	 * method represents the 'real' action sitting
-	 * in the workbench UI.
-	 * @see IWorkbenchWindowActionDelegate#run
-	 */
-	public void run(IAction action) {
-		try {
-			WelcomePortal.getActivePage().openEditor(
-				new WelcomePortalEditorInput(),
-				"org.eclipse.welcome.portal");
-		} catch (PartInitException e) {
-			WelcomePortal.logException(e);
-		}
-	}
-
-	/**
-	 * Selection in the workbench has been changed. We 
-	 * can change the state of the 'real' action here
-	 * if we want, but this can only happen after 
-	 * the delegate has been created.
-	 * @see IWorkbenchWindowActionDelegate#selectionChanged
-	 */
-	public void selectionChanged(IAction action, ISelection selection) {
-	}
-
-	/**
-	 * We can use this method to dispose of any system
-	 * resources we previously allocated.
-	 * @see IWorkbenchWindowActionDelegate#dispose
-	 */
-	public void dispose() {
-	}
-
-	/**
-	 * We will cache window object in order to
-	 * be able to provide parent shell for the message dialog.
-	 * @see IWorkbenchWindowActionDelegate#init
-	 */
-	public void init(IWorkbenchWindow window) {
-		this.window = window;
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java
deleted file mode 100644
index 06a2f00..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortal.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal;
-
-import java.lang.reflect.InvocationTargetException;
-import java.util.*;
-
-import org.eclipse.core.resources.*;
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.ui.*;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
-import org.eclipse.welcome.internal.webbrowser.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class WelcomePortal extends AbstractUIPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.update.ui.win32";
-	public static final String ID_BROWSER = PLUGIN_ID + "WebBrowser";
-	
-	//The shared instance.
-	private static WelcomePortal plugin;
-	//Resource bundle.
-	private ResourceBundle resourceBundle;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IStartup#earlyStartup()
-	 */
-	public static void showURL(String name, String url) {
-		try {
-			WelcomePortal.getActivePage().openEditor(
-				new WebBrowserEditorInput(name, url),
-				"org.eclipse.welcome.webbrowser");
-		} catch (PartInitException e) {
-			WelcomePortal.logException(e);
-		}
-	}
-
-	/**
-	 * The constructor.
-	 */
-	public WelcomePortal(IPluginDescriptor descriptor) {
-		super(descriptor);
-		plugin = this;
-		try {
-			resourceBundle =
-				ResourceBundle.getBundle(
-					"org.eclipse.welcome.internal.WelcomePortalResources");
-		} catch (MissingResourceException x) {
-			resourceBundle = null;
-		}
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static WelcomePortal getDefault() {
-		return plugin;
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		return getDefault().internalGetActivePage();
-	}
-
-	private IWorkbenchPage internalGetActivePage() {
-		IWorkbenchWindow window = getWorkbench().getActiveWorkbenchWindow();
-		if (window != null)
-			return window.getActivePage();
-		return null;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		return window != null ? window.getShell() : null;
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getDescriptor().getUniqueIdentifier();
-	}
-
-	/**
-	 * Returns the workspace instance.
-	 */
-	public static IWorkspace getWorkspace() {
-		return ResourcesPlugin.getWorkspace();
-	}
-
-	/**
-	 * Returns the string from the plugin's resource bundle,
-	 * or 'key' if not found.
-	 */
-	public static String getString(String key) {
-		ResourceBundle bundle = WelcomePortal.getDefault().getResourceBundle();
-		try {
-			return bundle.getString(key);
-		} catch (MissingResourceException e) {
-			return key;
-		}
-	}
-
-	public static String getFormattedMessage(String key, String[] args) {
-		String text = getString(key);
-		return java.text.MessageFormat.format(text, args);
-	}
-
-	public static String getFormattedMessage(String key, String arg) {
-		String text = getString(key);
-		return java.text.MessageFormat.format(text, new String[] { arg });
-	}
-
-	/**
-	 * Returns the plugin's resource bundle,
-	 */
-	public ResourceBundle getResourceBundle() {
-		return resourceBundle;
-	}
-
-	public void startup() throws CoreException {
-	}
-
-	public void shutdown() throws CoreException {
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, true);
-	}
-
-	public static void logException(Throwable e, boolean showErrorDialog) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			String message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status =
-				new Status(
-					IStatus.ERROR,
-					getPluginId(),
-					IStatus.OK,
-					message,
-					e);
-		}
-		log(status, showErrorDialog);
-	}
-
-	public static void log(IStatus status, boolean showErrorDialog) {
-		if (status.getSeverity() != IStatus.INFO) {
-			if (showErrorDialog)
-				ErrorDialog.openError(
-					getActiveWorkbenchShell(),
-					null,
-					null,
-					status);
-			//ResourcesPlugin.getPlugin().getLog().log(status);
-			Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-		} else {
-			MessageDialog.openInformation(
-				getActiveWorkbenchShell(),
-				null,
-				status.getMessage());
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java
deleted file mode 100644
index 3675f4b..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalImages.java
+++ /dev/null
@@ -1,243 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal;
-
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.core.runtime.IPluginDescriptor;
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.jface.resource.ImageRegistry;
-import org.eclipse.swt.graphics.Image;
-
-/**
- * Bundle of all images used by the PDE plugin.
- */
-public class WelcomePortalImages {
-
-
-	private static final String NAME_PREFIX= WelcomePortal.getPluginId()+".";
-
-	private final static URL BASE_URL = WelcomePortal.getDefault().getDescriptor().getInstallURL();
-
-
-	private static ImageRegistry PLUGIN_REGISTRY;
-	
-	public final static String ICONS_PATH = "icons/full/";
-
-	/**
-	 * Set of predefined Image Descriptors.
-	 */
-	
-	private static final String PATH_OBJ= ICONS_PATH+"obj16/";
-	private static final String PATH_VIEW = ICONS_PATH+"cview16/";
-	private static final String PATH_LCL= ICONS_PATH+"elcl16/";
-	private static final String PATH_LCL_HOVER= ICONS_PATH+"clcl16/";
-	private static final String PATH_LCL_DISABLED= ICONS_PATH+"dlcl16/";
-	private static final String PATH_TOOL = ICONS_PATH + "etool16/";
-	private static final String PATH_TOOL_HOVER = ICONS_PATH + "ctool16/";
-	private static final String PATH_TOOL_DISABLED = ICONS_PATH + "dtool16/";
-	private static final String PATH_OVR = ICONS_PATH + "ovr16/";
-	private static final String PATH_WIZBAN = ICONS_PATH + "wizban/";
-	public static final String PATH_FORMS = ICONS_PATH + "forms/";
-
-
-	/**
-	 * Frequently used images
-	 */
-	public static final String IMG_FORM_BANNER = NAME_PREFIX+"FORM_BANNER";
-	public static final String IMG_FORM_BANNER_SHORT = NAME_PREFIX+"FORM_BANNER_SHORT";
-	public static final String IMG_FORM_UNDERLINE = NAME_PREFIX + "FORM_UNDERLINE";
-
-	/**
-	 * OBJ16
-	 */
-	public static final ImageDescriptor DESC_APP_OBJ = create(PATH_OBJ, "app_obj.gif");
-	public static final ImageDescriptor DESC_BFOLDER_OBJ = create(PATH_OBJ, "bfolder_obj.gif");
-	public static final ImageDescriptor DESC_CATEGORY_OBJ = create(PATH_OBJ, "category_obj.gif");
-	public static final ImageDescriptor DESC_CD_OBJ = create(PATH_OBJ, "cd_obj.gif");
-	public static final ImageDescriptor DESC_COMPUTER_OBJ = create(PATH_OBJ, "computer_obj.gif");
-	public static final ImageDescriptor DESC_CONFIG_OBJ = create(PATH_OBJ, "config_obj.gif");
-	public static final ImageDescriptor DESC_FEATURE_OBJ = create(PATH_OBJ, "feature_obj.gif");
-	public static final ImageDescriptor DESC_EFIX_OBJ = create(PATH_OBJ, "efix2_obj.gif");
-	public static final ImageDescriptor DESC_FLOPPY_OBJ = create(PATH_OBJ, "floppy_obj.gif");
-	public static final ImageDescriptor DESC_HISTORY_OBJ = create(PATH_OBJ, "history_obj.gif");
-	public static final ImageDescriptor DESC_LSITE_OBJ = create(PATH_OBJ, "lsite_obj.gif");
-	public static final ImageDescriptor DESC_PSITE_OBJ = create(PATH_OBJ, "psite_obj.gif");
-	public static final ImageDescriptor DESC_ESITE_OBJ = create(PATH_OBJ, "esite_obj.gif");
-	public static final ImageDescriptor DESC_SITE_OBJ = create(PATH_OBJ, "site_obj.gif");
-	public static final ImageDescriptor DESC_WEB_SITE_OBJ = create(PATH_OBJ, "web_bkmrk_obj.gif");
-	public static final ImageDescriptor DESC_PLACES_OBJ = create(PATH_OBJ, "places_obj.gif");
-	public static final ImageDescriptor DESC_SAVED_OBJ = create(PATH_OBJ, "saved_obj.gif");
-	public static final ImageDescriptor DESC_UNCONF_FEATURE_OBJ = create(PATH_OBJ, "unconf_feature_obj.gif");
-	public static final ImageDescriptor DESC_UPDATES_OBJ = create(PATH_OBJ, "updates_obj.gif");
-	public static final ImageDescriptor DESC_VFIXED_OBJ = create(PATH_OBJ, "vfixed_obj.gif");
-	public static final ImageDescriptor DESC_VREMOTE_OBJ = create(PATH_OBJ, "vremote_obj.gif");
-	public static final ImageDescriptor DESC_VREMOVABLE_OBJ = create(PATH_OBJ, "vremovable_obj.gif");
-	public static final ImageDescriptor DESC_NOTINST_FEATURE_OBJ = create(PATH_OBJ, "notinstalled_feature_obj.gif");	
-	public static final ImageDescriptor DESC_SHOW_SEARCH = create(PATH_OBJ, "tsearch_obj.gif");
-	public static final ImageDescriptor DESC_ERR_ST_OBJ = create(PATH_OBJ, "error_st_obj.gif");
-	public static final ImageDescriptor DESC_OK_ST_OBJ = create(PATH_OBJ, "ok_st_obj.gif");
-
-	
-	/**
-	 * OVR16
-	 */
-	public static final ImageDescriptor DESC_LINKED_CO   = create(PATH_OVR, "linked_co.gif");
-	public static final ImageDescriptor DESC_UPDATED_CO   = create(PATH_OVR, "updated_co.gif");
-	public static final ImageDescriptor DESC_INSTALLABLE_CO = create(PATH_OVR, "installable_co.gif");
-	public static final ImageDescriptor DESC_CURRENT_CO = create(PATH_OVR, "current_co.gif");
-	public static final ImageDescriptor DESC_ERROR_CO = create(PATH_OVR, "error_co.gif");
-	public static final ImageDescriptor DESC_WARNING_CO = create(PATH_OVR, "warning_co.gif");
-	public static final ImageDescriptor DESC_MOD_CO = create(PATH_OVR, "mod_co.gif");
-	public static final ImageDescriptor DESC_ADD_CO = create(PATH_OVR, "add_stat.gif");
-	public static final ImageDescriptor DESC_DEL_CO = create(PATH_OVR, "del_stat.gif");
-	public static final ImageDescriptor DESC_UNCONF_CO = create(PATH_OVR, "unconfigured_co.gif");
-
-	/**
-	 * VIEW16
-	 */
-
-	public static final ImageDescriptor DESC_CONFIGS_VIEW = create(PATH_VIEW, "configs.gif");
-	public static final ImageDescriptor DESC_SITES_VIEW = create(PATH_VIEW, "updates.gif");
-	public static final ImageDescriptor DESC_SELECTED_UPDATES_VIEW = create(PATH_VIEW, "selected_updates.gif");
-
-	/**
-	 * LCL
-	 */
-	public static final ImageDescriptor DESC_BACKWARD_NAV = create(PATH_LCL, "backward_nav.gif");
-	public static final ImageDescriptor DESC_BACKWARD_NAV_H = create(PATH_LCL_HOVER, "backward_nav.gif");
-	public static final ImageDescriptor DESC_BACKWARD_NAV_D = create(PATH_LCL_DISABLED, "backward_nav.gif");
-	public static final ImageDescriptor DESC_FORWARD_NAV = create(PATH_LCL, "forward_nav.gif");
-	public static final ImageDescriptor DESC_FORWARD_NAV_H = create(PATH_LCL_HOVER, "forward_nav.gif");
-	public static final ImageDescriptor DESC_FORWARD_NAV_D = create(PATH_LCL_DISABLED, "forward_nav.gif");
-	public static final ImageDescriptor DESC_HOME_NAV = create(PATH_LCL, "home_nav.gif");
-	public static final ImageDescriptor DESC_HOME_NAV_H = create(PATH_LCL_HOVER, "home_nav.gif");
-	public static final ImageDescriptor DESC_HOME_NAV_D = create(PATH_LCL_DISABLED, "home_nav.gif");
-	public static final ImageDescriptor DESC_REFRESH_NAV = create(PATH_LCL, "refresh_nav.gif");
-	public static final ImageDescriptor DESC_REFRESH_NAV_H = create(PATH_LCL_HOVER, "refresh_nav.gif");
-	public static final ImageDescriptor DESC_REFRESH_NAV_D = create(PATH_LCL_DISABLED, "refresh_nav.gif");
-	public static final ImageDescriptor DESC_STOP_NAV = create(PATH_LCL, "stop_nav.gif");
-	public static final ImageDescriptor DESC_STOP_NAV_H = create(PATH_LCL_HOVER, "stop_nav.gif");
-	public static final ImageDescriptor DESC_STOP_NAV_D = create(PATH_LCL_DISABLED, "stop_nav.gif");
-	public static final ImageDescriptor DESC_GO_NAV = create(PATH_LCL, "go_nav.gif");
-	public static final ImageDescriptor DESC_GO_NAV_H = create(PATH_LCL_HOVER, "go_nav.gif");
-	public static final ImageDescriptor DESC_GO_NAV_D = create(PATH_LCL_DISABLED, "go_nav.gif");
-	public static final ImageDescriptor DESC_SHOW_UNCONF = create(PATH_LCL, "show_unconf.gif");
-	public static final ImageDescriptor DESC_SHOW_UNCONF_H = create(PATH_LCL_HOVER, "show_unconf.gif");
-	public static final ImageDescriptor DESC_SHOW_UNCONF_D = create(PATH_LCL_DISABLED, "show_unconf.gif");
-	public static final ImageDescriptor DESC_COLLAPSE_ALL = create(PATH_LCL, "collapseall.gif");
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY = create(PATH_LCL, "hierarchicalLayout.gif");
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY_H = create(PATH_LCL_HOVER, "hierarchicalLayout.gif");
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY_D = create(PATH_LCL_DISABLED, "hierarchicalLayout.gif");
-
-	/**
-	 * WIZ
-	 */
-	public static final ImageDescriptor DESC_INSTALL_WIZ  = create(PATH_WIZBAN, "install_wiz.gif");
-	public static final ImageDescriptor DESC_UPDATE_WIZ  = create(PATH_WIZBAN, "update_wiz.gif");
-	public static final ImageDescriptor DESC_CONFIG_WIZ  = create(PATH_WIZBAN, "config_wiz.gif");
-	public static final ImageDescriptor DESC_UNINSTALL_WIZ  = create(PATH_WIZBAN, "uninstall_wiz.gif");
-	public static final ImageDescriptor DESC_INSTALL_BANNER  = create(PATH_WIZBAN, "def_wizban.jpg");
-	public static final ImageDescriptor DESC_FORM_BANNER  = create(PATH_FORMS, "form_banner.jpg");
-	public static final ImageDescriptor DESC_FORM_BANNER_SHORT  = create(PATH_FORMS, "form_banner.gif");
-	public static final ImageDescriptor DESC_FORM_UNDERLINE  = create(PATH_FORMS, "form_underline2.jpg");
-	public static final ImageDescriptor DESC_PROVIDER = create(PATH_FORMS, "def_provider.jpg");
-	public static final ImageDescriptor DESC_ITEM = create(PATH_FORMS, "topic.gif");
-	public static final ImageDescriptor DESC_NEW_BOOKMARK  = create(PATH_WIZBAN, "new_bookmark_wiz.gif");
-	public static final ImageDescriptor DESC_NEW_FOLDER  = create(PATH_WIZBAN, "new_folder_wiz.gif");
-	public static final ImageDescriptor DESC_NEW_SEARCH  = create(PATH_WIZBAN, "new_search_wiz.gif");
-
-	private static ImageDescriptor create(String prefix, String name) {
-		return ImageDescriptor.createFromURL(makeImageURL(prefix, name));
-	}
-
-
-	public static Image get(String key) {
-		if (PLUGIN_REGISTRY==null) initialize();
-		return PLUGIN_REGISTRY.get(key);
-	}
-
-
-public static ImageDescriptor getImageDescriptorFromPlugin(
-	IPluginDescriptor pluginDescriptor, 
-	String subdirectoryAndFilename) {
-	URL installURL = pluginDescriptor.getInstallURL();
-	try {
-		URL newURL = new URL(installURL, subdirectoryAndFilename);
-		return ImageDescriptor.createFromURL(newURL);
-	}
-	catch (MalformedURLException e) {
-	}
-	return null;
-}
-
-
-public static Image getImageFromPlugin(
-	IPluginDescriptor pluginDescriptor,
-	String subdirectoryAndFilename) {
-	URL installURL = pluginDescriptor.getInstallURL();
-	Image image = null;
-	try {
-		URL newURL = new URL(installURL, subdirectoryAndFilename);
-		String key = newURL.toString();
-		if (PLUGIN_REGISTRY==null) initialize();
-		image = PLUGIN_REGISTRY.get(key);
-		if (image==null) {
-			ImageDescriptor desc = ImageDescriptor.createFromURL(newURL);
-			image = desc.createImage();
-			PLUGIN_REGISTRY.put(key, image);
-		}
-	}
-	catch (MalformedURLException e) {
-	}
-	return image;
-}
-/* package */
-private static final void initialize() {
-	PLUGIN_REGISTRY = new ImageRegistry();
-	manage(IMG_FORM_BANNER_SHORT, DESC_FORM_BANNER_SHORT);
-	manage(IMG_FORM_BANNER, DESC_FORM_BANNER);
-	manage(IMG_FORM_UNDERLINE, DESC_FORM_UNDERLINE);
-}
-
-
-private static URL makeImageURL(String prefix, String name) {
-	String path = prefix + name;
-	URL url = null;
-	try {
-		url = new URL(BASE_URL, path);
-	}
-	catch (MalformedURLException e) {
-		return null;
-	}
-	return url;
-}
-
-public static Image manage(String key, ImageDescriptor desc) {
-	Image image = desc.createImage();
-	PLUGIN_REGISTRY.put(key, image);
-	return image;
-}
-
-public static URL getDefaultProviderImageURL() {
-	URL url = makeImageURL(PATH_FORMS, "def_provider.jpg");
-	try {
-		url = Platform.resolve(url);
-	}
-	catch (IOException e) {
-	}
-	return url; 
-}
-
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties
deleted file mode 100644
index 491ee42..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/WelcomePortalResources.properties
+++ /dev/null
@@ -1,29 +0,0 @@
-###############################################################################
-# Copyright (c) 2000, 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 Corporation - initial API and implementation
-###############################################################################
-# 
-#
-#
-
-BrowserPage.address = Address:
-BrowserPage.stop = Stop
-BrowserPage.go = Go
-BrowserPage.refresh = Refresh
-
-WebBrowserView.notAvailable = Embedded Web browser is not available. \
-Requiests for opening URLs are processed using Web browser registered to handle \
-Web pages on your system.
-WebBrowserView.address = Address:
-WebBrowserView.stop = Stop
-WebBrowserView.go = Go
-WebBrowserView.home = Go Home
-WebBrowserView.refresh = Refresh
-WebBrowserView.backward = Go Back
-WebBrowserView.forward = Go Forward
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java
deleted file mode 100644
index 65b3b9a..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/TipsAndTricksContentProvider.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.actions;
-
-import java.io.*;
-import java.util.ArrayList;
-
-import org.eclipse.ui.internal.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-import org.eclipse.welcome.internal.portal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class TipsAndTricksContentProvider implements IFormContentProvider {
-	private IFormContentObserver observer;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#getContent()
-	 */
-	public String getContent() {
-		/*
-		// Ask the user to select a feature
-		AboutInfo[] features = ((Workbench) WelcomePortal.getDefault().getWorkbench()).getConfigurationInfo().getFeaturesInfo();
-		ArrayList welcomeFeatures = new ArrayList();
-		StringWriter swriter = new StringWriter();
-		PrintWriter writer = new PrintWriter(swriter);
-		writer.println("<form>");
-		for (int i = 0; i < features.length; i++) {
-			AboutInfo feature = features[i];
-			if (feature.getWelcomePageURL() != null) {
-				addFeatureLink(writer, feature);
-			}
-		}
-		writer.println("</form>");
-		writer.close();
-		return swriter.toString();
-		*/
-		return "<form></form>";
-	}
-
-	private void addFeatureLink(PrintWriter writer, AboutInfo feature) {
-		String name = feature.getFeatureLabel();
-		String href = feature.getTipsAndTricksHref();
-		if (href==null) return;
-		writer.print("<li>");
-		writer.print("<a href=\"help\" arg=\""+href+"\">"+name+"</a>");
-		writer.println("</li>");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#setContentObserver(org.eclipse.welcome.internal.portal.IFormContentObserver)
-	 */
-	public void setContentObserver(IFormContentObserver observer) {
-		this.observer = observer;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java
deleted file mode 100644
index 59c2d79..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/actions/WelcomeContentProvider.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.actions;
-
-import java.io.*;
-import java.net.URL;
-import java.util.ArrayList;
-
-import org.eclipse.ui.internal.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-import org.eclipse.welcome.internal.portal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomeContentProvider implements IFormContentProvider {
-	private IFormContentObserver observer;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#getContent()
-	 */
-	public String getContent() {
-		/*
-		// Ask the user to select a feature
-		AboutInfo[] features = ((Workbench) WelcomePortal.getDefault().getWorkbench()).getConfigurationInfo().getFeaturesInfo();
-		ArrayList welcomeFeatures = new ArrayList();
-		StringWriter swriter = new StringWriter();
-		PrintWriter writer = new PrintWriter(swriter);
-		writer.println("<form>");
-		for (int i = 0; i < features.length; i++) {
-			AboutInfo feature = features[i];
-			if (feature.getWelcomePageURL() != null) {
-				addFeatureLink(writer, feature);
-			}
-		}
-		writer.println("</form>");
-		/*
-
-		if (perspectiveId != null) {
-			try {
-				page = (WorkbenchPage) window.getWorkbench().showPerspective(perspectiveId, window);
-			} catch (WorkbenchException e) {
-				return;
-			}
-		}
-
-		page.setEditorAreaVisible(true);
-
-		// create input
-		WelcomeEditorInput input = new WelcomeEditorInput(feature);
-
-		// see if we already have a welcome editor
-		IEditorPart editor = page.findEditor(input);
-		if (editor != null) {
-			page.activate(editor);
-			return;
-		}
-
-		try {
-			page.openEditor(input, EDITOR_ID);
-		} catch (PartInitException e) {
-			IStatus status = new Status(IStatus.ERROR, WorkbenchPlugin.PI_WORKBENCH, 1, WorkbenchMessages.getString("QuickStartAction.openEditorException"), e); //$NON-NLS-1$
-			ErrorDialog.openError(
-				window.getShell(),
-				WorkbenchMessages.getString("Workbench.openEditorErrorDialogTitle"),  //$NON-NLS-1$
-				WorkbenchMessages.getString("Workbench.openEditorErrorDialogMessage"), //$NON-NLS-1$
-				status);
-		}
-		writer.close();
-		return swriter.toString();
-		*/
-		return "<form></form>";
-	}
-
-	private void addFeatureLink(PrintWriter writer, AboutInfo feature) {
-		String name = feature.getFeatureLabel();
-		URL welcomeURL = feature.getWelcomePageURL();
-		String action = "";
-		writer.print("<li>");
-		writer.print("<a href=\"action\">"+name+"</a>");
-		writer.println("</li>");
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IFormContentProvider#setContentObserver(org.eclipse.welcome.internal.portal.IFormContentObserver)
-	 */
-	public void setContentObserver(IFormContentObserver observer) {
-		this.observer = observer;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java
deleted file mode 100644
index 393de2b..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/HelpSection.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import java.io.UnsupportedEncodingException;
-import java.net.URLEncoder;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class HelpSection implements IPortalSectionForm {
-	private Text phraseText;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IPortalSection#init(org.eclipse.update.ui.forms.internal.IFormPage)
-	 */
-	public void init(IFormPage page) {
-	}
-	
-	public void dispose() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.portal.IPortalSection#createControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public Control createControl(Composite parent, FormWidgetFactory factory) {
-		Composite container = factory.createComposite(parent);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginWidth = 0;
-		container.setLayout(layout);
-		factory.createLabel(container, "Phrase:");
-		phraseText = factory.createText(container, "");
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		phraseText.setLayoutData(gd);
-		final Button button = factory.createButton(container, "Go", SWT.PUSH);
-		button.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				doSearch(phraseText.getText());
-			}
-		});
-		button.setEnabled(false);
-		phraseText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				String text=phraseText.getText();
-				button.setEnabled(text.length()>0);
-			}
-		});
-		phraseText.addKeyListener(new KeyAdapter() {
-			public void keyReleased(KeyEvent e) {
-				if (e.character=='\r') {
-					if (button.isEnabled())
-						doSearch(phraseText.getText());
-				}
-			}
-		});
-		factory.paintBordersFor(container);
-		return container;
-	}
-	private void doSearch(String phrase) {
-		try {
-			String ephrase = URLEncoder.encode(phrase, "UTF-8");
-			String query = "tab=search&searchWord="+ephrase;
-			WorkbenchHelp.getHelpSupport().displayHelpResource(query);
-		}
-		catch (UnsupportedEncodingException e) {
-			System.out.println(e);
-		}
-	} 
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java
deleted file mode 100644
index ba7801b..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentObserver.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IFormContentObserver {
-	public void contentChanged(IFormContentProvider provider);
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java
deleted file mode 100644
index 15e85ee..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IFormContentProvider.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Created on Jun 20, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IFormContentProvider {
-	String getContent();
-	void setContentObserver(IFormContentObserver observer);
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java
deleted file mode 100644
index a7d77a6..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/IPortalSectionForm.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IPortalSectionForm {
-	void init(IFormPage page);
-	Control createControl(Composite parent, FormWidgetFactory factory);
-	void dispose();
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java
deleted file mode 100644
index b25eaa2..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/PortalSection.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import java.io.*;
-import java.net.*;
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.update.ui.forms.internal.*;
-import org.eclipse.update.ui.forms.internal.engine.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class PortalSection extends FormSection  {
-	private SectionDescriptor desc;
-	private WelcomePortalForm form;
-	private HyperlinkAction eclipseAction;
-	private HTTPAction httpAction;
-	private HyperlinkAction helpAction;
-	private Composite formContainer;
-	private Hashtable eclipseActions;
-
-	class ActionWrapper extends Action {
-		IActionDelegate delegate;
-
-		public ActionWrapper(String arg, IActionDelegate delegate) {
-			super(arg);
-			this.delegate = delegate;
-			if (delegate instanceof IWorkbenchWindowActionDelegate)
-				((IWorkbenchWindowActionDelegate) delegate).init(
-					WelcomePortal.getActiveWorkbenchWindow());
-		}
-		public void run() {
-			delegate.run(this);
-		}
-	}
-
-	public PortalSection(SectionDescriptor desc, WelcomePortalForm form) {
-		this.desc = desc;
-		this.form = form;
-		setDescriptionPainted(false);
-		setCollapsable(true);
-		setHeaderText(desc.getName());
-		makeHyperlinkActions();
-	}
-
-	private void makeHyperlinkActions() {
-		IActionBars bars =
-			form.getPortal().getEditor().getEditorSite().getActionBars();
-		httpAction = new HTTPAction() {
-			public void linkActivated(IHyperlinkSegment link) {
-				String url = link.getArg();
-				if (url != null)
-					WelcomePortal.showURL(link.getText(), url);
-			}
-		};
-		httpAction.setStatusLineManager(bars.getStatusLineManager());
-		eclipseAction = new HyperlinkAction() {
-			public void linkActivated(IHyperlinkSegment link) {
-				String arg = link.getArg();
-				if (arg != null)
-					runEclipseAction(arg);
-			}
-		};
-		eclipseAction.setStatusLineManager(bars.getStatusLineManager());
-		helpAction = new HyperlinkAction() {
-			public void linkActivated(IHyperlinkSegment link) {
-				String arg = link.getArg();
-				if (arg != null)
-					openEclipseHelp(arg);
-			}
-		};
-		helpAction.setStatusLineManager(bars.getStatusLineManager());
-	}
-	public Composite createClient(
-		Composite parent,
-		FormWidgetFactory factory) {
-		IConfigurationElement config = desc.getConfig();
-		formContainer = factory.createComposite(parent);
-		HTMLTableLayout layout = new HTMLTableLayout();
-		formContainer.setLayout(layout);
-		layout.topMargin = layout.bottomMargin = 0;
-		layout.leftMargin = layout.rightMargin = 0;
-		IConfigurationElement[] children = config.getChildren();
-		for (int i = 0; i < children.length; i++) {
-			IConfigurationElement child = children[i];
-			if (child.getName().equals("form")) {
-				createForm(formContainer, child, factory);
-			}
-		}
-		return formContainer;
-	}
-
-	private void createForm(
-		final Composite parent,
-		IConfigurationElement config,
-		FormWidgetFactory factory) {
-		String type = config.getAttribute("type");
-		if (type != null && type.equals("custom")) {
-			createCustomForm(parent, config, factory);
-			return;
-		}
-		final FormEngine engine = factory.createFormEngine(parent);
-		//engine.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_CYAN));
-		engine.setHyperlinkSettings(factory.getHyperlinkHandler());
-		TableData td = new TableData(TableData.FILL, TableData.TOP);
-		td.grabHorizontal = true;
-		engine.setLayoutData(td);
-		engine.registerTextObject("url", httpAction);
-		engine.registerTextObject("action", eclipseAction);
-		engine.registerTextObject("help", helpAction);
-		if (type == null || type.equals("local")) {
-			String value = config.getValue();
-			engine.load("<form>" + value + "</form>", true, false);
-		} else if (type.equals("dynamic")) {
-			IFormContentProvider provider = createContentProvider(config);
-			if (provider!=null) {
-				engine.load(provider.getContent(), true, false);
-				provider.setContentObserver(new IFormContentObserver() {
-					public void contentChanged(IFormContentProvider provider) {
-						engine.load(provider.getContent(), true, false);
-						reflow();
-					}
-				});
-			}
-		} else if (type.equals("remote")) {
-			String urlName = config.getAttribute("url");
-			try {
-				final URL url = new URL(urlName);
-				Runnable loader = new Runnable() {
-					public void run() {
-						InputStream is = null;
-						try {
-							is = url.openStream();
-							engine.load(is, false);
-							parent.getDisplay().syncExec(new Runnable() {
-								public void run() {
-									reflow();
-								}
-							});
-						} catch (final IOException e) {
-							parent.getDisplay().syncExec(new Runnable() {
-								public void run() {
-									WelcomePortal.logException(e);
-								}
-							});
-
-						} finally {
-							try {
-								if (is != null)
-									is.close();
-							} catch (IOException e) {
-							}
-						}
-					}
-				};
-				Thread t = new Thread(loader);
-				t.start();
-			} catch (MalformedURLException e) {
-				WelcomePortal.logException(e);
-			}
-		}
-	}
-
-	private void createCustomForm(
-		Composite parent,
-		IConfigurationElement config,
-		FormWidgetFactory factory) {
-		try {
-			Object obj = config.createExecutableExtension("class");
-			if (obj instanceof IPortalSectionForm) {
-				IPortalSectionForm psection = (IPortalSectionForm) obj;
-				//psection.init(form.getPortal());
-				Control control = psection.createControl(parent, factory);
-				TableData td = new TableData(TableData.FILL, TableData.TOP);
-				td.grabHorizontal = true;
-				control.setLayoutData(td);
-			}
-		} catch (CoreException e) {
-			WelcomePortal.logException(e);
-		}
-	}
-	
-	private IFormContentProvider createContentProvider(IConfigurationElement config) {
-		try {
-			Object obj = config.createExecutableExtension("class");
-			if (obj instanceof IFormContentProvider) {
-				return (IFormContentProvider) obj;
-			}
-		} catch (CoreException e) {
-			WelcomePortal.logException(e);
-		}
-		return null;
-	}
-	protected void reflow() {
-		formContainer.layout();
-		super.reflow();
-		form.updateSize();
-	}
-
-	private void runEclipseAction(final String arg) {
-		BusyIndicator
-			.showWhile(form.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				final IAction action = getEclipseAction(arg);
-				if (action != null)
-					action.run();
-			}
-		});
-	}
-
-	private IAction getEclipseAction(String arg) {
-		if (eclipseActions == null) {
-			eclipseActions = new Hashtable();
-		}
-		IAction action = (IAction) eclipseActions.get(arg);
-		if (action != null)
-			return action;
-		// load
-		int col = arg.indexOf(':');
-		String pluginId = arg.substring(0, col);
-		String className = arg.substring(col + 1);
-		IPluginDescriptor desc =
-			Platform.getPluginRegistry().getPluginDescriptor(pluginId);
-		if (desc == null) {
-			logActionLinkError(pluginId, className);
-			return null;
-		}
-		Class actionClass;
-		try {
-			actionClass = desc.getPluginClassLoader().loadClass(className);
-		} catch (ClassNotFoundException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		}
-		try {
-			Object obj = actionClass.newInstance();
-			if (obj instanceof IAction)
-				action = (IAction) obj;
-			else
-				action = new ActionWrapper(arg, (IActionDelegate) obj);
-		} catch (InstantiationException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		} catch (IllegalAccessException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		} catch (ClassCastException e) {
-			logActionLinkError(pluginId, className);
-			return null;
-		}
-		eclipseActions.put(arg, action);
-		return action;
-	}
-
-	private void logActionLinkError(String pluginId, String className) {
-		IStatus status =
-			new Status(
-				IStatus.ERROR,
-				WelcomePortal.getPluginId(),
-				IStatus.OK,
-				"Unable to load class "
-					+ className
-					+ " from plug-in "
-					+ pluginId
-					+ ".",
-				null);
-		WelcomePortal.log(status, true);
-	}
-	
-	private void openEclipseHelp(String arg) {
-		WorkbenchHelp.getHelpSupport().displayHelpResource(arg);
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java
deleted file mode 100644
index 1f497b0..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/SectionDescriptor.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class SectionDescriptor {
-	private IConfigurationElement config;
-	
-	public SectionDescriptor(IConfigurationElement config) {
-		this.config = config;
-	}
-	
-	public String getId() {
-		return config.getAttribute("id");
-	}
-	
-	public String getName() {
-		return config.getAttribute("name");
-	}
-	public IConfigurationElement getConfig() {
-		return config;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java
deleted file mode 100644
index 23412e6..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditor.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.*;
-import org.eclipse.ui.part.EditorPart;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalEditor extends EditorPart {
-	private WelcomePortalPart welcomePart;
-	
-	public WelcomePortalEditor() {
-		welcomePart = new WelcomePortalPart(this);
-	}
-
-	public void dispose() {
-		if (welcomePart!=null)
-			welcomePart.dispose();
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#gotoMarker(org.eclipse.core.resources.IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-		throws PartInitException {
-		if (!(input instanceof WelcomePortalEditorInput))
-			throw new PartInitException("Invalid Input: Must be WelcomePortalEditorInput");
-		setSite(site);
-		setInput(input);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		welcomePart.createControl(parent);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IWorkbenchPart#setFocus()
-	 */
-	public void setFocus() {
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java
deleted file mode 100644
index 93f1f42..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInput.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-/**
- * A simple editor input for the welcome editor
- */
-public class WelcomePortalEditorInput implements IEditorInput {
-	private final static String FACTORY_ID = "org.eclipse.welcome.internal.portal.WelcomePortalEditorInputFactory"; //$NON-NLS-1$
-	/**
-	 * WelcomeEditorInput constructor comment.
-	 */
-	public WelcomePortalEditorInput() {
-	}
-	public boolean exists() {
-		return false;
-	}
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	public String getName() {
-		return "Welcome";
-	}
-	public boolean equals(Object obj) {
-		if (obj==null) return false;
-		if (obj == this) return true;
-		if (obj instanceof WelcomePortalEditorInput) {
-			WelcomePortalEditorInput wobj = (WelcomePortalEditorInput)obj;
-			return true;
-		}
-		return false;
-	}
-	public IPersistableElement getPersistable() {
-		return new IPersistableElement() {
-			public String getFactoryId() {
-				return FACTORY_ID;
-			}
-			public void saveState(IMemento memento) {
-			}
-		};
-	}
-	public String getToolTipText() {
-		return getName();
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java
deleted file mode 100644
index 30c76f3..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalEditorInputFactory.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IElementFactory;
-
-/**
- */
-public class WelcomePortalEditorInputFactory implements IElementFactory {
-	/**
-	 */
-	public WelcomePortalEditorInputFactory() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IElementFactory#createElement(org.eclipse.ui.IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		return new WelcomePortalEditorInput();
-	}
-
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java
deleted file mode 100644
index e4a44b0..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalForm.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalForm extends WebForm {
-	private WelcomePortalPart portal;
-	private IConfigurationElement pageConfig;
-
-	public WelcomePortalForm(WelcomePortalPart portal, IConfigurationElement pageConfig) {
-		this.portal = portal;
-		this.pageConfig = pageConfig;
-		setHeadingVisible(false);
-	}
-	
-	public void initialize(Object model) {
-		update();
-	}
-	
-	public WelcomePortalPart getPortal() {
-		return portal;
-	}
-	
-	protected void createContents(Composite parent) {
-		HTMLTableLayout layout = new HTMLTableLayout();
-		parent.setLayout(layout);
-		layout.numColumns = getInteger(pageConfig, "numColumns", 1);
-		layout.topMargin = 0;
-		layout.leftMargin = layout.rightMargin = 10;
-		layout.horizontalSpacing=15;
-		layout.verticalSpacing = 5;
-		//parent.setBackground(parent.getDisplay().getSystemColor(SWT.COLOR_GREEN));
-		layout.makeColumnsEqualWidth=true;
-		SelectableFormLabel customize = getFactory().createSelectableLabel(parent, "Customize...");
-		getFactory().turnIntoHyperlink(customize, new HyperlinkAdapter() {
-			public void linkActivated(Control link) {
-			}
-		});
-		TableData td = new TableData();
-		td.align = TableData.CENTER;
-		td.colspan = layout.numColumns;
-		customize.setLayoutData(td);
-		
-		IConfigurationElement [] sectionRefs = pageConfig.getChildren("section");
-		for (int i=0; i<sectionRefs.length; i++) {
-			IConfigurationElement sectionRef = sectionRefs[i];
-			String id = sectionRef.getAttribute("id");
-			SectionDescriptor desc = portal.findSection(id);
-			if (desc==null) continue;
-			PortalSection section = new PortalSection(desc, this);
-			Control control = section.createControl(parent, getFactory());
-			int span = getInteger(sectionRef, "span", 1);
-			td = new TableData(TableData.FILL, TableData.TOP);
-			td.colspan = span;
-			td.grabHorizontal = true;
-			control.setLayoutData(td);
-			registerSection(section);
-		}
-	}
-
-	private int getInteger(IConfigurationElement config, String attName, int def) {
-		String value = config.getAttribute(attName);
-		if (value!=null) {
-			try {
-				return Integer.parseInt(value);
-			}
-			catch (NumberFormatException e) {
-			}
-		}
-		return def;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java
deleted file mode 100644
index f4334d1..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPage.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.core.runtime.IConfigurationElement;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalPage implements IFormPage {
-	private Control control;
-	private String name;
-	private WelcomePortalPart portal;
-	private WelcomePortalForm form;
-	private IConfigurationElement config;
-	private SelectableFormLabel tab;
-	
-	public WelcomePortalPage(WelcomePortalPart portal, IConfigurationElement config) {
-		this.portal = portal;
-		this.form = new WelcomePortalForm(portal, config);
-		this.name = config.getAttribute("name");
-		this.config = config;
-	}
-	
-	public void setTab(SelectableFormLabel tab) {
-		this.tab = tab;
-	}
-	
-	public SelectableFormLabel getTab() {
-		return tab;
-	}
-
-	public boolean becomesInvisible(IFormPage newPage) {
-		return true;
-	}
-
-	public void becomesVisible(IFormPage previousPage) {
-	}
-
-	public void createControl(Composite parent) {
-		this.control = form.createControl(parent);
-		form.initialize(null);
-	}
-
-	public Control getControl() {
-		return control;
-	}
-
-	public String getLabel() {
-		return name;
-	}
-
-	public String getTitle() {
-		return name;
-	}
-
-	public boolean isSource() {
-		return false;
-	}
-
-	public boolean isVisible() {
-		return portal.isVisible(this);
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java
deleted file mode 100644
index cd36701..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomePortalPart.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import java.util.Hashtable;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.ui.forms.internal.*;
-import org.eclipse.welcome.internal.WelcomePortal;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomePortalPart {
-	private static final int TAB_PADDING = 5;
-	private Hashtable sectionDescriptors;
-	class TabListener implements IHyperlinkListener {
-		public void linkActivated(Control linkLabel) {
-			IFormPage page = (IFormPage) linkLabel.getData();
-			workbook.selectPage(page, false);
-		}
-
-		public void linkEntered(Control linkLabel) {
-		}
-
-		public void linkExited(Control linkLabel) {
-			if (linkLabel==selectedTab)
-				highlightTab(selectedTab, true);
-		}
-	}
-
-	private TabListener tabListener = new TabListener();
-	private Composite tabContainer;
-	private FormWidgetFactory factory;
-	private HyperlinkHandler hhandler;
-	private WelcomePortalEditor editor;
-	private Color tabColor;
-	private NoTabsWorkbook workbook;
-	private SelectableFormLabel selectedTab;
-
-	public WelcomePortalPart(WelcomePortalEditor editor) {
-		factory = new FormWidgetFactory();
-		hhandler = new HyperlinkHandler();
-		workbook = new NoTabsWorkbook();
-		this.editor = editor;
-	}
-	
-	public WelcomePortalEditor getEditor() {
-		return editor;
-	}
-
-	public void dispose() {
-		factory.dispose();
-		hhandler.dispose();
-	}
-	
-	public boolean isVisible(IFormPage page) {
-		return workbook.getCurrentPage().equals(page);
-	}
-
-	public void createControl(Composite parent) {
-		Composite container = factory.createComposite(parent);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = 2;
-		layout.verticalSpacing = 0;
-		layout.horizontalSpacing = 0;
-		container.setLayout(layout);
-		createTitle(container);
-		createTabs(container);
-		workbook.createControl(container);
-		workbook.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		workbook.addFormSelectionListener(new IFormSelectionListener() {
-			public void formSelected(IFormPage page, boolean setFocus) {
-				hightlightTab((WelcomePortalPage) page);
-			}
-		});
-		workbook.selectPage(workbook.getPages()[0], true);
-	}
-
-	private void createTitle(Composite parent) {
-		WelcomeTitleArea title = new WelcomeTitleArea(parent, SWT.NULL);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		title.setLayoutData(gd);
-		title.setText("Welcome");
-		title.setBackground(factory.getBackgroundColor());
-		title.setForeground(factory.getForegroundColor());
-		title.setFont(JFaceResources.getHeaderFont());
-	}
-
-	private void createTabs(Composite parent) {
-		tabContainer = factory.createComposite(parent);
-		tabContainer.addPaintListener(new PaintListener() {
-			public void paintControl(PaintEvent e) {
-				Point size = tabContainer.getSize();
-				Rectangle tabBounds = selectedTab.getBounds();
-				GC gc = e.gc;
-				gc.setBackground(factory.getBackgroundColor());
-				gc.fillRectangle(0, tabBounds.y-TAB_PADDING, size.x, tabBounds.height+TAB_PADDING+TAB_PADDING);
-			}
-		});
-		tabColor =
-			factory.getColor(FormWidgetFactory.COLOR_COMPOSITE_SEPARATOR);
-		tabContainer.setBackground(tabColor);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 10;
-		layout.marginHeight = TAB_PADDING;
-		layout.verticalSpacing = TAB_PADDING + TAB_PADDING;
-		tabContainer.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_VERTICAL);
-		tabContainer.setLayoutData(gd);
-		hhandler.setBackground(tabColor);
-		hhandler.setForeground(factory.getBackgroundColor());
-		hhandler.setHyperlinkUnderlineMode(
-			HyperlinkSettings.UNDERLINE_ROLLOVER);
-		loadTabs(tabContainer);
-	}
-	
-	private void loadTabs(Composite parent) {
-		IConfigurationElement [] pages = Platform.getPluginRegistry().getConfigurationElementsFor(WelcomePortal.getPluginId(), "welcomePages");
-		for (int i=0; i<pages.length; i++) {
-			createTab(parent, pages[i]);
-		}
-	}
-
-	private void createTab(
-		Composite parent,
-		IConfigurationElement config) {
-		WelcomePortalPage page = new WelcomePortalPage(this, config);
-		SelectableFormLabel tab = factory.createSelectableLabel(parent, page.getTitle());
-		GridData gd = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
-		tab.setBackground(tabColor);
-		tab.setForeground(factory.getBackgroundColor());
-		hhandler.registerHyperlink(tab, tabListener);
-		tab.setFont(JFaceResources.getBannerFont());
-		tab.setLayoutData(gd);
-		tab.setData(page);
-		page.setTab(tab);
-		workbook.addPage(page);
-	}
-
-	private void hightlightTab(WelcomePortalPage page) {
-		if (selectedTab != null)
-			highlightTab(selectedTab, false);
-		SelectableFormLabel tab = page.getTab();
-		highlightTab(tab, true);
-		selectedTab = tab;
-		tabContainer.redraw();
-	}
-
-	private void highlightTab(SelectableFormLabel tab, boolean selected) {
-		Color bg = tabColor;
-		Color fg = factory.getBackgroundColor();
-		tab.setForeground(selected ? bg : fg);
-		tab.setBackground(selected ? fg : bg);
-	}
-
-	public SectionDescriptor findSection(String id) {
-		if (sectionDescriptors==null) {
-			sectionDescriptors=new Hashtable();
-			IConfigurationElement [] sections = Platform.getPluginRegistry().getConfigurationElementsFor(WelcomePortal.getPluginId(), "welcomeSections");
-			for (int i=0; i<sections.length; i++) {
-				SectionDescriptor desc = new SectionDescriptor(sections[i]);
-				sectionDescriptors.put(desc.getId(), desc);
-			}
-		}
-		return (SectionDescriptor)sectionDescriptors.get(id);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java
deleted file mode 100644
index 8c60003..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/portal/WelcomeTitleArea.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Created on Jun 19, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.portal;
-
-import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.update.ui.forms.internal.FormLabel;
-import org.eclipse.welcome.internal.WelcomePortalImages;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WelcomeTitleArea extends FormLabel {
-	private Image topImage;
-	private Image bottomImage;
-
-	public WelcomeTitleArea(Composite parent, int style) {
-		super(parent, style);
-		topImage = WelcomePortalImages.get(WelcomePortalImages.IMG_FORM_BANNER);
-		bottomImage = WelcomePortalImages.get(WelcomePortalImages.IMG_FORM_UNDERLINE);
-	}
-	public Point computeSize(int wHint, int hHint, boolean changed) {
-		Point textSize = super.computeSize(wHint, hHint, changed);
-		int width = textSize.x;
-		int height = Math.max(textSize.y, topImage.getBounds().height);
-		height += bottomImage.getBounds().height;
-		return new Point(width, height);
-	}
-	protected void paint(PaintEvent e) {
-		GC gc = e.gc;
-		Rectangle bounds = getBounds();
-		gc.drawImage(topImage, bounds.x, bounds.y);
-		int y =	bounds.y + bounds.height - bottomImage.getBounds().height;
-		gc.drawImage(bottomImage, 0, y);
-		super.paint(e);
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java
deleted file mode 100644
index 26b7024..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/BrowserControlSite.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.jface.action.IStatusLineManager;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.Composite;
-
-/**
- * Needed for the OLE implementation
- */
-public class BrowserControlSite extends OleControlSite {
-
-	protected boolean beenBuilt = false;
-	protected boolean startedDownload = false;
-	// Web Browser
-	private WebBrowser browser;
-	private String presentationURL;
-	private IStatusLineManager statusLineManager;
-	private int workSoFar = 0;
-	private int prevMax = 0;
-
-	public void setStatusLineManager(IStatusLineManager manager) {
-		this.statusLineManager = manager;
-	}
-
-	void setBrowser(WebBrowser browser) {
-		this.browser = browser;
-	}
-
-	public String getPresentationURL() {
-		return presentationURL;
-	}
-
-	/**
-	 * BrowserControlSite constructor
-	 */
-	public BrowserControlSite(Composite parent, int style, String progId) {
-		super(parent, style, progId);
-
-		addEventListener(WebBrowser.DownloadBegin, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				startedDownload = true;
-				//webProgress.setSelection(0);
-				prevMax = -1;
-			}
-		});
-
-		addEventListener(WebBrowser.DownloadComplete, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				startedDownload = false;
-				//webProgress.setSelection(0);
-				if (statusLineManager != null)
-					statusLineManager.getProgressMonitor().done();
-				presentationURL = browser.getLocationURL();
-			}
-		});
-
-		addEventListener(WebBrowser.BeforeNavigate2, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				//Variant urlVar = event.arguments[1];
-				//String strUrl = urlVar.getString();
-			}
-		});
-
-		// Respond to ProgressChange events by updating the Progress bar
-		addEventListener(WebBrowser.ProgressChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				if (!startedDownload) {
-					return;
-				}
-
-				Variant progress = event.arguments[0];
-				Variant maxProgress = event.arguments[1];
-
-				if (progress == null || maxProgress == null || progress.getInt() == -1) {
-					return;
-				}
-				/*
-				if (maxProgress.getInt()!=100)
-				   webProgress.setMaximum(maxProgress.getInt());
-				*/
-				if (prevMax != maxProgress.getInt()) {
-					statusLineManager.getProgressMonitor().beginTask("", maxProgress.getInt());
-					prevMax = maxProgress.getInt();
-				}
-				//webProgress.setSelection(progress.getInt());
-				int newValue = progress.getInt();
-				int worked = newValue - workSoFar;
-				workSoFar = newValue;
-				if (statusLineManager != null)
-					statusLineManager.getProgressMonitor().worked(worked);
-			}
-		});
-
-		addEventListener(WebBrowser.StatusTextChange, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				Variant newText = event.arguments[0];
-				String msg = newText.getString();
-
-				if (msg != null) {
-					if (statusLineManager != null)
-						statusLineManager.setMessage(msg);
-				} else {
-					if (statusLineManager != null)
-						statusLineManager.setMessage("");
-				}
-			}
-		});
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java
deleted file mode 100644
index efb3c23..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/GlobalActionHandler.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IWorkbenchActionConstants;
-
-/**
- *
- */
-public class GlobalActionHandler {
-	private boolean active = false;
-	private Combo combo;
-	private ControlListener controlListener;
-
-	private class ControlListener implements Listener {
-		public void handleEvent(Event event) {
-			switch (event.type) {
-				case SWT.Activate :
-					active = true;
-					updateActionsEnableState();
-					break;
-				case SWT.Deactivate :
-					active = false;
-					updateActionsEnableState();
-					break;
-				default :
-					break;
-			}
-		}
-	}
-
-	private class GlobalAction extends Action {
-		private String id;
-
-		public GlobalAction(String id) {
-			this.id = id;
-		}
-
-		public void run() {
-			doGlobalAction(id);
-		}
-	}
-
-	private GlobalAction cutAction;
-	private GlobalAction copyAction;
-	private GlobalAction pasteAction;
-	private GlobalAction deleteAction;
-	private GlobalAction selectAllAction;
-	private GlobalAction undoAction;
-
-	public GlobalActionHandler(IActionBars actionBar, Combo combo) {
-		this.combo = combo;
-		makeActions();
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.CUT,
-			cutAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.COPY,
-			copyAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.PASTE,
-			pasteAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.DELETE,
-			deleteAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.SELECT_ALL,
-			selectAllAction);
-		actionBar.setGlobalActionHandler(
-			IWorkbenchActionConstants.UNDO,
-			undoAction);
-		controlListener = new ControlListener();
-		combo.addListener(SWT.Activate, controlListener);
-		combo.addListener(SWT.Deactivate, controlListener);
-	}
-
-	public void dispose() {
-		if (!combo.isDisposed()) {
-			combo.removeListener(SWT.Activate, controlListener);
-			combo.removeListener(SWT.Deactivate, controlListener);
-		}
-	}
-
-	private void makeActions() {
-		cutAction = new GlobalAction(IWorkbenchActionConstants.CUT);
-		copyAction = new GlobalAction(IWorkbenchActionConstants.COPY);
-		pasteAction = new GlobalAction(IWorkbenchActionConstants.PASTE);
-		deleteAction = new GlobalAction(IWorkbenchActionConstants.DELETE);
-		selectAllAction =
-			new GlobalAction(IWorkbenchActionConstants.SELECT_ALL);
-		undoAction = new GlobalAction(IWorkbenchActionConstants.UNDO);
-	}
-
-	private void updateActionsEnableState() {
-		if (!active) {
-			cutAction.setEnabled(false);
-			copyAction.setEnabled(false);
-			pasteAction.setEnabled(false);
-			deleteAction.setEnabled(false);
-			selectAllAction.setEnabled(false);
-			undoAction.setEnabled(false);
-		} else {
-			cutAction.setEnabled(true);
-			copyAction.setEnabled(true);
-			pasteAction.setEnabled(true);
-			deleteAction.setEnabled(true);
-			selectAllAction.setEnabled(true);
-			undoAction.setEnabled(true);
-		}
-	}
-
-	private void doGlobalAction(String id) {
-		if (id.equals(IWorkbenchActionConstants.CUT))
-			combo.cut();
-		else if (id.equals(IWorkbenchActionConstants.COPY))
-			combo.copy();
-		else if (id.equals(IWorkbenchActionConstants.PASTE))
-			combo.paste();
-		else if (id.equals(IWorkbenchActionConstants.DELETE))
-			doDelete();
-		else if (id.equals(IWorkbenchActionConstants.SELECT_ALL))
-			doSelectAll();
-	}
-
-	private void doDelete() {
-		String text = combo.getText();
-		Point selection = combo.getSelection();
-		if (selection.x == selection.y)
-			return;
-		String left = text.substring(0, selection.x);
-		String right = text.substring(selection.y + 1);
-		combo.setText(left + right);
-	}
-
-	private void doSelectAll() {
-		String text = combo.getText();
-		Point newSelection = new Point(0, text.length());
-		combo.setSelection(newSelection);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java
deleted file mode 100644
index 7a914b4..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IEmbeddedWebBrowser.java
+++ /dev/null
@@ -1,16 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.webbrowser;
-
-public interface IEmbeddedWebBrowser {
-	public void openTo(String url);
-	public void setListener(IWebBrowserListener listener);
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java
deleted file mode 100644
index 2d34243..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/IWebBrowserListener.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * Created on Jun 18, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.webbrowser;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public interface IWebBrowserListener {
-	void stateChanged();
-
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java
deleted file mode 100644
index 18ec8cf..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowser.java
+++ /dev/null
@@ -1,467 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.webbrowser;
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * ActiveX based web browser control.
- */
-public class WebBrowser implements OleListener {
-	// Generated from typelib filename: shdocvw.dll
-
-	// Constants for WebBrowser CommandStateChange
-
-	public static final short CSC_UPDATECOMMANDS = -1;
-	public static final short CSC_NAVIGATEFORWARD = 1;
-	public static final short CSC_NAVIGATEBACK = 2;
-
-	// Web Browser Control Events 
-	public static final int BeforeNavigate = 100;
-	// Fired when a new hyperlink is being navigated to.
-	public static final int NavigateComplete = 101;
-	// Fired when the document being navigated to becomes visible and enters the navigation stack.
-	public static final int StatusTextChange = 102;
-	// Statusbar text changed.
-	public static final int ProgressChange = 108;
-	// Fired when download progress is updated.
-	public static final int DownloadComplete = 104;
-	// Download of page complete.
-	public static final int CommandStateChange = 105;
-	// The enabled state of a command changed
-	public static final int DownloadBegin = 106;
-	// Download of a page started.
-	public static final int NewWindow = 107;
-	// Fired when a new window should be created.
-	public static final int TitleChange = 113;
-	// Document title changed.
-	public static final int FrameBeforeNavigate = 200;
-	// Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNavigateComplete = 201;
-	// Fired when a new hyperlink is being navigated to in a frame.
-	public static final int FrameNewWindow = 204;
-	// Fired when a new window should be created.
-	public static final int Quit = 103;
-	// Fired when application is quiting.
-	public static final int WindowMove = 109;
-	// Fired when window has been moved.
-	public static final int WindowResize = 110;
-	// Fired when window has been sized.
-	public static final int WindowActivate = 111;
-	// Fired when window has been activated.
-	public static final int PropertyChange = 112;
-	// Fired when the PutProperty method has been called.
-	public static final int BeforeNavigate2 = 250;
-	// Fired when a new hyperlink is being navigated to.
-	public static final int NewWindow2 = 251;
-	// Fired when a new window should be created.
-	public static final int DocumentComplete = 259;
-	// Fired when the document being navigated to reaches ReadyState_Complete.
-
-	// Web Browser properties
-	public static final int DISPID_READYSTATE = -525;
-
-	// Web Browser state
-	public static final int READYSTATE_UNINITIALIZED = 0;
-	public static final int READYSTATE_LOADING = 1;
-	public static final int READYSTATE_LOADED = 2;
-	public static final int READYSTATE_INTERACTIVE = 3;
-	public static final int READYSTATE_COMPLETE = 4;
-
-	// Keep track of the whether it is possible to navigate in the forward and backward directions
-	private boolean backwardEnabled;
-	private boolean forwardEnabled;
-
-	// The automation object and Control associated with the main OLE control
-	private OleAutomation oleObject;
-	private BrowserControlSite controlSite;
-
-	// The OLE frame (there should only be one)
-	private OleFrame controlFrame;
-
-	//private NestedPrintDelegate aPrintDelegate = null;
-
-	/**
-	 */
-	public WebBrowser(Composite parent) {
-
-		// Create the OLE frame. 
-		controlFrame = createOleFrame(parent);
-
-		// Creates the IE5 OLE Control
-		// The constructor also registers all the necessary OLE listeners.
-		// for now, only catch the execption if creating and activating the 
-		// control fails. No checking if the correct version of the OLE control 
-		// is installed.
-		try {
-			controlSite =
-				new BrowserControlSite(
-					controlFrame,
-					SWT.NONE,
-					"Shell.Explorer");
-			controlSite.setBrowser(this);
-			oleObject = new OleAutomation(controlSite);
-
-			backwardEnabled = false;
-			forwardEnabled = false;
-
-			// Listen for changes to the Command States
-			controlSite.addEventListener(CommandStateChange, this);
-
-			// initialize control
-			controlSite.doVerb(OLE.OLEIVERB_SHOW);
-
-			// create print Delegate (has to be done early, here!).
-			//aPrintDelegate = new NestedPrintDelegate(this, oleObject, controlSite);
-
-		} catch (Exception e) {
-			String id = "org.eclipse.update.ui.win32";
-			IStatus status =
-				new Status(IStatus.ERROR, id, IStatus.OK, e.getMessage(), e);
-			Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-		}
-	}
-	/**
-	 */
-	public int back() {
-
-		if (!backwardEnabled)
-			return OLE.S_FALSE;
-		forwardEnabled = true;
-
-		// dispid=100, type=METHOD, name="GoBack"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 100;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoBack" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public int copy() {
-		int result = controlSite.queryStatus(OLE.OLECMDID_COPY);
-		if ((result & OLE.OLECMDF_ENABLED) == OLE.OLECMDF_ENABLED) {
-			result =
-				controlSite.exec(
-					OLE.OLECMDID_COPY,
-					OLE.OLECMDEXECOPT_DODEFAULT,
-					null,
-					null);
-		}
-		return result;
-	}
-	protected OleFrame createOleFrame(Composite parent) {
-		if (controlFrame == null) {
-			controlFrame = new OleFrame(parent, SWT.NONE);
-			controlFrame.setLayoutData(
-				new GridData(
-					GridData.GRAB_HORIZONTAL
-						| GridData.GRAB_VERTICAL
-						| GridData.HORIZONTAL_ALIGN_FILL
-						| GridData.VERTICAL_ALIGN_FILL));
-		}
-		return controlFrame;
-
-	}
-	/**
-	 * clean up
-	 */
-	public void dispose() {
-		//** clean up
-		if (oleObject != null)
-			oleObject.dispose();
-		oleObject = null;
-
-		if (controlSite != null)
-			controlSite.dispose();
-		controlSite = null;
-
-		if (controlFrame != null)
-			controlFrame.dispose();
-		controlFrame = null;
-
-	}
-	/**
-	 */
-	public int forward() {
-		if (!forwardEnabled)
-			return OLE.S_FALSE;
-		backwardEnabled = true;
-		// dispid=101, type=METHOD, name="GoForward"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 101;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoForward" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	public Control getControl() {
-		return controlFrame;
-	}
-	/**
-	 */
-	public String getLocationName() {
-		// dispid=210, type=PROPGET, name="LocationName"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 210;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid =
-			oleObject.getIDsOfNames(new String[] { "LocationName" });
-		int dispIdMember = rgdispid[0];
-		Variant pVarResult = oleObject.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return null;
-		return pVarResult.getString();
-	}
-	/**
-	 */
-	public String getLocationURL() {
-		// dispid=211, type=PROPGET, name="LocationURL"
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 211;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid =
-			oleObject.getIDsOfNames(new String[] { "LocationURL" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return null;
-		return pVarResult.getString();
-	}
-	protected OleFrame getOleFrame() {
-		return controlFrame;
-
-	}
-
-	public BrowserControlSite getControlSite() {
-		return controlSite;
-	}
-	/**
-	 */
-	public int getReadyState() {
-		// dispid=4294966771, type=PROPGET, name="ReadyState"
-		// READYSTATE_UNINITIALIZED = 0;
-		// READYSTATE_LOADING = 1;
-		// READYSTATE_LOADED = 2;
-		// READYSTATE_INTERACTIVE = 3;
-		// READYSTATE_COMPLETE = 4;
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = -525;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "ReadyState" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.getProperty(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return -1;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public void handleEvent(OleEvent event) {
-		switch (event.type) {
-			case (CommandStateChange) :
-				int command = 0;
-				boolean enabled = false;
-
-				Variant varResult = event.arguments[0];
-				if (varResult != null && varResult.getType() != OLE.VT_EMPTY) {
-					command = varResult.getInt();
-				}
-
-				varResult = event.arguments[1];
-				if (varResult != null && varResult.getType() != OLE.VT_EMPTY) {
-					enabled = varResult.getBoolean();
-				}
-
-				if (command == CSC_NAVIGATEBACK)
-					backwardEnabled = enabled;
-				if (command == CSC_NAVIGATEFORWARD)
-					forwardEnabled = enabled;
-
-				return;
-
-			case (DocumentComplete) :
-				varResult = event.arguments[0];
-				return;
-		}
-		//throw new OleError(OLE.ERROR_NOT_IMPLEMENTED);
-	}
-	/**
-	 */
-	public int home() {
-		// dispid=102, type=METHOD, name="GoHome"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 102;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoHome" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public int navigate(String url) {
-		return navigate(oleObject, url);
-	}
-	/**
-	 */
-	protected int navigate(OleAutomation aOleAutomation, String url) {
-		//if (Logger.DEBUG)
-		//Logger.logDebugMessage("WebBrowser", "navigate to: " + url);
-		// dispid=104, type=METHOD, name="Navigate"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 104;
-
-		// Alternatively, you can look up the DISPID dynamically
-		// Here we are looking up the id of the argument as well
-		int[] rgdispid =
-			aOleAutomation.getIDsOfNames(new String[] { "Navigate", "URL" });
-		int dispIdMember = rgdispid[0];
-
-		Variant[] rgvarg = new Variant[1];
-		rgvarg[0] = new Variant(url);
-		int[] rgdispidNamedArgs = new int[1];
-		rgdispidNamedArgs[0] = rgdispid[1]; // identifier of argument
-		Variant pVarResult =
-			aOleAutomation.invoke(dispIdMember, rgvarg, rgdispidNamedArgs);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-
-	}
-	/**
-	 */
-	public int print() {
-		return print(controlSite, true);
-	}
-	/**
-	 */
-	protected int print(BrowserControlSite aControlSite, boolean promptuser) {
-
-		int result = aControlSite.queryStatus(OLE.OLECMDID_PRINT);
-
-		if ((result & OLE.OLECMDF_ENABLED) == OLE.OLECMDF_ENABLED) {
-			if (promptuser)
-				result =
-					aControlSite.exec(
-						OLE.OLECMDID_PRINT,
-						OLE.OLECMDEXECOPT_PROMPTUSER,
-						null,
-						null);
-			else
-				result =
-					aControlSite.exec(
-						OLE.OLECMDID_PRINT,
-						OLE.OLECMDEXECOPT_DONTPROMPTUSER,
-						null,
-						null);
-		}
-
-		//if (Logger.DEBUG)
-		//Logger.logDebugMessage("WebBrowser", "exec returns: " + Integer.toString(result));
-		return result;
-	}
-
-	/**
-	 * Refresh the currently viewed page.
-	 */
-	public void refresh() {
-
-		// dispid= 4294966746, type=METHOD, name="Refresh"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember =  4294966746;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "Refresh" });
-		int dispIdMember = rgdispid[0];
-
-		oleObject.invokeNoReply(dispIdMember);
-	}
-	/**
-	 */
-	public int search() {
-		// dispid=103, type=METHOD, name="GoSearch"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 103;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "GoSearch" });
-		int dispIdMember = rgdispid[0];
-
-		Variant pVarResult = oleObject.invoke(dispIdMember);
-		if (pVarResult == null || pVarResult.getType() == OLE.VT_EMPTY)
-			return 0;
-		return pVarResult.getInt();
-	}
-	/**
-	 */
-	public void stop() {
-		// dispid=106, type=METHOD, name="Stop"
-
-		// You can hard code the DISPID if you know it before hand - this is of course the fastest way
-		//int dispIdMember = 106;
-
-		// Alternatively, you can look up the DISPID dynamically
-		int[] rgdispid = oleObject.getIDsOfNames(new String[] { "Stop" });
-		int dispIdMember = rgdispid[0];
-
-		//Variant pVarResult = oleObject.invoke(dispIdMember);
-		oleObject.invoke(dispIdMember);
-	}
-	/**
-	 * Gets the forwardEnabled
-	 * @return Returns a boolean
-	 */
-	public boolean isForwardEnabled() {
-		return forwardEnabled;
-	}
-
-	/**
-	 * Gets the backwardEnabled
-	 * @return Returns a boolean
-	 */
-	public boolean isBackwardEnabled() {
-		return backwardEnabled;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java
deleted file mode 100644
index 1a7402c..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditor.java
+++ /dev/null
@@ -1,297 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.core.resources.IMarker;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.*;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.ole.win32.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IActionBars;
-import org.eclipse.ui.help.WorkbenchHelp;
-import org.eclipse.ui.part.EditorPart;
-import org.eclipse.welcome.internal.*;
-
-public class WebBrowserEditor extends EditorPart implements IEmbeddedWebBrowser {
-	// NL
-	private static final String KEY_NOT_AVAILABLE =
-		"WebBrowserView.notAvailable";
-	private static final String KEY_ADDRESS = "WebBrowserView.address";
-	private static final String KEY_STOP = "WebBrowserView.stop";
-	private static final String KEY_GO = "WebBrowserView.go";
-	private static final String KEY_REFRESH = "WebBrowserView.refresh";
-	private static final String KEY_BACKWARD = "WebBrowserView.backward";
-	private static final String KEY_FORWARD = "WebBrowserView.forward";
-
-	private int ADDRESS_SIZE = 10;
-	private WebBrowser browser;
-	private Control control;
-	private Combo addressCombo;
-	private Object input;
-	private ToolBarManager toolBarManager;
-	private Action refreshAction;
-	private Action stopAction;
-	private Action goAction;
-	private GlobalActionHandler globalActionHandler;
-	private IWebBrowserListener listener;
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSave(org.eclipse.core.runtime.IProgressMonitor)
-	 */
-	public void doSave(IProgressMonitor monitor) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#doSaveAs()
-	 */
-	public void doSaveAs() {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#gotoMarker(org.eclipse.core.resources.IMarker)
-	 */
-	public void gotoMarker(IMarker marker) {
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IEditorPart#init(org.eclipse.ui.IEditorSite, org.eclipse.ui.IEditorInput)
-	 */
-	public void init(IEditorSite site, IEditorInput input)
-		throws PartInitException {
-		if (!(input instanceof WebBrowserEditorInput))
-			throw new PartInitException("Invalid Input: Must be WelcomeEditorInput");
-		setSite(site);
-		setInput(input);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isDirty()
-	 */
-	public boolean isDirty() {
-		return false;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.ISaveablePart#isSaveAsAllowed()
-	 */
-	public boolean isSaveAsAllowed() {
-		return false;
-	}
-
-	public WebBrowserEditor() {
-	}
-
-	/**
-	 * @see IFormPage#createControl(Composite)
-	 */
-	public void createPartControl(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		control = container;
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		layout.verticalSpacing = 0;
-		container.setLayout(layout);
-
-		Composite navContainer = new Composite(container, SWT.NONE);
-		layout = new GridLayout();
-		layout.numColumns = 3;
-		layout.marginHeight = 1;
-		navContainer.setLayout(layout);
-		createNavBar(navContainer);
-		navContainer.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		final WebBrowser winBrowser = new WebBrowser(container);
-		browser = winBrowser;
-
-		Control c = browser.getControl();
-		c.setLayoutData(new GridData(GridData.FILL_BOTH));
-		final BrowserControlSite site = winBrowser.getControlSite();
-		IStatusLineManager smng =
-			getEditorSite().getActionBars().getStatusLineManager();
-		site.setStatusLineManager(smng);
-
-		site.addEventListener(WebBrowser.DownloadComplete, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				String url = winBrowser.getLocationURL();
-				if (url != null) {
-					addressCombo.setText(url);
-					downloadComplete(url);
-				}
-			}
-		});
-		site.addEventListener(WebBrowser.DownloadBegin, new OleListener() {
-			public void handleEvent(OleEvent event) {
-				stopAction.setEnabled(true);
-				refreshAction.setEnabled(false);
-			}
-		});
-		WorkbenchHelp.setHelp(container, "org.eclipse.update.ui.WebBrowserView");
-		WebBrowserEditorInput input = (WebBrowserEditorInput)getEditorInput();
-		openTo(input.getURL());
-	}
-
-	public void openTo(final String url) {
-		addressCombo.setText(url);
-		control.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				navigate(url);
-			}
-		});
-	}
-
-	private void downloadComplete(String url) {
-		stopAction.setEnabled(false);
-		refreshAction.setEnabled(true);
-		if (listener!=null)
-			listener.stateChanged();
-	}
-	
-	public void setListener(IWebBrowserListener listener) {
-		this.listener = listener;
-	}
-
-	private void createNavBar(Composite parent) {
-		Label addressLabel = new Label(parent, SWT.NONE);
-		addressLabel.setText(WelcomePortal.getString(KEY_ADDRESS));
-
-		addressCombo = new Combo(parent, SWT.DROP_DOWN | SWT.BORDER);
-		addressCombo.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				String text = addressCombo.getText();
-				goAction.setEnabled(text.length() > 0);
-			}
-		});
-		addressCombo.addSelectionListener(new SelectionListener() {
-			public void widgetSelected(SelectionEvent e) {
-				String text =
-					addressCombo.getItem(addressCombo.getSelectionIndex());
-				if (text.length() > 0)
-					navigate(text);
-			}
-			public void widgetDefaultSelected(SelectionEvent e) {
-				navigate(addressCombo.getText());
-			}
-		});
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		addressCombo.setLayoutData(gd);
-		ToolBar toolbar = new ToolBar(parent, SWT.FLAT | SWT.HORIZONTAL);
-		toolBarManager = new ToolBarManager(toolbar);
-		makeActions();
-		IActionBars bars = getEditorSite().getActionBars();
-		globalActionHandler = new GlobalActionHandler(bars, addressCombo);
-	}
-
-	private void navigate(String url) {
-		browser.navigate(url);
-		String[] items = addressCombo.getItems();
-		int loc = -1;
-		String normURL = getNormalizedURL(url);
-		for (int i = 0; i < items.length; i++) {
-			String normItem = getNormalizedURL(items[i]);
-			if (normURL.equals(normItem)) {
-				// match 
-				loc = i;
-				break;
-			}
-		}
-		if (loc != -1) {
-			addressCombo.remove(loc);
-		}
-		addressCombo.add(url, 0);
-		if (addressCombo.getItemCount() > ADDRESS_SIZE) {
-			addressCombo.remove(addressCombo.getItemCount() - 1);
-		}
-		addressCombo.getParent().layout(true);
-	}
-	
-	void back() {
-		browser.back();
-	}
-	void forward() {
-		browser.forward();
-	}
-	boolean isBackwardEnabled() {
-		return browser.isBackwardEnabled();
-	}
-	boolean isForwardEnabled() {
-		return browser.isForwardEnabled();
-	}
-
-	private void makeActions() {
-		goAction = new Action() {
-			public void run() {
-				navigate(addressCombo.getText());
-			}
-		};
-		goAction.setEnabled(false);
-		goAction.setToolTipText(WelcomePortal.getString(KEY_GO));
-		goAction.setImageDescriptor(WelcomePortalImages.DESC_GO_NAV);
-		goAction.setDisabledImageDescriptor(WelcomePortalImages.DESC_GO_NAV_D);
-		goAction.setHoverImageDescriptor(WelcomePortalImages.DESC_GO_NAV_H);
-
-		stopAction = new Action() {
-			public void run() {
-				browser.stop();
-			}
-		};
-		stopAction.setToolTipText(WelcomePortal.getString(KEY_STOP));
-		stopAction.setImageDescriptor(WelcomePortalImages.DESC_STOP_NAV);
-		stopAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_STOP_NAV_D);
-		stopAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_STOP_NAV_H);
-		stopAction.setEnabled(false);
-
-		refreshAction = new Action() {
-			public void run() {
-				browser.refresh();
-			}
-		};
-		refreshAction.setToolTipText(
-			WelcomePortal.getString(KEY_REFRESH));
-		refreshAction.setImageDescriptor(WelcomePortalImages.DESC_REFRESH_NAV);
-		refreshAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_REFRESH_NAV_D);
-		refreshAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_REFRESH_NAV_H);
-		refreshAction.setEnabled(false);
-
-		toolBarManager.add(goAction);
-		toolBarManager.add(new Separator());
-		toolBarManager.add(stopAction);
-		toolBarManager.add(refreshAction);
-		toolBarManager.update(true);
-	}
-
-	private String getNormalizedURL(String url) {
-		url = url.toLowerCase();
-		if (url.indexOf("://") == -1) {
-			url = "http://" + url;
-		}
-		return url;
-	}
-
-	public void dispose() {
-		if (browser != null)
-			browser.dispose();
-		globalActionHandler.dispose();
-		super.dispose();
-	}
-
-	public void setFocus() {
-		if (control != null)
-			control.setFocus();
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java
deleted file mode 100644
index 54b9039..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorContributor.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Created on Jun 18, 2003
- *
- * To change the template for this generated file go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.jface.action.*;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.part.EditorActionBarContributor;
-import org.eclipse.welcome.internal.*;
-
-/**
- * @author dejan
- *
- * To change the template for this generated type comment go to
- * Window&gt;Preferences&gt;Java&gt;Code Generation&gt;Code and Comments
- */
-public class WebBrowserEditorContributor
-	extends EditorActionBarContributor
-	implements IWebBrowserListener {
-	private static final String KEY_NOT_AVAILABLE =
-		"WebBrowserView.notAvailable";
-	private static final String KEY_HOME = "WebBrowserView.home";
-	private static final String KEY_BACKWARD = "WebBrowserView.backward";
-	private static final String KEY_FORWARD = "WebBrowserView.forward";
-
-	private Action homeAction;
-	private Action backwardAction;
-	private Action forwardAction;
-	private WebBrowserEditor editor;
-	
-	public WebBrowserEditorContributor() {
-		makeActions();
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.welcome.internal.IWebBrowserListener#stateChanged()
-	 */
-	public void stateChanged() {
-		updateActions();
-	}
-
-	private void makeActions() {
-		homeAction = new Action() {
-			public void run() {
-				WebBrowserEditorInput input = (WebBrowserEditorInput)editor.getEditorInput();
-				editor.openTo(input.getURL());
-			}
-		};
-		homeAction.setEnabled(true);
-		homeAction.setToolTipText(WelcomePortal.getString(KEY_HOME));
-		homeAction.setImageDescriptor(
-			WelcomePortalImages.DESC_HOME_NAV);
-		homeAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_HOME_NAV_D);
-		homeAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_HOME_NAV_H);
-
-
-		backwardAction = new Action() {
-			public void run() {
-				editor.back();
-			}
-		};
-		backwardAction.setEnabled(false);
-		backwardAction.setToolTipText(WelcomePortal.getString(KEY_BACKWARD));
-		backwardAction.setImageDescriptor(
-			WelcomePortalImages.DESC_BACKWARD_NAV);
-		backwardAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_BACKWARD_NAV_D);
-		backwardAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_BACKWARD_NAV_H);
-
-		forwardAction = new Action() {
-			public void run() {
-				editor.forward();
-			}
-		};
-		forwardAction.setToolTipText(WelcomePortal.getString(KEY_FORWARD));
-		forwardAction.setImageDescriptor(WelcomePortalImages.DESC_FORWARD_NAV);
-		forwardAction.setDisabledImageDescriptor(
-			WelcomePortalImages.DESC_FORWARD_NAV_D);
-		forwardAction.setHoverImageDescriptor(
-			WelcomePortalImages.DESC_FORWARD_NAV_H);
-		forwardAction.setEnabled(false);
-	}
-
-	public void contributeToToolBar(IToolBarManager toolBarManager) {
-		toolBarManager.add(new Separator());
-		toolBarManager.add(homeAction);
-		toolBarManager.add(backwardAction);
-		toolBarManager.add(forwardAction);
-	}
-	public void setActiveEditor(IEditorPart targetEditor) {
-		if (this.editor != null)
-			this.editor.setListener(null);
-		editor = (WebBrowserEditor) targetEditor;
-		if (editor != null) {
-			editor.setListener(this);
-			updateActions();
-		}
-	}
-	private void updateActions() {
-		backwardAction.setEnabled(editor.isBackwardEnabled());
-		forwardAction.setEnabled(editor.isForwardEnabled());
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java
deleted file mode 100644
index a89e087..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInput.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 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 Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.jface.resource.ImageDescriptor;
-import org.eclipse.ui.*;
-/**
- * A simple editor input for the welcome editor
- */
-public class WebBrowserEditorInput implements IEditorInput {
-	private final static String FACTORY_ID = "org.eclipse.welcome.internal.webbrowser.WebBrowserEditorInputFactory"; //$NON-NLS-1$
-	private String url;
-	private String name;
-	/**
-	 * WelcomeEditorInput constructor comment.
-	 */
-	public WebBrowserEditorInput(String name, String url) {
-		this.name = name;
-		this.url = url;
-	}
-	public boolean exists() {
-		return false;
-	}
-	public Object getAdapter(Class adapter) {
-		return null;
-	}
-	public ImageDescriptor getImageDescriptor() {
-		return null;
-	}
-	public String getName() {
-		return name;
-	}
-	public String getURL() {
-		return url;
-	}
-	public boolean equals(Object obj) {
-		if (obj==null) return false;
-		if (obj == this) return true;
-		if (obj instanceof WebBrowserEditorInput) {
-			WebBrowserEditorInput wobj = (WebBrowserEditorInput)obj;
-			return wobj.getURL().equals(getURL());
-		}
-		return false;
-	}
-	public IPersistableElement getPersistable() {
-		return new IPersistableElement() {
-			public String getFactoryId() {
-				return FACTORY_ID;
-			}
-			public void saveState(IMemento memento) {
-				memento.putString("name", name);
-				memento.putString("url", url);
-			}
-		};
-	}
-	public String getToolTipText() {
-		return name;
-	}
-}
diff --git a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java b/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java
deleted file mode 100644
index a48055f..0000000
--- a/update/org.eclipse.update.ui.win32/src/org/eclipse/welcome/internal/webbrowser/WebBrowserEditorInputFactory.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.eclipse.welcome.internal.webbrowser;
-
-import org.eclipse.core.runtime.IAdaptable;
-import org.eclipse.ui.*;
-import org.eclipse.ui.IElementFactory;
-
-/**
- */
-public class WebBrowserEditorInputFactory implements IElementFactory {
-	/**
-	 */
-	public WebBrowserEditorInputFactory() {
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.ui.IElementFactory#createElement(org.eclipse.ui.IMemento)
-	 */
-	public IAdaptable createElement(IMemento memento) {
-		String name = memento.getString("name");
-		String url = memento.getString("url");
-		return new WebBrowserEditorInput(name, url);
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/.classpath b/update/org.eclipse.update.ui/.classpath
deleted file mode 100644
index 4848249..0000000
--- a/update/org.eclipse.update.ui/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<classpath>

-	<classpathentry kind="src" path="src"/>

-	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>

-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

-	<classpathentry kind="output" path="bin"/>

-</classpath>

diff --git a/update/org.eclipse.update.ui/.cvsignore b/update/org.eclipse.update.ui/.cvsignore
deleted file mode 100644
index ba077a4..0000000
--- a/update/org.eclipse.update.ui/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
diff --git a/update/org.eclipse.update.ui/.project b/update/org.eclipse.update.ui/.project
deleted file mode 100644
index 391169b..0000000
--- a/update/org.eclipse.update.ui/.project
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<projectDescription>

-	<name>org.eclipse.update.ui</name>

-	<comment></comment>

-	<projects>

-		<project>org.eclipse.core.boot</project>

-		<project>org.eclipse.core.runtime</project>

-		<project>org.eclipse.help.base</project>

-		<project>org.eclipse.ui</project>

-		<project>org.eclipse.ui.forms</project>

-		<project>org.eclipse.update.configurator</project>

-		<project>org.eclipse.update.core</project>

-		<project>org.eclipse.update.core.linux</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/update/org.eclipse.update.ui/Graphics_update.html b/update/org.eclipse.update.ui/Graphics_update.html
deleted file mode 100644
index fdae1a3..0000000
--- a/update/org.eclipse.update.ui/Graphics_update.html
+++ /dev/null
@@ -1,955 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-<!-- saved from url=(0110)http://design.torolab.ibm.com/aim/WSWB-eclipse/1020_PDE/implementation_icons/org.eclipse.pde/Graphics_pde.html -->
-<HTML><HEAD><TITLE>graphics</TITLE>
-<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
-<META content="Greg Adams" name=Author>
-<META content="Microsoft FrontPage 4.0" name=GENERATOR></HEAD>
-<BODY bgColor=white>
-<H2>org.eclipse.update.ui - Graphics Summary</H2><FONT size=-1><STRONG>Competency 
-lead: </STRONG>Vlad Klicnik / TOL <BR><STRONG>Technical lead: </STRONG>Dejan 
-Glozic / TOL <BR><STRONG>UCD designer: </STRONG>Julian Jones / TOL 
-<BR><STRONG>UI designer: </STRONG>Andrée Proulx / TOL <BR><STRONG>ID writer: 
-</STRONG>-</FONT> 
-<HR width="100%" SIZE=1>
-<B><FONT size=-1>History:</FONT></B> 
-<p><font size="-1">April 19, 2002 : Template Submission</font></p>
-<HR width="100%" SIZE=1>
-<!--- Start Here --->
-<TABLE cellSpacing=0 cellPadding=3 width="100%" border=0 height="3147">
-  
-  <TR bgColor=#bfbf7f>
-    <TD colSpan=7><B><FONT size=+2>View</FONT></B></TD></TR>
-  <TR bgColor=#dfdf9f>
-    <TD>&nbsp;</TD>
-    <TD><B><FONT size=-1>Item</FONT></B></TD>
-    <TD><B><FONT size=-1>File Name&nbsp; (.gif)</FONT></B></TD>
-    <TD><B><FONT size=-1>Description/Hoover Help</FONT></B></TD>
-    <TD>
-      <CENTER><B><FONT size=-1>Old</FONT></B> </CENTER></TD>
-    <TD>
-      <CENTER><B><FONT size=-1>New Full</FONT></B> </CENTER></TD>
-    <TD><B><FONT size=-1>Status</FONT></B></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>1</TD>
-    <TD>Configurations</TD>
-    <TD><FONT size=-1>configs</FONT></TD>
-    <TD><FONT size=-1> shows the configurations of the Eclipse-based application</FONT></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/view16/configs.gif" width=16 border=0></TD>
-    <TD><IMG height=16 alt="" 
-      src="icons/full/cview16/configs.gif" width=16 border=0>&nbsp;<IMG height=16 
-      alt="" src="icons/full/eview16/configs.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>2</TD>
-    <TD>Updates</TD>
-    <TD><FONT size=-1>updates</FONT></TD>
-    <TD><FONT size=-1>shows sites an Eclipse app can be updated from</FONT></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/view16/updates.gif" width=16 border=0></TD>
-    <TD><IMG height=16 alt="" 
-      src="icons/full/cview16/updates.gif" width=16 border=0>&nbsp;<IMG height=16 
-      alt="" src="icons/full/eview16/updates.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>3</TD>
-    <TD>Preview</TD>
-    <TD><font size="-1">preview</font></TD>
-    <TD><font size="-1">shows details of the selected object</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/view16/preview.gif" width=16 border=0></TD>
-    <TD><IMG height=16 alt="" 
-      src="icons/full/cview16/preview.gif" width=16 border=0>&nbsp;<IMG height=16 
-      alt="" src="icons/full/eview16/preview.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>4</TD>
-    <TD>Web Browser</TD>
-    <TD><font size="-1">browser</font></TD>
-    <TD><font size="-1">a fully-functioning Web browser (hosts IE5 - Windows only)</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/view16/browser.gif" width=16 border=0></TD>
-    <TD><IMG height=16 alt="" 
-      src="icons/full/cview16/browser.gif" width=16 border=0>&nbsp;<IMG height=16 
-      alt="" src="icons/full/eview16/browser.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-   <TR bgColor=#ffffff>
-    <TD>5</TD>
-    <TD>Update Perspective</TD>
-    <TD><font size="-1">update_pers</font></TD>
-    <TD><font size="-1">Represents Install/Update
-      perspective in the UI</font></TD>
-    <TD></TD>
-    <TD><IMG height=16 alt="" 
-      src="icons/full/cview16/update_pers.gif" width=16 border=0>&nbsp;<IMG height=16 
-      alt="" src="icons/full/eview16/update_pers.gif" width=16 
-border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD>
-  </TR>
-  
-  <TR bgColor=#bfbf7f>
-    <TD colSpan=7><B><FONT size=+2>Toolbar Wizard</FONT></B></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>1</TD>
-    <TD> </TD>
-    <TD><FONT size=-1>&nbsp;</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/config_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/config_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/config_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	
-  <TR bgColor=#dfdf9f>
-    <TD>2</TD>
-    <TD> </TD>
-    <TD><FONT size=-1></FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/install_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/install_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/install_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  
-  <TR bgColor=#ffffff>
-    <TD>3</TD>
-    <TD> </TD>
-    <TD><FONT size=-1>&nbsp;</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/new_bookmark_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/new_bookmark_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/new_bookmark_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	
-  <TR bgColor=#dfdf9f>
-    <TD>4</TD>
-    <TD> </TD>
-    <TD><FONT size=-1>&nbsp;</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/new_folder_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/new_folder_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/new_folder_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>5</TD>
-    <TD> </TD>
-    <TD><FONT size=-1>&nbsp;</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/new_search_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/new_search_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/new_search_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	
-  <TR bgColor=#dfdf9f>
-    <TD>6</TD>
-    <TD> </TD>
-    <TD><FONT size=-1>&nbsp;</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/uninstall_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/uninstall_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/uninstall_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	<TR bgColor=#ffffff>
-    <TD>7</TD>
-    <TD> </TD>
-    <TD><FONT size=-1>&nbsp;</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">    description</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;tool tip&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/ctool16/update_wiz.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/etool16/update_wiz.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dtool16/update_wiz.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  
-  
-  <TR bgColor=#bfbf7f>
-    <TD colSpan=7><B><FONT size=+2>Local Toolbar</FONT></B></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>1</TD>
-    <TD>Go Backward</TD>
-    <TD><FONT size=-1>&nbsp;backward_nav</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">A standard browser 'backward' button</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Go Backward&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/backward_nav.gif" width=16 border=0> <IMG 
-      height=16 alt="" 
-      src="../old.icons/full/elcl16/backward_nav.gif" 
-      width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/dlcl16/backward_nav.gif" 
-      width=16 border=0></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/backward_nav.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/elcl16/backward_nav.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dlcl16/backward_nav.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	
-  <TR bgColor=#dfdf9f>
-    <TD>2</TD>
-    <TD>Go Forward</TD>
-    <TD><FONT size=-1>&nbsp;forward_nav</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">A standard browser 'forward' button</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Go Forward&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/forward_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/elcl16/forward_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/dlcl16/forward_nav.gif" width=16 border=0></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/forward_nav.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/elcl16/forward_nav.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dlcl16/forward_nav.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>3</TD>
-    <TD>Go</TD>
-    <TD><FONT size=-1>&nbsp;go_nav</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">A standard browser button for
-            navigating to a URL.</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Go&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/go_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/elcl16/go_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/dlcl16/go_nav.gif" width=16 border=0></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/go_nav.gif" width=16 border=0>&nbsp;<IMG height=16 
-      alt="" src="icons/full/elcl16/go_nav.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/dlcl16/go_nav.gif" width=16 
-    border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	
-  <TR bgColor=#dfdf9f>
-    <TD>4</TD>
-    <TD>Go Home</TD>
-    <TD><FONT size=-1>&nbsp;home_nav</FONT></TD>
-    <TD >
-      <TABLE cellSpacing=2 cellPadding=0 border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">A standard browser button
-            for going to the home location</font></TD>
-          <TD>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Go Home&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/home_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/elcl16/home_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/dlcl16/home_nav.gif" width=16 border=0></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/home_nav.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/elcl16/home_nav.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" src="icons/full/dlcl16/home_nav.gif" 
-      width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>5</TD>
-    <TD>Refresh</TD>
-    <TD><FONT size=-1>&nbsp;refresh_nav</FONT></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">Refresh the contents of the view</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Refresh&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/refresh_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/elcl16/refresh_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/dlcl16/refresh_nav.gif" width=16 border=0></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/refresh_nav.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/elcl16/refresh_nav.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dlcl16/refresh_nav.gif" width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#dfdf9f>
-    <TD>6</TD>
-    <TD>Stop</TD>
-    <TD><font size="-1">stop_nav</font></TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">A standard browser button for stopping
-            the navigation in progress</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Stop&nbsp;&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/stop_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/elcl16/stop_nav.gif" width=16 border=0> <IMG height=16 alt="" 
-      src="../old.icons/full/dlcl16/stop_nav.gif" width=16 border=0></TD>
-    <TD bgColor=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/stop_nav.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/elcl16/stop_nav.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" src="icons/full/dlcl16/stop_nav.gif" 
-      width=16 border=0>&nbsp;</TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR>
-    <TD>7</TD>
-    <TD>Show Unconfigured Features</TD>
-    <TD>show_unconf</TD>
-    <TD>
-      <TABLE cellSpacing=2 cellPadding=0 width="100%" border=0>
-        
-        <TR>
-          <TD vAlign=top><font size="-1">A toggle button that allows
-            unconfigured features to show in the view</font></TD>
-          <TD vAlign=center align=right>
-            <TABLE>
-              
-              <TR>
-                <TD 
-                style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" 
-                align=middle bgColor=#ffffe1><FONT 
-                  size=-2>&nbsp;Show Unconfigured Features&nbsp;</FONT></TD></TR></TABLE></TD></TR></TABLE></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/clcl16/show_unconf.gif" width=16 border=0> </TD>
-    <TD BGCOLOR=#cccccc><IMG height=16 alt="" 
-      src="icons/full/clcl16/show_unconf.gif" width=16 border=0>&nbsp;<IMG 
-      height=16 alt="" src="icons/full/elcl16/show_unconf.gif" width=16 
-      border=0>&nbsp;<IMG height=16 alt="" 
-      src="icons/full/dlcl16/show_unconf.gif" width=16 border=0></TD>
-    <TD></TD></TR>
-	
-  <TR bgColor=#bfbf7f>
-    <TD colSpan=7><B><FONT size=+2>Model Object</FONT></B></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>1</TD>
-    <TD>&nbsp;Application Configuration</TD>
-    <TD><FONT size=-1>&nbsp;app_obj</FONT></TD>
-    <TD><font size="-1">the current configuration used to load the current
-      application</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/app_obj.gif" width=16 
-    align=left border=0></TD>
-    <TD><IMG height=16 alt="" src="icons/full/obj16/app_obj.gif" width=16 border=0></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-	
-  <TR bgColor=#dfdfb>
-    <TD>2</TD>
-    <TD>My Computer</TD>
-    <TD><FONT size=-1>&nbsp;computer_obj</FONT></TD>
-    <TD><font size="-1">the file system root</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/computer_obj.gif" width=16 
-    align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/computer_obj.gif" width=16 border=0>
-      <P></P></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>3</TD>
-    <TD>&nbsp;Feature</TD>
-    <TD><FONT size=-1>&nbsp;feature_obj</FONT></TD>
-    <TD><font size="-1">feature object</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/feature_obj.gif" width=16 
-align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/feature_obj.gif" width=16 border=0>
-      <P></P></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>4</TD>
-    <TD>Unconfigured Feature</TD>
-    <TD><FONT size=-1>&nbsp;unconf_feature_obj</FONT></TD>
-    <TD><font size="-1">feature that is currently unconfigured (i.e. still
-      present but disabled in the current configuration)</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/unconf_feature_obj.gif" width=16 
-    align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/unconf_feature_obj.gif" width=16 border=0>
-      <P></P></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>5</TD>
-    <TD>Places to Visit</TD>
-    <TD>places_obj</TD>
-    <TD>a folder that contains bookmarks to remote sites that
-      contain cool features</TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/places_obj.gif" width=16 
-align=left border=0></TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/obj16/places_obj.gif" width=16 border=0>
-      &nbsp;</TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>6</TD>
-    <TD>Site</TD>
-    <TD><font size="-1">site_obj&nbsp;</font></TD>
-    <TD><font size="-1">update site object that represent a provider
-      site (site that is set up to act as a source of features)</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/site_obj.gif" width=16 
-align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/site_obj.gif" width=16 border=0>
-      <P></P></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR>
-    <TD>7</TD>
-    <TD><font size="-1">Local Site</font></TD>
-    <TD><font size="-1">lsite_obj</font></TD>
-    <TD>update site object that represents a receiver site (site
-      that is set up to act as a target of the feature installation)</TD>
-    <TD><IMG height=16 
-      alt="" 
-src="../old.icons/full/obj16/lsite_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/obj16/lsite_obj.gif" width=16 border=0>
-      &nbsp;</TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>8</TD>
-    <TD><font size="-1">Feature Category</font></TD>
-    <TD><font size="-1">category_obj</font></TD>
-    <TD>sites can classify features they host into hierarchical
-      categories</TD>
-    <TD>
-      <P align=left><IMG height=16 src="../old.icons/full/obj16/category_obj.gif" width=16 border=0></P></TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/obj16/category_obj.gif" width=16 border=0>
-      &nbsp;</TD>
-    <TD></TD></TR>
-  <TR>
-    <TD>9</TD>
-    <TD><font size="-1">Bookmark Folder</font></TD>
-    <TD><font size="-1">bfolder_obj</font></TD>
-    <TD>folder object in the view that provides for
-      organizing site bookmarks and search objects</TD>
-    <TD>
-      <P align=left><IMG height=16 src="../old.icons/full/obj16/bfolder_obj.gif" width=16 border=0></P></TD>
-    <TD bgColor=#ffffff ><IMG height=16 alt="" 
-      src="icons/full/obj16/bfolder_obj.gif" width=16 border=0>
-      &nbsp;</TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>10</TD>
-    <TD>Text Search</TD>
-    <TD><font size="-1">tsearch_obj</font></TD>
-    <TD><font size="-1">Text search object&nbsp;</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/tsearch_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/tsearch_obj.gif" width=16 border=0>
-      <P></P></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR>
-    <TD>11</TD>
-    <TD>Update Search</TD>
-    <TD>usearch_obj</TD>
-    <TD>Available Updates search object</TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/usearch_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/usearch_obj.gif" width=16 border=0>
-      <P></P>
-    </TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>12</TD>
-    <TD>Plug-in Search</TD>
-    <TD>psearch_obj</TD>
-    <TD>Plug-in search object</TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/psearch_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/psearch_obj.gif" width=16 border=0>
-      <P></P>
-    </TD>
-    <TD></TD></TR>
-  <TR>
-    <TD>13</TD>
-    <TD>Fixed Volume</TD>
-    <TD>vfixed_obj</TD>
-    <TD>Local file system volume that represents a fixed drive (Windows) or
-      folder (Linux)</TD>
-    <TD><IMG height=16 
-      alt="" src="../old.icons/full/obj16/vfixed_obj.gif" width=16 align=left border=0>
-    </TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/obj16/vfixed_obj.gif" width=16 border=0>
-      
-    </TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>14</TD>
-    <TD>Remote Volume</TD>
-    <TD>vremote_obj</TD>
-    <TD>Remote file system volume that represents a shared drive (Window) or
-      mounted volume (Linux)</TD>
-    <TD height =16 
-      alt="" <IMG src="../old.icons/full/obj16/vremote_obj.gif" width=16 align=left border="1" 
-   >
-    </TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/obj16/vremote_obj.gif" width=16 border=0>
-      &nbsp;
-    </TD>
-    <TD></TD></TR>
-  <TR>
-    <TD>15</TD>
-    <TD>Removable Volume</TD>
-    <TD>vremovable_obj</TD>
-    <TD>Removable file system volume that is neither CD-ROM nor Floppy Disk.
-      This image is used for all other removable volumes like DVD-ROM, various
-      PCMCIA cards etc.</TD>
-    <TD><IMG height=16 
-      alt="" src="../old.icons/full/obj16/vremovable_obj.gif" width=16 align=left border=0>
-    </TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/obj16/vremovable_obj.gif" width=16 border=0>
-      &nbsp;
-    </TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>16</TD>
-    <TD>CD-ROM</TD>
-    <TD>cd_obj</TD>
-    <TD>File system volume that represent a CD-ROM drive</TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/cd_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/cd_obj.gif" width=16 border=0>
-      <P></P>
-    </TD>
-    <TD></TD></TR>
-  <TR>
-    <TD>17</TD>
-    <TD>Floppy Disk</TD>
-    <TD><font size="-1">floppy_obj</font></TD>
-    <TD><font size="-1">File system volume that represents a 3 1/2 inch floppy
-      disk drive</font></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/obj16/floppy_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=16 alt="" 
-      src="icons/full/obj16/floppy_obj.gif" width=16 border=0>
-      <P></P></TD>
-    <TD><FONT size=-1> </FONT></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>18</TD>
-    <TD>Saved Configurations</TD>
-    <TD>saved_obj</TD>
-    <TD><font size="2">Folder that holds past configurations that have been preserved and/or
-      renamed</font></TD>
-    <TD><IMG height=16 
-      alt="" src="../old.icons/full/obj16/saved_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff ><IMG height=16 alt="" 
-      src="icons/full/obj16/saved_obj.gif" width=16 border=0></TD>
-    <TD></TD></TR>
-  <TR>
-    <TD>19</TD>
-    <TD>Configuration History</TD>
-    <TD>history_obj</TD>
-    <TD>Folder that holds past configurations</TD>
-    <TD><IMG height=16 
-      alt="" src="../old.icons/full/obj16/history_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff ><IMG height=16 alt="" 
-      src="icons/full/obj16/history_obj.gif" width=16 border=0></TD>
-    <TD></TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>20</TD>
-    <TD>Available Updates</TD>
-    <TD>updates_obj</TD>
-    <TD>Update Search object that is pre-configured to look for
-      available updates of all the installed features. It cannot be removed from
-      the view.</TD>
-    <TD><IMG height=16 
-      alt="" src="../old.icons/full/obj16/updates_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff ><IMG height=16 alt="" 
-      src="icons/full/obj16/updates_obj.gif" width=16 border=0></TD>
-    <TD></TD></TR>
-  <TR>
-    <TD>21</TD>
-    <TD>Configuration</TD>
-    <TD>config_obj</TD>
-    <TD>A configuration history entry that represents one
-      configuration</TD>
-    <TD><IMG height=16 
-      alt="" src="../old.icons/full/obj16/config_obj.gif" width=16 align=left border=0></TD>
-    <TD bgColor=#ffffff ><IMG height=16 alt="" 
-      src="icons/full/obj16/config_obj.gif" width=16 border=0></TD>
-    <TD></TD></TR>
-	
-	
-	
-  <TR bgColor=#cccccc>
-    <TD colSpan=7><B><FONT size=+2>Object Overlay </FONT></B></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>1</TD>
-    <TD>&nbsp;current</TD>
-    <TD><font size="-1">current_co&nbsp;</font></TD>
-    <TD><FONT size=-1>&nbsp;indicates that the configuration is current i.e. in
-      effect</FONT></TD>
-    <TD><IMG height=8 alt="" 
-      src="../old.icons/full/ovr16/current_co.gif" width=7 border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=8 alt="" 
-      src="icons/full/ovr16/current_co.gif" width=7 border=0>
-      <P></P></TD>
-    <TD> </TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>2</TD>
-    <TD>&nbsp;error</TD>
-    <TD><FONT size=-1>error_co&nbsp;</FONT></TD>
-    <TD><FONT size=-1>will be overlayed over PDE editor objects that are 
-      somehow associated with XML syntax or validation errors&nbsp;</FONT></TD>
-    <TD><IMG height=8 alt="" 
-      src="../old.icons/full/ovr16/error_co.gif" width=7 border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=8 alt="" 
-      src="icons/full/ovr16/error_co.gif" width=7 border=0>
-      <P></P></TD>
-    <TD> </TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>3</TD>
-    <TD>&nbsp;installable</TD>
-    <TD><font size="-1">installable_co&nbsp;</font></TD>
-    <TD><font size="-1">indicates that site can accept features during
-      installation</font></TD>
-    <TD><IMG height=8 alt="" 
-      src="../old.icons/full/ovr16/installable_co.gif" width=7 border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=8 alt="" 
-      src="icons/full/ovr16/installable_co.gif" width=7 border=0>
-      <P></P></TD>
-    <TD> </TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>4</TD>
-    <TD>&nbsp;linked</TD>
-    <TD><font size="-1">linked_co&nbsp;</font></TD>
-    <TD><font size="-1">indicates that the site is only linked to the
-      configuration</font></TD>
-    <TD><IMG height=10 alt="" 
-      src="../old.icons/full/ovr16/linked_co.gif" width=11 border=0></TD>
-    <TD bgColor=#ffffff>
-      <IMG height=8 alt="" 
-      src="icons/full/ovr16/linked_co.gif" width=7 border=0>
-      <P></P></TD>
-    <TD> </TD></TR>
-    <TR bgColor=#ffffff>
-    <TD>5</TD>
-    <TD>unconfigured</TD>
-    <TD><font size="-1">unconfigured_co&nbsp;</font></TD>
-    <TD><font size="-1">      
-      </font></TD>
-    <TD></TD>
-    <TD bgColor=#ffffff>
-      <P></P><IMG height=8 alt="" src="icons/full/ovr16/unconfigured_co.gif" 
-      width=7 border=0></TD>
-    <TD> </TD></TR>
-	
-  
-  
-  <tr bgColor=#cccccc>
-    <TD colSpan=7><b><font size="+2">Forms Artwork</font></b></TD>
-  </tr>
-  <tr>
-    <TD>1</TD>
-    <TD>&nbsp;Topic</TD>
-    <TD><font size="-1">topic&nbsp;</font></TD>
-    <TD><FONT size=-1>&nbsp;an image to be used as a custom bullet for items in
-      a 'Welcome' page</FONT></TD>
-    <TD><IMG height=16 alt="" 
-      src="../old.icons/full/forms/topic.gif" width=16 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=16 alt="" 
-      src="icons/full/forms/topic.gif" width=16 border=0></TD>
-    <TD> </TD>
-  </tr>
-  <tr bgColor=#dfdfb>
-    <TD>2</TD>
-    <TD>Default Provider</TD>
-    <TD><font size="-1">def_provider&nbsp;</font></TD>
-    <TD><font size="-1">an image to be used in a feature description page in 
-      cases where one was not supplied by feature provider (should be JPEG)<IMG 
-      height=48 alt="" src="../old.icons/full/forms/def_provider.gif" width=109 
-      border=0>          
-                 </font></TD>
-    <TD></TD>
-    <TD bgColor=#ffffff><IMG height=150 alt="" 
-      src="icons/full/forms/def_provider.gif" width=190 border=0>&nbsp;</TD>
-    <TD> </TD>
-  </tr>
-  <tr>
-    <TD>3</TD>
-    <TD>&nbsp;Form Banner</TD>
-    <TD><font size="-1">form_banner&nbsp;</font></TD>
-    <TD><font size="-1">a banner image used in all form pages behind the heading
-      (shown here in 1:10 zoom out)</font></TD>
-    <TD><IMG height=3 alt="" 
-      src="../old.icons/full/forms/form_banner.gif" width=60 border=0></TD>
-    <TD bgColor=#ffffff>&nbsp;
-      <P></P></TD>
-    <TD> </TD>
-  </tr>
-  <tr bgColor=#dfdfb>
-    <TD>4</TD>
-    <TD>&nbsp;Form Banner Underline</TD>
-    <TD><font size="-1">form_underline&nbsp;</font></TD>
-    <TD><font size="-1">a second portion of the banner used under the heading
-      text (shown here in 1:10 zoom out)</font></TD>
-    <TD><IMG height=1 alt="" 
-      src="../old.icons/full/forms/form_underline.gif" width=60 border=0></TD>
-    <TD bgColor=#ffffff>&nbsp;
-      <P></P></TD>
-    <TD> </TD>
-  </tr>
-  
-  
-  
-  
-  <TR bgColor=#cccccc>
-    <TD colSpan=7><B><FONT size=+2>Wizard Graphic</FONT></B></TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>1</TD>
-    <TD>New Bookmark wizard</TD>
-    <TD><FONT size=-1>&nbsp;new_bookmark_wiz</FONT></TD>
-    <TD><font size="-1">creates a new update site bookmark</font></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/new_bookmark_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/new_bookmark_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>2</TD>
-    <TD>New Folder wizard</TD>
-    <TD><FONT size=-1>&nbsp;new_folder_wiz</FONT></TD>
-    <TD><font size="-1">creates a new bookmark folder</font></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/new_folder_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/new_folder_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR bgColor=#ffffff>
-    <TD>3</TD>
-    <TD>New Search wizard</TD>
-    <TD><FONT size=-1>&nbsp;new_search_wiz</FONT></TD>
-    <TD><FONT size=-1>creates a new search object</FONT></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/new_search_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/new_search_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>4</TD>
-    <TD>Install Feature wizard</TD>
-    <TD><FONT size=-1>&nbsp;install_wiz</FONT></TD>
-    <TD><font size="-1">installs a new feature into the platform</font></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/install_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/install_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR bgColor=#ffffff>
-    <TD >5</TD>
-    <TD>Update Feature wizard</TD>
-    <TD><FONT size=-1>&nbsp;update_wiz</FONT></TD>
-    <TD><font size="-1">installs a newer version of an already installed feature</font></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/update_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/update_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD >6</TD>
-    <TD>Configure Feature wizard</TD>
-    <TD><FONT size=-1>&nbsp;config_wiz</FONT></TD>
-    <TD><font size="-1">configures or unconfigures an installed feature</font></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/config_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/config_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR>
-    <TD>7</TD>
-    <TD>Uninstall Feature wizard</TD>
-    <TD><FONT size=-1>&nbsp;uninstall_wiz</FONT></TD>
-    <TD><font size="-1">permanently removes a feature from the platform</font></TD>
-    <TD><IMG height=58 alt="" 
-      src="../old.icons/full/wizban/uninstall_wiz.gif" 
-      width=75 border=0></TD>
-    <TD bgColor=#ffffff><IMG height=58 alt="" 
-      src="icons/full/wizban/uninstall_wiz.gif" width=75 border=0>&nbsp;</TD>
-    <TD> </TD></TR>
-  <TR bgColor=#dfdfb>
-    <TD>8</TD>
-    <TD>Default Install Wizard banner</TD>
-    <TD><FONT size=-1>&nbsp;def_wizban</FONT></TD>
-    <TD><font size="-1">a default image shown in install wizard pages when 
-      one is not supplied by feature providers<IMG height=258 alt="" 
-      src="../old.icons/full/wizban/def_wizban.jpg" width=118 
-border=0>         
-           </font></TD>
-    <TD></TD>
-    <TD bgColor=#ffffff><IMG height=258 alt="" 
-      src="icons/full/wizban/def_wizban.jpg" width=118 border=0>&nbsp;</TD>
-    <TD> </TD></TR></TABLE>
-<P></P></BODY></HTML>
diff --git a/update/org.eclipse.update.ui/META-INF/MANIFEST.MF b/update/org.eclipse.update.ui/META-INF/MANIFEST.MF
deleted file mode 100644
index 14f8d36..0000000
--- a/update/org.eclipse.update.ui/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.update.ui; singleton:=true
-Bundle-Version: 3.1.0
-Bundle-Activator: org.eclipse.update.internal.ui.UpdateUI
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
-Export-Package: org.eclipse.update.internal.ui;x-friends:="org.eclipse.update.scheduler",
- org.eclipse.update.internal.ui.model;x-internal:=true,
- org.eclipse.update.internal.ui.parts;x-internal:=true,
- org.eclipse.update.internal.ui.preferences;x-internal:=true,
- org.eclipse.update.internal.ui.properties;x-internal:=true,
- org.eclipse.update.internal.ui.security;x-internal:=true,
- org.eclipse.update.internal.ui.views;x-internal:=true,
- org.eclipse.update.internal.ui.wizards;x-friends:="org.eclipse.update.scheduler",
- org.eclipse.update.ui
-Require-Bundle: org.eclipse.core.runtime,
- org.eclipse.ui,
- org.eclipse.update.core,
- org.eclipse.update.configurator,
- org.eclipse.ui.forms
-Eclipse-AutoStart: true
diff --git a/update/org.eclipse.update.ui/about.html b/update/org.eclipse.update.ui/about.html
deleted file mode 100644
index 6f6b96c..0000000
--- a/update/org.eclipse.update.ui/about.html
+++ /dev/null
@@ -1,22 +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>February 24, 2005</p>	
-<h3>License</h3>
-
-<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise indicated below, the Content is provided to you under the terms and conditions of the
-Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
-For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
-
-<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
-apply to your use of any object code in the Content.  Check the Redistributor's license that was provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
-indicated below, the terms and conditions of the EPL still apply to any source code in the Content.</p>
-
-</body>
-</html>
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/build.properties b/update/org.eclipse.update.ui/build.properties
deleted file mode 100644
index e54c93f..0000000
--- a/update/org.eclipse.update.ui/build.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-###############################################################################

-# Copyright (c) 2005 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-bin.includes = plugin.properties,\

-               icons/,\

-               .,\

-               plugin.xml,\

-               about.html,\

-               META-INF/

-src.includes = about.html,\

-               schema/

-source.. = src/

-#jars.extra.classpath = ../org.eclipse.tomcat/servlet.jar

diff --git a/update/org.eclipse.update.ui/icons/dlcl16/collapseall.gif b/update/org.eclipse.update.ui/icons/dlcl16/collapseall.gif
deleted file mode 100644
index 7dc0de5..0000000
--- a/update/org.eclipse.update.ui/icons/dlcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/dlcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui/icons/dlcl16/hierarchicalLayout.gif
deleted file mode 100644
index 52eeb6d..0000000
--- a/update/org.eclipse.update.ui/icons/dlcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/dlcl16/show_unconf.gif b/update/org.eclipse.update.ui/icons/dlcl16/show_unconf.gif
deleted file mode 100644
index f8cf96b..0000000
--- a/update/org.eclipse.update.ui/icons/dlcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/dtool16/config_wiz.gif b/update/org.eclipse.update.ui/icons/dtool16/config_wiz.gif
deleted file mode 100644
index 2e8acec..0000000
--- a/update/org.eclipse.update.ui/icons/dtool16/config_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/dtool16/install_wiz.gif b/update/org.eclipse.update.ui/icons/dtool16/install_wiz.gif
deleted file mode 100644
index a89ff29..0000000
--- a/update/org.eclipse.update.ui/icons/dtool16/install_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/dtool16/uninstall_wiz.gif b/update/org.eclipse.update.ui/icons/dtool16/uninstall_wiz.gif
deleted file mode 100644
index 075fcd2..0000000
--- a/update/org.eclipse.update.ui/icons/dtool16/uninstall_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/dtool16/update_wiz.gif b/update/org.eclipse.update.ui/icons/dtool16/update_wiz.gif
deleted file mode 100644
index f59d449..0000000
--- a/update/org.eclipse.update.ui/icons/dtool16/update_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/elcl16/collapseall.gif b/update/org.eclipse.update.ui/icons/elcl16/collapseall.gif
deleted file mode 100644
index a2d80a9..0000000
--- a/update/org.eclipse.update.ui/icons/elcl16/collapseall.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/elcl16/hierarchicalLayout.gif b/update/org.eclipse.update.ui/icons/elcl16/hierarchicalLayout.gif
deleted file mode 100644
index 2344861..0000000
--- a/update/org.eclipse.update.ui/icons/elcl16/hierarchicalLayout.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/elcl16/show_unconf.gif b/update/org.eclipse.update.ui/icons/elcl16/show_unconf.gif
deleted file mode 100644
index d95b705..0000000
--- a/update/org.eclipse.update.ui/icons/elcl16/show_unconf.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/etool16/config_wiz.gif b/update/org.eclipse.update.ui/icons/etool16/config_wiz.gif
deleted file mode 100644
index 95ac720..0000000
--- a/update/org.eclipse.update.ui/icons/etool16/config_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/etool16/install_wiz.gif b/update/org.eclipse.update.ui/icons/etool16/install_wiz.gif
deleted file mode 100644
index 224c63f..0000000
--- a/update/org.eclipse.update.ui/icons/etool16/install_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/etool16/uninstall_wiz.gif b/update/org.eclipse.update.ui/icons/etool16/uninstall_wiz.gif
deleted file mode 100644
index d333128..0000000
--- a/update/org.eclipse.update.ui/icons/etool16/uninstall_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/etool16/update_wiz.gif b/update/org.eclipse.update.ui/icons/etool16/update_wiz.gif
deleted file mode 100644
index aa84ebe..0000000
--- a/update/org.eclipse.update.ui/icons/etool16/update_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/eview16/configs.gif b/update/org.eclipse.update.ui/icons/eview16/configs.gif
deleted file mode 100644
index c984fba..0000000
--- a/update/org.eclipse.update.ui/icons/eview16/configs.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/eview16/preview.gif b/update/org.eclipse.update.ui/icons/eview16/preview.gif
deleted file mode 100644
index e6bf9cf..0000000
--- a/update/org.eclipse.update.ui/icons/eview16/preview.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/forms/def_provider.jpg b/update/org.eclipse.update.ui/icons/forms/def_provider.jpg
deleted file mode 100644
index bbb03fd..0000000
--- a/update/org.eclipse.update.ui/icons/forms/def_provider.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/forms/form_banner.gif b/update/org.eclipse.update.ui/icons/forms/form_banner.gif
deleted file mode 100644
index aebc0b2..0000000
--- a/update/org.eclipse.update.ui/icons/forms/form_banner.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/forms/form_banner.jpg b/update/org.eclipse.update.ui/icons/forms/form_banner.jpg
deleted file mode 100644
index 253e2d2..0000000
--- a/update/org.eclipse.update.ui/icons/forms/form_banner.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/forms/form_underline.jpg b/update/org.eclipse.update.ui/icons/forms/form_underline.jpg
deleted file mode 100644
index 0ff3d0b..0000000
--- a/update/org.eclipse.update.ui/icons/forms/form_underline.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/forms/topic.gif b/update/org.eclipse.update.ui/icons/forms/topic.gif
deleted file mode 100644
index b5dd4ec..0000000
--- a/update/org.eclipse.update.ui/icons/forms/topic.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/app_obj.gif b/update/org.eclipse.update.ui/icons/obj16/app_obj.gif
deleted file mode 100644
index 753cad7..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/app_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/bfolder_obj.gif b/update/org.eclipse.update.ui/icons/obj16/bfolder_obj.gif
deleted file mode 100644
index 10273e4..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/bfolder_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/category_obj.gif b/update/org.eclipse.update.ui/icons/obj16/category_obj.gif
deleted file mode 100644
index b487d07..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/category_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/config_obj.gif b/update/org.eclipse.update.ui/icons/obj16/config_obj.gif
deleted file mode 100644
index c984fba..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/config_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/efix2_obj.gif b/update/org.eclipse.update.ui/icons/obj16/efix2_obj.gif
deleted file mode 100644
index b138957..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/efix2_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/efix_obj.gif b/update/org.eclipse.update.ui/icons/obj16/efix_obj.gif
deleted file mode 100644
index 57fc499..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/efix_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/error_st_obj.gif b/update/org.eclipse.update.ui/icons/obj16/error_st_obj.gif
deleted file mode 100644
index 0bc6068..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/error_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/esite_obj.gif b/update/org.eclipse.update.ui/icons/obj16/esite_obj.gif
deleted file mode 100644
index 25fd07b..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/esite_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/feature_obj.gif b/update/org.eclipse.update.ui/icons/obj16/feature_obj.gif
deleted file mode 100644
index 8706680..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/feature_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/history_obj.gif b/update/org.eclipse.update.ui/icons/obj16/history_obj.gif
deleted file mode 100644
index 289d43a..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/history_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/lsite_obj.gif b/update/org.eclipse.update.ui/icons/obj16/lsite_obj.gif
deleted file mode 100644
index d650bdb..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/lsite_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/notinstalled_feature_obj.gif b/update/org.eclipse.update.ui/icons/obj16/notinstalled_feature_obj.gif
deleted file mode 100644
index f192b84..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/notinstalled_feature_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/ok_st_obj.gif b/update/org.eclipse.update.ui/icons/obj16/ok_st_obj.gif
deleted file mode 100644
index 9cacb96..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/ok_st_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/psite_obj.gif b/update/org.eclipse.update.ui/icons/obj16/psite_obj.gif
deleted file mode 100644
index 58897f1..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/psite_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/site_obj.gif b/update/org.eclipse.update.ui/icons/obj16/site_obj.gif
deleted file mode 100644
index b8568f4..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/site_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/unconf_feature_obj.gif b/update/org.eclipse.update.ui/icons/obj16/unconf_feature_obj.gif
deleted file mode 100644
index 86881fd..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/unconf_feature_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/updates_obj.gif b/update/org.eclipse.update.ui/icons/obj16/updates_obj.gif
deleted file mode 100644
index 16f4f7c..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/updates_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/usearch_obj.gif b/update/org.eclipse.update.ui/icons/obj16/usearch_obj.gif
deleted file mode 100644
index 5080599..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/usearch_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/obj16/web_bkmrk_obj.gif b/update/org.eclipse.update.ui/icons/obj16/web_bkmrk_obj.gif
deleted file mode 100644
index cdbc528..0000000
--- a/update/org.eclipse.update.ui/icons/obj16/web_bkmrk_obj.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/add_stat.gif b/update/org.eclipse.update.ui/icons/ovr16/add_stat.gif
deleted file mode 100644
index c123a2b..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/add_stat.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/current_co.gif b/update/org.eclipse.update.ui/icons/ovr16/current_co.gif
deleted file mode 100644
index 13077f9..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/current_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/del_stat.gif b/update/org.eclipse.update.ui/icons/ovr16/del_stat.gif
deleted file mode 100644
index ef0207c..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/del_stat.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/error_co.gif b/update/org.eclipse.update.ui/icons/ovr16/error_co.gif
deleted file mode 100644
index 119dccc..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/error_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/installable_co.gif b/update/org.eclipse.update.ui/icons/ovr16/installable_co.gif
deleted file mode 100644
index 5e999b6..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/installable_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/linked_co.gif b/update/org.eclipse.update.ui/icons/ovr16/linked_co.gif
deleted file mode 100644
index 2f40e1b..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/linked_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/mod_co.gif b/update/org.eclipse.update.ui/icons/ovr16/mod_co.gif
deleted file mode 100644
index 2b1b8d6..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/mod_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/unconfigured_co.gif b/update/org.eclipse.update.ui/icons/ovr16/unconfigured_co.gif
deleted file mode 100644
index 8a589ce..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/unconfigured_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/updated_co.gif b/update/org.eclipse.update.ui/icons/ovr16/updated_co.gif
deleted file mode 100644
index 0d686ab..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/updated_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/ovr16/warning_co.gif b/update/org.eclipse.update.ui/icons/ovr16/warning_co.gif
deleted file mode 100644
index ee2dac4..0000000
--- a/update/org.eclipse.update.ui/icons/ovr16/warning_co.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/wizban/config_wiz.gif b/update/org.eclipse.update.ui/icons/wizban/config_wiz.gif
deleted file mode 100644
index 6a19fbf..0000000
--- a/update/org.eclipse.update.ui/icons/wizban/config_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/wizban/def_wizban.jpg b/update/org.eclipse.update.ui/icons/wizban/def_wizban.jpg
deleted file mode 100644
index 4d7eba6..0000000
--- a/update/org.eclipse.update.ui/icons/wizban/def_wizban.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/wizban/install_wiz.gif b/update/org.eclipse.update.ui/icons/wizban/install_wiz.gif
deleted file mode 100644
index 7eee7c3..0000000
--- a/update/org.eclipse.update.ui/icons/wizban/install_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/wizban/uninstall_wiz.gif b/update/org.eclipse.update.ui/icons/wizban/uninstall_wiz.gif
deleted file mode 100644
index 1223378..0000000
--- a/update/org.eclipse.update.ui/icons/wizban/uninstall_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/icons/wizban/update_wiz.gif b/update/org.eclipse.update.ui/icons/wizban/update_wiz.gif
deleted file mode 100644
index 3b36487..0000000
--- a/update/org.eclipse.update.ui/icons/wizban/update_wiz.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/plugin.properties b/update/org.eclipse.update.ui/plugin.properties
deleted file mode 100644
index d6b380e..0000000
--- a/update/org.eclipse.update.ui/plugin.properties
+++ /dev/null
@@ -1,54 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2004 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-#

-# Update UI plugin.xml resources

-#

-pluginName = Install/Update UI

-providerName = Eclipse.org

-fragmentNameWin = Install/Update UI for Windows

-

-updateMenu.label = &Software Updates

-actionSets.softwareUpdates.label = Software Updates

-actionSets.updates.label = &Find and Install...

-actionSets.configManager.label = &Manage Configuration...

-actionSets.webSites.label = &Update Sites (experimental)

-

-searchCategory.name = Search Category

-searchCategories.updates = Available Updates

-searchCategories.updates.desc = <form><p>Search for updates to \

-features currently installed in this application. Updates are \

-features that have the same identifier as the installed features, \

-but newer versions.</p>\

-<p>Use scope settings to control the \

-extent of the search and the update sites that will be visited.</p>\

-<p>Note that the settings in <b>Preferences</b> affect whether the new feature \

-versions will be considered valid as updates.</p></form>

-

-searchCategories.expression = Regular Expressions

-searchCategories.expression.desc = <form><p>Search for features that \

-contain desired text or reqular expression. Use the query settings \

-to configure search options.</p></form>

-

-searchCategories.plugin = Plug-ins in Features

-searchCategories.plugin.desc = <form><p>Look for plug-ins that \

-are packaged in the features. This search category is useful \

-when required plug-ins of the feature you wanted to install \

-were not found in this application.</p></form>

-

-mainPreference.name = Install/Update

-

-properties.general-info.label = General Information

-properties.license.label = License Agreement

-properties.copyright.label = Copyright

-properties.status.label = Status

-properties.currentConfig.activities = Activities

-

-preferenceKeywords.general=update install proxy digital signature

diff --git a/update/org.eclipse.update.ui/plugin.xml b/update/org.eclipse.update.ui/plugin.xml
deleted file mode 100644
index 9e6e541..0000000
--- a/update/org.eclipse.update.ui/plugin.xml
+++ /dev/null
@@ -1,60 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<?eclipse version="3.0"?>

-<plugin>

-

-     <extension

-         point="org.eclipse.ui.propertyPages">

-      <page

-            objectClass="org.eclipse.update.internal.ui.model.IFeatureAdapter"

-            name="%properties.general-info.label"

-            class="org.eclipse.update.internal.ui.properties.FeatureGeneralPropertyPage"

-            id="org.eclipse.update.ui.featureGeneralPropertyPage">

-      </page>

-      <page

-            objectClass="org.eclipse.update.internal.ui.model.IFeatureAdapter"

-            name="%properties.license.label"

-            class="org.eclipse.update.internal.ui.properties.FeatureLicensePropertyPage"

-            id="org.eclipse.update.ui.featureLicensePropertyPage">

-      </page>

-      <page

-            objectClass="org.eclipse.update.internal.ui.model.IFeatureAdapter"

-            name="%properties.copyright.label"

-            class="org.eclipse.update.internal.ui.properties.FeatureCopyrightPropertyPage"

-            id="org.eclipse.update.ui.featureCopyrightPropertyPage">

-      </page>

-      <page

-            objectClass="org.eclipse.update.internal.ui.model.ConfiguredFeatureAdapter"

-            name="%properties.status.label"

-            class="org.eclipse.update.internal.ui.properties.FeatureStatusPropertyPage"

-            id="org.eclipse.update.ui.featureStatusPropertyPage">

-      </page>

-      <page

-            objectClass="org.eclipse.update.internal.ui.model.IConfiguredSiteAdapter"

-            name="%properties.general-info.label"

-            class="org.eclipse.update.internal.ui.properties.ConfiguredSitePropertyPage"

-            id="org.eclipse.update.ui.configSite">

-      </page>

-      <page

-            objectClass="org.eclipse.update.internal.core.SiteLocal"

-            name="%properties.general-info.label"

-            class="org.eclipse.update.internal.ui.properties.InstallConfigurationPropertyPage"

-            id="org.eclipse.update.ui.installConfig">

-      </page>

-   </extension>

-   <extension

-         point="org.eclipse.ui.preferencePages">

-      <page

-            name="%mainPreference.name"

-            class="org.eclipse.update.internal.ui.preferences.MainPreferencePage"

-            id="org.eclipse.update.internal.ui.preferences.MainPreferencePage">

-            <keywordReference id="org.eclipse.update.ui.general"/>

-      </page>

-   </extension>

-

-      <extension

-   		point="org.eclipse.ui.keywords">

-      <keyword

-            label="%preferenceKeywords.general"

-            id="org.eclipse.update.ui.general"/>

-      </extension>

-</plugin>

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/ConfigurationManagerWindow.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/ConfigurationManagerWindow.java
deleted file mode 100644
index 11b7c1c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/ConfigurationManagerWindow.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.window.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.views.*;
-
-/**
- * Configuration Manager window.
- */
-public class ConfigurationManagerWindow
-	extends ApplicationWindow
-	{
-	private ConfigurationView view;
-	private GlobalAction propertiesAction;
-	private IAction propertiesActionHandler;
-	
-	class GlobalAction extends Action implements IPropertyChangeListener {
-		private IAction handler;
-
-		public GlobalAction() {
-		}
-
-		public void setActionHandler(IAction action) {
-			if (handler != null) {
-				handler.removePropertyChangeListener(this);
-				handler = null;
-			}
-			if (action != null) {
-				this.handler = action;
-				action.addPropertyChangeListener(this);
-			}
-			if (handler != null) {
-				setEnabled(handler.isEnabled());
-				setChecked(handler.isChecked());
-			}
-		}
-
-		public void propertyChange(PropertyChangeEvent event) {
-			if (event.getProperty().equals(Action.ENABLED)) {
-				Boolean bool = (Boolean) event.getNewValue();
-				setEnabled(bool.booleanValue());
-			} else if (event.getProperty().equals(Action.CHECKED)) {
-				Boolean bool = (Boolean) event.getNewValue();
-				setChecked(bool.booleanValue());
-			}
-		}
-
-		public void run() {
-			if (handler != null)
-				handler.run();
-		}
-	}
-
-	/**
-	 * @param parentShell
-	 */
-	public ConfigurationManagerWindow(Shell parentShell) {
-		super(parentShell);
-		setShellStyle(getShellStyle() | SWT.APPLICATION_MODAL);
-		// Setup window.
-		addMenuBar();
-		addActions();
-		addToolBar(SWT.FLAT);
-//		addStatusLine();
-	}
-
-	private void addActions() {
-		IMenuManager menuBar = getMenuBarManager();
-		IMenuManager fileMenu = new MenuManager(UpdateUIMessages.ConfigurationManagerWindow_fileMenu); 
-		menuBar.add(fileMenu);
-
-		propertiesAction = new GlobalAction();
-		propertiesAction.setText(UpdateUIMessages.ConfigurationManagerWindow_properties); 
-		propertiesAction.setEnabled(false);
-
-		fileMenu.add(propertiesAction);
-		fileMenu.add(new Separator());
-
-		Action closeAction = new Action() {
-			public void run() {
-				close();
-			}
-		};
-		closeAction.setText(UpdateUIMessages.ConfigurationManagerWindow_close); 
-		fileMenu.add(closeAction);
-	}
-	
-	private void hookGlobalActions() {
-		if(propertiesActionHandler!=null)
-			propertiesAction.setActionHandler(propertiesActionHandler);
-	}
-	
-	protected Control createContents(Composite parent) {
-		view = new ConfigurationView(this);
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.verticalSpacing = 0;
-		container.setLayout(layout);
-
-		GridData gd;
-		Label separator = new Label(container, SWT.SEPARATOR | SWT.HORIZONTAL);
-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
-		gd.heightHint = 1;
-		separator.setLayoutData(gd);
-
-		view.createPartControl(container);
-		Control viewControl = view.getControl();
-		gd = new GridData(GridData.FILL_BOTH);
-		viewControl.setLayoutData(gd);
-		hookGlobalActions();
-
-		updateActionBars();
-
-		UpdateLabelProvider provider = UpdateUI.getDefault().getLabelProvider();
-		getShell().setImage(provider.get(UpdateUIImages.DESC_CONFIGS_VIEW, 0));
-		
-		return container;
-	}
-
-	private void updateActionBars() {
-		getMenuBarManager().updateAll(false);
-		getToolBarManager().update(false);
-//		getStatusLineManager().update(false);
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#close()
-	 */
-	public boolean close() {
-		if (view != null)
-			view.dispose();
-		return super.close();
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		// set the title
-		getShell().setText(UpdateUIMessages.ConfigurationManagerAction_title); 
-		getShell().setSize(800, 600);
-	}
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {
-		// update action bars
-		updateActionBars();
-		return super.open();
-	}
-	
-	public void setPropertiesActionHandler(IAction handler){
-		propertiesActionHandler=handler;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/RestartDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/RestartDialog.java
deleted file mode 100644
index 0282d10..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/RestartDialog.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui;
-
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.update.operations.*;
-
-/**
- * A dialog which prompts the user to restart after an update operation
- * and provides Yes, No, Continue buttons. 
- */
-public class RestartDialog extends MessageDialog {
-	private static final int CONTINUE = 2;
-	private final static String[] yesNo = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL};
-	private final static String[] yesNoApply = new String[] {IDialogConstants.YES_LABEL, IDialogConstants.NO_LABEL, UpdateUIMessages.ApplyChanges}; 
-	
-	private int buttonId = 0;
-	
-	/**
-	 * Creates a new dialog
-	 * @see MessageDialog#MessageDialog(org.eclipse.swt.widgets.Shell, java.lang.String, org.eclipse.swt.graphics.Image, java.lang.String, int, java.lang.String[], int)
-	 */
-	public RestartDialog(Shell parent, String title, String message, boolean restartNeeded) {
-		super(parent,
-				title,
-				null,	// accept the default window icon
-				message,
-				QUESTION,
-				restartNeeded ? yesNo : yesNoApply, 
-				0);		// yes is the default
-	}
-
-	/**
-	 * Convenience method to open the Yes/No/Continue question dialog.
-	 *
-	 * @param parent the parent shell of the dialog, or <code>null</code> if none
-	 * @param restartIsReallyNeeded when false, the changes are applied to the current config
-	 * @return <code>true</code> if the user presses  YES
-	 *    <code>false</code> otherwise
-	 */
-	public static boolean openQuestion(Shell parent, boolean restartIsReallyNeeded) {
-		String title = UpdateUIMessages.RestartTitle; 
-		String message = restartIsReallyNeeded ? UpdateUIMessages.RestartMessage: UpdateUIMessages.OptionalRestartMessage; 
-		RestartDialog dialog = new RestartDialog(parent, title,	message, restartIsReallyNeeded);
-		int button= dialog.open();
-		if (button == 2)
-			OperationsManager.applyChangesNow();
-		return button == 0; // Yes
-	}
-	
-	/**
-	 * When a button is pressed, store the preference.
-	 * 
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int id) {
-		if (id == 2) { 
-			buttonId= CONTINUE;
-		} 
-		
-		super.buttonPressed(id);
-	}
-	
-	/**
-	 * Returns the user's selection,
-	 * <code>null</code> if the user hasn't chosen yet.
-	 * 
-	 * @return the user's selection or <code>null</code>
-	 */
-	public int getResult() {
-		return buttonId;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateLabelProvider.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateLabelProvider.java
deleted file mode 100644
index e1f58c6..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateLabelProvider.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui;
-
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.internal.ui.parts.*;
-
-/**
- * 
- */
-
-public class UpdateLabelProvider extends SharedLabelProvider {
-	/**
-	 * Constructor for UpdateLabelProvider.
-	 */
-	public UpdateLabelProvider() {
-	}
-	
-	public String getText(Object obj) {
-		return super.getText(obj);
-	}
-	
-	public Image getImage(Object obj) {
-		return super.getImage(obj);
-	}
-	
-	public ImageDescriptor getLocalSiteDescriptor(IConfiguredSite csite) {
-		if (csite.isProductSite())
-			return UpdateUIImages.DESC_PSITE_OBJ;
-		if (csite.isExtensionSite())
-			return UpdateUIImages.DESC_ESITE_OBJ;
-		return UpdateUIImages.DESC_LSITE_OBJ;
-	}
-	
-	public Image getLocalSiteImage(IConfiguredSite csite) {
-		ImageDescriptor desc = getLocalSiteDescriptor(csite);
-		return get(desc);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUI.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUI.java
deleted file mode 100644
index aeef152..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUI.java
+++ /dev/null
@@ -1,374 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui;
-
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-import java.net.URLEncoder;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.browser.*;
-import org.eclipse.ui.plugin.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.security.*;
-import org.osgi.framework.*;
-
-/**
- * The main plugin class to be used in the desktop.
- */
-public class UpdateUI extends AbstractUIPlugin {
-	public static final String PLUGIN_ID = "org.eclipse.update.ui"; //$NON-NLS-1$
-	public static final String WEB_APP_ID = "org.eclipse.update"; //$NON-NLS-1$
-	// preference key
-	public static final String P_DISCOVERY_SITES_ENABLED = "discoverySitesEnabled"; //$NON-NLS-1$
-	//The shared instance.
-	private static UpdateUI plugin;
-	private UpdateModel model;
-	private UpdateManagerAuthenticator authenticator;
-	private String appServerHost;
-	private int appServerPort;
-	private UpdateLabelProvider labelProvider;
-	private static boolean remindOnCancel = true;
-
-	/**
-	 * The constructor.
-	 */
-	public UpdateUI() {
-
-		plugin = this;
-	}
-
-	/**
-	 * Returns the shared instance.
-	 */
-	public static UpdateUI getDefault() {
-		return plugin;
-	}
-
-	public static IWorkbenchPage getActivePage() {
-		return getDefault().internalGetActivePage();
-	}
-
-	private IWorkbenchPage internalGetActivePage() {
-		IWorkbenchWindow window = getWorkbench().getActiveWorkbenchWindow();
-		if (window != null)
-			return window.getActivePage();
-		return null;
-	}
-
-	public static Shell getActiveWorkbenchShell() {
-		IWorkbenchWindow window = getActiveWorkbenchWindow();
-		return window != null ? window.getShell() : getStandardDisplay().getActiveShell();
-	}
-
-	public static IWorkbenchWindow getActiveWorkbenchWindow() {
-		return getDefault().getWorkbench().getActiveWorkbenchWindow();
-	}
-
-	public static String getPluginId() {
-		return getDefault().getBundle().getSymbolicName();
-	}
-
-	public UpdateLabelProvider getLabelProvider() {
-		if (labelProvider == null)
-			labelProvider = new UpdateLabelProvider();
-		return labelProvider;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		model = new UpdateModel();
-		authenticator = new UpdateManagerAuthenticator();
-		Authenticator.setDefault(authenticator);
-		int historyPref =
-			getPluginPreferences().getInt(UpdateCore.P_HISTORY_SIZE);
-		if (historyPref > 0) {
-			UpdateCore.DEFAULT_HISTORY = historyPref;
-		}
-	}
-	
-	
-
-	public boolean isWebAppStarted() {
-		return appServerHost != null;
-	}
-
-	public String getAppServerHost() {
-		return appServerHost;
-	}
-
-	public int getAppServerPort() {
-		return appServerPort;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		if (model != null)
-			model.shutdown();
-
-		if (labelProvider != null)
-			labelProvider.dispose();
-		super.stop(context);
-
-	}
-
-	public UpdateModel getUpdateModel() {
-		return model;
-	}
-
-	public static void logException(Throwable e) {
-		logException(e, true);
-	}
-
-	public static void logException(Throwable e, boolean showErrorDialog) {
-		if (e instanceof InvocationTargetException) {
-			e = ((InvocationTargetException) e).getTargetException();
-		}
-
-		IStatus status = null;
-		if (e instanceof CoreException) {
-			status = ((CoreException) e).getStatus();
-		} else {
-			String message = e.getMessage();
-			if (message == null)
-				message = e.toString();
-			status =
-				new Status(
-					IStatus.ERROR,
-					getPluginId(),
-					IStatus.OK,
-					message,
-					e);
-		}
-		log(status, showErrorDialog);
-	}
-
-	public static void log(IStatus status, boolean showErrorDialog) {
-		if (status.getSeverity() != IStatus.INFO) {
-			if (showErrorDialog)
-				ErrorDialog.openError(
-					getActiveWorkbenchShell(),
-					null,
-					null,
-					status);
-			//ResourcesPlugin.getPlugin().getLog().log(status);
-//			 Should log on the update plugin's log
-//			Platform.getPlugin("org.eclipse.core.runtime").getLog().log(status);
-			Bundle bundle = Platform.getBundle("org.eclipse.update.ui");  //$NON-NLS-1$
-			Platform.getLog(bundle).log(status);
-		} else {
-			MessageDialog.openInformation(
-				getActiveWorkbenchShell(),
-				null,
-				status.getMessage());
-		}
-	}
-
-	public static IFeature[] searchSite(
-		String featureId,
-		IConfiguredSite site,
-		boolean onlyConfigured)
-		throws CoreException {
-		IFeatureReference[] references = null;
-
-		if (onlyConfigured)
-			references = site.getConfiguredFeatures();
-		else
-			references = site.getSite().getFeatureReferences();
-		Vector result = new Vector();
-
-		for (int i = 0; i < references.length; i++) {
-			IFeature feature = references[i].getFeature(null);
-			String id = feature.getVersionedIdentifier().getIdentifier();
-			if (featureId.equals(id)) {
-				result.add(feature);
-			}
-		}
-		return (IFeature[]) result.toArray(new IFeature[result.size()]);
-	}
-
-	public static IFeature[] getInstalledFeatures(IFeature feature) {
-		return getInstalledFeatures(feature, true);
-	}
-
-	public static IFeature[] getInstalledFeatures(
-		IFeature feature,
-		boolean onlyConfigured) {
-		Vector features = new Vector();
-		try {
-			ILocalSite localSite = SiteManager.getLocalSite();
-			IInstallConfiguration config = localSite.getCurrentConfiguration();
-			IConfiguredSite[] isites = config.getConfiguredSites();
-			VersionedIdentifier vid = feature.getVersionedIdentifier();
-			String id = vid.getIdentifier();
-
-			for (int i = 0; i < isites.length; i++) {
-				IConfiguredSite isite = isites[i];
-				IFeature[] result =
-					UpdateUI.searchSite(id, isite, onlyConfigured);
-				for (int j = 0; j < result.length; j++) {
-					IFeature installedFeature = result[j];
-					features.add(installedFeature);
-				}
-			}
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-		}
-		return (IFeature[]) features.toArray(new IFeature[features.size()]);
-	}
-
-
-	/**
-	 * Gets the authenticator.
-	 * @return Returns a UpdateManagerAuthenticator
-	 */
-	public UpdateManagerAuthenticator getAuthenticator() {
-		return authenticator;
-	}
-
-	public static URL getOriginatingURL(String id) {
-		IDialogSettings section = getOriginatingURLSection();
-		String value = section.get(id);
-		if (value != null) {
-			try {
-				return new URL(value);
-			} catch (MalformedURLException e) {
-			}
-		}
-		return null;
-	}
-
-	public static void setOriginatingURL(String id, URL url) {
-		IDialogSettings section = getOriginatingURLSection();
-		section.put(id, url.toString());
-	}
-
-	private static IDialogSettings getOriginatingURLSection() {
-		IDialogSettings settings = getDefault().getDialogSettings();
-		IDialogSettings section = settings.getSection("originatingURLs"); //$NON-NLS-1$
-		if (section == null)
-			section = settings.addNewSection("originatingURLs"); //$NON-NLS-1$
-		return section;
-	}
-
-	
-	/**
-	 * Prompts the user to restart
-	 * @param restartIsReallyNeeded true when a restart is needed, false if the user feels lucky (tm) and wants the changes
-	 * applied to the current config
-	 */
-	public static void requestRestart(boolean restartIsReallyNeeded) {
-		boolean restart =
-			RestartDialog.openQuestion(
-				getActiveWorkbenchShell(),
-				restartIsReallyNeeded);
-		if (restart)
-			PlatformUI.getWorkbench().restart();
-	}
-
-	public static void showURL(String url) {
-		showURL(url, false);
-	}
-
-	public static void showURL(String url, boolean encodeHostAndPort) {
-		if (encodeHostAndPort)
-			url = encodeHostAndPort(url);
-
-		IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
-		try {
-			IWebBrowser browser = support.getExternalBrowser();
-			browser.openURL(new URL(url));
-		}
-		catch (MalformedURLException e) {
-			UpdateUI.logException(e);
-		}
-		catch (PartInitException e) {
-			UpdateUI.logException(e);
-		}
-	}
-
-	private static String encodeHostAndPort(String urlName) {
-		String callbackURL = getCallbackURLAsString();
-		if (callbackURL == null)
-			return urlName;
-		String callbackParameter = "updateURL=" + callbackURL; //$NON-NLS-1$
-		if (urlName.indexOf('?') != -1)
-			return urlName + "&" + callbackParameter; //$NON-NLS-1$
-		else
-			return urlName + "?" + callbackParameter; //$NON-NLS-1$
-	}
-	
-	private static String getCallbackURLAsString() {
-		String host = getDefault().getAppServerHost();
-		int port = getDefault().getAppServerPort();
-		if (host == null || port == 0)
-			return null;
-		else {
-			String value =
-				"http://" //$NON-NLS-1$
-					+ host
-					+ ":" //$NON-NLS-1$
-					+ port
-					+ "/" //$NON-NLS-1$
-					+ WEB_APP_ID
-					+ "/install"; //$NON-NLS-1$
-			try {
-				value = URLEncoder.encode(value, "UTF-8"); //$NON-NLS-1$
-			} catch (UnsupportedEncodingException e) {
-			}
-			return value;
-		}
-	}
-	
-	public static boolean getRemindOnCancel() {
-		return remindOnCancel;
-	}
-	
-	public static void setRemindOnCancel(boolean remind) {
-		remindOnCancel = remind; 
-	}
-	
-	
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		return display;
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.runtime.Plugin#initializeDefaultPluginPreferences()
-	 */
-	protected void initializeDefaultPluginPreferences() {
-		Preferences store = getPluginPreferences();
-		store.setDefault(P_DISCOVERY_SITES_ENABLED, true);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIImages.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIImages.java
deleted file mode 100644
index 8526d43..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIImages.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui;
-
-import java.net.*;
-
-import org.eclipse.jface.resource.*;
-
-/**
- * Bundle of all images used by the PDE plugin.
- */
-public class UpdateUIImages {
-
-	public final static String ICONS_PATH = "icons/"; //$NON-NLS-1$
-
-	/**
-	 * Set of predefined Image Descriptors.
-	 */
-	
-	private static final String PATH_OBJ= ICONS_PATH+"obj16/"; //$NON-NLS-1$
-	private static final String PATH_VIEW = ICONS_PATH+"eview16/"; //$NON-NLS-1$
-	private static final String PATH_LCL= ICONS_PATH+"elcl16/"; //$NON-NLS-1$
-	private static final String PATH_LCL_DISABLED= ICONS_PATH+"dlcl16/"; //$NON-NLS-1$
-	private static final String PATH_OVR = ICONS_PATH + "ovr16/"; //$NON-NLS-1$
-	private static final String PATH_WIZBAN = ICONS_PATH + "wizban/"; //$NON-NLS-1$
-	public static final String PATH_FORMS = ICONS_PATH + "forms/"; //$NON-NLS-1$
-
-
-	/**
-	 * Frequently used images
-	 */
-
-	/**
-	 * OBJ16
-	 */
-	public static final ImageDescriptor DESC_APP_OBJ = create(PATH_OBJ, "app_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_BFOLDER_OBJ = create(PATH_OBJ, "bfolder_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_CATEGORY_OBJ = create(PATH_OBJ, "category_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_CONFIG_OBJ = create(PATH_OBJ, "config_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_FEATURE_OBJ = create(PATH_OBJ, "feature_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_EFIX_OBJ = create(PATH_OBJ, "efix2_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_HISTORY_OBJ = create(PATH_OBJ, "history_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_LSITE_OBJ = create(PATH_OBJ, "lsite_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_PSITE_OBJ = create(PATH_OBJ, "psite_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ESITE_OBJ = create(PATH_OBJ, "esite_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_SITE_OBJ = create(PATH_OBJ, "site_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_WEB_SITE_OBJ = create(PATH_OBJ, "web_bkmrk_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_UNCONF_FEATURE_OBJ = create(PATH_OBJ, "unconf_feature_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_UPDATES_OBJ = create(PATH_OBJ, "updates_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_NOTINST_FEATURE_OBJ = create(PATH_OBJ, "notinstalled_feature_obj.gif");	 //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ERR_ST_OBJ = create(PATH_OBJ, "error_st_obj.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_OK_ST_OBJ = create(PATH_OBJ, "ok_st_obj.gif"); //$NON-NLS-1$
-
-	
-	/**
-	 * OVR16
-	 */
-	public static final ImageDescriptor DESC_LINKED_CO   = create(PATH_OVR, "linked_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_UPDATED_CO   = create(PATH_OVR, "updated_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_INSTALLABLE_CO = create(PATH_OVR, "installable_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_CURRENT_CO = create(PATH_OVR, "current_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ERROR_CO = create(PATH_OVR, "error_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_WARNING_CO = create(PATH_OVR, "warning_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_MOD_CO = create(PATH_OVR, "mod_co.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ADD_CO = create(PATH_OVR, "add_stat.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_DEL_CO = create(PATH_OVR, "del_stat.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_UNCONF_CO = create(PATH_OVR, "unconfigured_co.gif"); //$NON-NLS-1$
-
-	/**
-	 * VIEW16
-	 */
-
-	public static final ImageDescriptor DESC_CONFIGS_VIEW = create(PATH_VIEW, "configs.gif"); //$NON-NLS-1$
-
-	/**
-	 * LCL
-	 */
-
-//	public static final ImageDescriptor DESC_SHOW_UNCONF = create(PATH_LCL, "show_unconf.gif"); //$NON-NLS-1$
-//	public static final ImageDescriptor DESC_SHOW_UNCONF_H = create(PATH_LCL_HOVER, "show_unconf.gif"); //$NON-NLS-1$
-//	public static final ImageDescriptor DESC_SHOW_UNCONF_D = create(PATH_LCL_DISABLED, "show_unconf.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_COLLAPSE_ALL = create(PATH_LCL, "collapseall.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY = create(PATH_LCL, "hierarchicalLayout.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_SHOW_HIERARCHY_D = create(PATH_LCL_DISABLED, "hierarchicalLayout.gif"); //$NON-NLS-1$
-
-	/**
-	 * WIZ
-	 */
-//	public static final ImageDescriptor DESC_INSTALL_WIZ  = create(PATH_WIZBAN, "install_wiz.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_UPDATE_WIZ  = create(PATH_WIZBAN, "update_wiz.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_CONFIG_WIZ  = create(PATH_WIZBAN, "config_wiz.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_UNINSTALL_WIZ  = create(PATH_WIZBAN, "uninstall_wiz.gif"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_INSTALL_BANNER  = create(PATH_WIZBAN, "def_wizban.jpg"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_PROVIDER = create(PATH_FORMS, "def_provider.jpg"); //$NON-NLS-1$
-	public static final ImageDescriptor DESC_ITEM = create(PATH_FORMS, "topic.gif"); //$NON-NLS-1$
-
-	private static ImageDescriptor create(String prefix, String name) {
-		return ImageDescriptor.createFromURL(makeImageURL(prefix, name));
-	}
-
-
-	private static URL makeImageURL(String prefix, String name) {
-		try {
-			URL base = UpdateUI.getDefault().getBundle().getEntry(prefix);
-			return new URL(base, name);
-		}
-		catch (MalformedURLException e) {
-			return null;
-		}
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIMessages.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIMessages.java
deleted file mode 100644
index d395484..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIMessages.java
+++ /dev/null
@@ -1,404 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui;
-
-import org.eclipse.osgi.util.NLS;
-
-public final class UpdateUIMessages extends NLS {
-
-	private static final String BUNDLE_NAME = "org.eclipse.update.internal.ui.UpdateUIPluginResources";//$NON-NLS-1$
-
-	private UpdateUIMessages() {
-		// Do not instantiate
-	}
-
-	public static String RestartTitle;
-	public static String RestartMessage;
-	public static String OptionalRestartMessage;
-	public static String ApplyChanges;
-	public static String ConfigurationManagerAction_title;
-	public static String ConfigurationManagerWindow_fileMenu;
-	public static String ConfigurationManagerWindow_properties;
-	public static String ConfigurationManagerWindow_close;
-	public static String EditBookmarksAction_edit;
-	public static String EditBookmarksAction_title;
-	public static String InstallWizardAction_title;
-	public static String InstallWizard_retryTitle;
-	public static String InstallWizard_retry;
-	public static String WebBookmarksDialog_label;
-	public static String WebBookmarksDialog_add;
-	public static String WebBookmarksDialog_new;
-	public static String WebBookmarksDialog_edit;
-	public static String WebBookmarksDialog_editTitle;
-	public static String WebBookmarksDialog_remove;
-	public static String DiscoveryFolder_name;
-	public static String FeatureAdapter_failure;
-	public static String SiteBookmark_connecting;
-	public static String SiteBookmark_downloading;
-	public static String SiteCategory_other_label;
-	public static String SiteCategory_other_description;
-	public static String MainPreferencePage_checkSignature;
-	public static String MainPreferencePage_historySize;
-	public static String MainPreferencePage_invalidHistorySize;
-	public static String MainPreferencePage_updateVersions;
-	public static String MainPreferencePage_updateVersions_equivalent;
-	public static String MainPreferencePage_updateVersions_compatible;
-	public static String MainPreferencePage_updatePolicy;
-	public static String MainPreferencePage_updatePolicyURL;
-	public static String MainPreferencePage_proxyGroup;
-	public static String MainPreferencePage_enableHttpProxy;
-	public static String MainPreferencePage_httpProxyHost;
-	public static String MainPreferencePage_httpProxyPort;
-	public static String MainPreferencePage_digitalSignature_title;
-	public static String MainPreferencePage_digitalSignature_message;
-	public static String MainPreferencePage_invalidPort;
-	public static String UpdateSettingsPreferencePage_description;
-	public static String UpdateSettingsPreferencePage_label;
-	public static String UpdateSettingsPreferencePage_invalid;
-	public static String ConfigurationActivitiesPropertyPage_label;
-	public static String ConfiguredSitePropertyPage_path;
-	public static String ConfiguredSitePropertyPage_type;
-	public static String ConfiguredSitePropertyPage_enabled;
-	public static String ConfiguredSitePropertyPage_yes;
-	public static String ConfiguredSitePropertyPage_no;
-	public static String ConfiguredSitePropertyPage_private;
-	public static String ConfiguredSitePropertyPage_extension;
-	public static String ConfiguredSitePropertyPage_product;
-	public static String ConfiguredSitePropertyPage_unknown;
-	public static String FeatureCopyrightPropertyPage_showInBrowser;
-	public static String FeatureCopyrightPropertyPage_noCopyright;
-	public static String FeatureGeneralPropertyPage_name;
-	public static String FeatureGeneralPropertyPage_id;
-	public static String FeatureGeneralPropertyPage_version;
-	public static String FeatureGeneralPropertyPage_provider;
-	public static String FeatureGeneralPropertyPage_size;
-	public static String FeatureGeneralPropertyPage_platforms;
-	public static String FeatureGeneralPropertyPage_ws;
-	public static String FeatureGeneralPropertyPage_arch;
-	public static String FeatureGeneralPropertyPage_nl;
-	public static String FeatureGeneralPropertyPage_all;
-	public static String FeatureGeneralPropertyPage_os;
-	public static String FeatureGeneralPropertyPage_desc;
-	public static String FeatureGeneralPropertyPage_Kilobytes;
-	public static String FeatureLicensePropertyPage_showInBrowser;
-	public static String FeatureLicensePropertyPage_noLicense;
-	public static String FeatureStatusPropertyPage_pendingChanges;
-	public static String FeatureStatusPropertyPage_reason;
-	public static String FeatureStatusPropertyPage_missingOptional;
-	public static String FeatureStatusPropertyPage_missing;
-	public static String FeatureStatusPropertyPage_goodConfiguration;
-	public static String JarVerificationDialog_wtitle;
-	public static String JarVerificationDialog_Title;
-	public static String JarVerificationDialog_Verification;
-	public static String JarVerificationDialog_ComponentNotInstalled;
-	public static String JarVerificationDialog_AboutToInstall_File;
-	public static String JarVerificationDialog_NotDigitallySigned_File;
-	public static String JarVerificationDialog_CannotVerifyProvider_File;
-	public static String JarVerificationDialog_CorruptedContent_File;
-	public static String JarVerificationDialog_SignedComponent_File;
-	public static String JarVerificationDialog_UnknownCertificate_File;
-	public static String JarVerificationDialog_UnableToVerifyProvider_File;
-	public static String JarVerificationDialog_ProviderKnown_File;
-	public static String JarVerificationDialog_KnownCertificate_File;
-	public static String JarVerificationDialog_AboutToInstall_Feature;
-	public static String JarVerificationDialog_NotDigitallySigned_Feature;
-	public static String JarVerificationDialog_CannotVerifyProvider_Feature;
-	public static String JarVerificationDialog_CorruptedContent_Feature;
-	public static String JarVerificationDialog_SignedComponent_Feature;
-	public static String JarVerificationDialog_UnknownCertificate_Feature;
-	public static String JarVerificationDialog_UnableToVerifyProvider_Feature;
-	public static String JarVerificationDialog_ProviderKnown_Feature;
-	public static String JarVerificationDialog_KnownCertificate_Feature;
-	public static String JarVerificationDialog_Caution;
-	public static String JarVerificationDialog_FileName;
-	public static String JarVerificationDialog_FeatureName;
-	public static String JarVerificationDialog_FeatureIdentifier;
-	public static String JarVerificationDialog_Provider;
-	public static String JarVerificationDialog_MayChooseToInstall;
-	public static String JarVerificationDialog_MayChooseToContinue;
-	public static String JarVerificationDialog_Install;
-	public static String JarVerificationDialog_InstallAll;
-	public static String JarVerificationDialog_Continue;
-	public static String JarVerificationDialog_Cancel;
-	public static String JarVerificationDialog_RootCA;
-	public static String JarVerificationDialog_SubjectCA;
-	public static String JarVerificationDialog_CertificateInfo;
-	public static String UserVerificationDialog_PasswordRequired;
-	public static String UserVerificationDialog_ConnectTo;
-	public static String UserVerificationDialog_Password;
-	public static String UserVerificationDialog_UserName;
-	public static String ConfigurationPreviewForm_configDescription;
-	public static String ConfigurationPreviewForm_install;
-	public static String ConfigurationPreviewForm_AvailableTasks;
-	public static String ConfigurationView_missingFeature;
-	public static String ConfigurationView_current;
-	public static String ConfigurationView_pending;
-	public static String ConfigurationView_error;
-	public static String ConfigurationView_collapseLabel;
-	public static String ConfigurationView_collapseTooltip;
-	public static String ConfigurationView_revertLabel;
-	public static String ConfigurationView_installHistory;
-	public static String ConfigurationView_extLocation;
-	public static String ConfigurationView_uninstall;
-	public static String ConfigurationView_install;
-	public static String ConfigurationView_anotherVersion;
-	public static String ConfigurationView_findUpdates;
-	public static String ConfigurationView_showNestedFeatures;
-	public static String ConfigurationView_showNestedTooltip;
-	public static String ConfigurationView_showInstall;
-	public static String ConfigurationView_showInstallTooltip;
-	public static String ConfigurationView_showDisabled;
-	public static String ConfigurationView_showDisabledTooltip;
-    public static String ConfigurationView_showActivitiesLabel;
-	public static String ConfigurationView_new;
-	public static String ConfigurationView_replaceWith;
-	public static String ConfigurationView_revertPreviousLabel;
-	public static String ConfigurationView_revertPreviousDesc;
-	public static String ConfigurationView_updateLabel;
-	public static String ConfigurationView_updateDesc;
-	public static String ConfigurationView_detectedChanges;
-	public static String ConfigurationView_detectedLabel;
-	public static String ConfigurationView_detectedDesc;
-	public static String ConfigurationView_installHistLabel;
-	public static String ConfigurationView_installHistDesc;
-	public static String ConfigurationView_activitiesLabel;
-	public static String ConfigurationView_activitiesDesc;
-	public static String ConfigurationView_enableLocDesc;
-	public static String ConfigurationView_extLocLabel;
-	public static String ConfigurationView_extLocDesc;
-	public static String ConfigurationView_propertiesLabel;
-	public static String ConfigurationView_installPropDesc;
-	public static String ConfigurationView_replaceVersionLabel;
-	public static String ConfigurationView_replaceVersionDesc;
-	public static String ConfigurationView_enableFeatureDesc;
-	public static String ConfigurationView_installOptionalLabel;
-	public static String ConfigurationView_installOptionalDesc;
-	public static String ConfigurationView_uninstallLabel;
-	public static String ConfigurationView_uninstallDesc;
-	public static String ConfigurationView_uninstallDesc2;
-	public static String ConfigurationView_scanLabel;
-	public static String ConfigurationView_scanDesc;
-	public static String ConfigurationView_featurePropLabel;
-	public static String ConfigurationView_featurePropDesc;
-    public static String ConfigurationView_loading;
-	public static String Actions_brokenConfigQuestion;
-	public static String FeatureStateAction_disable;
-	public static String FeatureStateAction_enable;
-	public static String FeatureStateAction_disableQuestion;
-	public static String FeatureStateAction_EnableQuestion;
-	public static String FeatureStateAction_dialogTitle;
-	public static String FeatureUninstallAction_uninstall;
-	public static String FeatureUninstallAction_uninstallQuestion;
-	public static String FeatureUninstallAction_dialogTitle;
-	public static String SiteStateAction_dialogTitle;
-	public static String SiteStateAction_disableLabel;
-	public static String SiteStateAction_disableMessage;
-	public static String SiteStateAction_enableLabel;
-	public static String SiteStateAction_enableMessage;
-	public static String FindUpdatesAction_updates;
-	public static String InstallationHistoryAction_title;
-	public static String InstallationHistoryAction_desc;
-	public static String InstallationHistoryAction_activity;
-	public static String InstallationHistoryAction_dateTime;
-	public static String InstallationHistoryAction_target;
-	public static String InstallationHistoryAction_action;
-	public static String InstallationHistoryAction_status;
-	public static String InstallationHistoryAction_errors;
-	public static String NewExtensionLocationAction_selectExtLocation;
-	public static String NewExtensionLocationAction_extInfoTitle;
-	public static String NewExtensionLocationAction_extInfoMessage;
-	public static String ActivitiesTableViewer_enabled;
-	public static String ActivitiesTableViewer_featureInstalled;
-	public static String ActivitiesTableViewer_featureRemoved;
-	public static String ActivitiesTableViewer_siteInstalled;
-	public static String ActivitiesTableViewer_siteRemoved;
-	public static String ActivitiesTableViewer_disabled;
-	public static String ActivitiesTableViewer_revert;
-	public static String ActivitiesTableViewer_reconcile;
-	public static String ActivitiesTableViewer_unknown;
-	public static String ActivitiesTableViewer_date;
-	public static String ActivitiesTableViewer_target;
-	public static String ActivitiesTableViewer_action;
-	public static String DeltaFeatureAdapter_shortName;
-	public static String DeltaFeatureAdapter_longName;
-	public static String DuplicateConflictsDialog_title;
-	public static String DuplicateConflictsDialog_message;
-	public static String DuplicateConflictsDialog_treeLabel;
-	public static String InstallDeltaWizard_wtitle;
-	public static String InstallDeltaWizard_processing;
-	public static String InstallDeltaWizard_title;
-	public static String InstallDeltaWizard_desc;
-	public static String InstallDeltaWizard_label;
-	public static String InstallDeltaWizard_delete;
-	public static String InstallDeltaWizard_errors;
-	public static String InstallDeltaWizard_message;
-	public static String ModeSelectionPage_title;
-	public static String ModeSelectionPage_desc;
-	public static String ModeSelectionPage_updates;
-	public static String ModeSelectionPage_updatesText;
-	public static String ModeSelectionPage_newFeatures;
-	public static String ModeSelectionPage_newFeaturesText;
-	public static String MoreInfoGenerator_notInstalled;
-	public static String MoreInfoGenerator_all;
-	public static String MoreInfoGenerator_license;
-	public static String MoreInfoGenerator_HTMLlicense;
-	public static String MoreInfoGenerator_licenseAvailable;
-	public static String MoreInfoGenerator_copyright;
-	public static String MoreInfoGenerator_HTMLcopyright;
-	public static String MoreInfoGenerator_copyrightAvailable;
-	public static String MoreInfoGenerator_platforms;
-	public static String MoreInfoGenerator_footprint;
-	public static String MoreInfoGenerator_downloadSize;
-	public static String MoreInfoGenerator_installSize;
-	public static String MoreInfoGenerator_downloadTime;
-	public static String MoreInfoGenerator_lessthanone;
-	public static String MoreInfoGenerator_desc;
-	public static String MoreInfoGenerator_moreInfo;
-	public static String NewUpdateSiteDialog_name;
-	public static String NewUpdateSiteDialog_url;
-	public static String NewUpdateSiteDialog_error_nameOrUrlNotSpecified;
-	public static String NewUpdateSiteDialog_error_duplicateName;
-	public static String NewUpdateSiteDialog_error_duplicateUrl;
-	public static String NewUpdateSiteDialog_error_incorrectUrl;
-	public static String InstallWizard_isRunningTitle;
-	public static String InstallWizard_isRunningInfo;
-	public static String InstallWizard_jobName;
-	public static String InstallWizard_download;
-	public static String InstallWizard_anotherJob;
-	public static String InstallWizard_anotherJobTitle;
-	public static String InstallWizard_wtitle;
-	public static String InstallWizard_OptionalFeaturesPage_title;
-	public static String InstallWizard_OptionalFeaturesPage_desc;
-	public static String InstallWizard_OptionalFeaturesPage_treeLabel;
-	public static String InstallWizard_OptionalFeaturesPage_selectAll;
-	public static String InstallWizard_OptionalFeaturesPage_deselectAll;
-	public static String InstallWizard_ReviewPage_counter;
-	public static String InstallWizard_ReviewPage_title;
-	public static String InstallWizard_ReviewPage_desc;
-	public static String InstallWizard_ReviewPage_searching;
-	public static String InstallWizard_ReviewPage_zeroUpdates;
-	public static String InstallWizard_ReviewPage_zeroFeatures;
-	public static String InstallWizard_ReviewPage_label;
-	public static String InstallWizard_ReviewPage_selectAll;
-	public static String InstallWizard_ReviewPage_deselectAll;
-	public static String InstallWizard_ReviewPage_moreInfo;
-	public static String InstallWizard_ReviewPage_properties;
-	public static String InstallWizard_ReviewPage_selectRequired;
-	public static String InstallWizard_ReviewPage_showStatus;
-	public static String InstallWizard_ReviewPage_filterFeatures;
-	public static String InstallWizard_ReviewPage_filterPatches;
-	public static String InstallWizard_ReviewPage_filterOlderFeatures;
-	public static String InstallWizard_ReviewPage_feature;
-	public static String InstallWizard_ReviewPage_version;
-	public static String InstallWizard_ReviewPage_provider;
-	public static String InstallWizard_ReviewPage_prop;
-	public static String InstallWizard_ReviewPage_invalid_long;
-	public static String InstallWizard_ReviewPage_invalid_short;
-	public static String InstallWizard_ReviewPage_cycle;
-	public static String InstallWizard_LicensePage_accept;
-	public static String InstallWizard_LicensePage_accept2;
-	public static String InstallWizard_LicensePage_decline;
-	public static String InstallWizard_LicensePage_decline2;
-	public static String InstallWizard_LicensePage_desc;
-	public static String InstallWizard_LicensePage_desc2;
-	public static String InstallWizard_LicensePage_down;
-	public static String InstallWizard_LicensePage_header;
-	public static String InstallWizard_LicensePage_title;
-	public static String InstallWizard_LicensePage_up;
-	public static String InstallWizard_TargetPage_title;
-	public static String InstallWizard_TargetPage_desc;
-	public static String InstallWizard_TargetPage_jobsLabel;
-	public static String InstallWizard_TargetPage_siteLabel;
-	public static String InstallWizard_TargetPage_new;
-	public static String InstallWizard_TargetPage_delete;
-	public static String InstallWizard_TargetPage_requiredSpace;
-	public static String InstallWizard_TargetPage_availableSpace;
-	public static String InstallWizard_TargetPage_location;
-	public static String InstallWizard_TargetPage_location_change;
-	public static String InstallWizard_TargetPage_location_message;
-	public static String InstallWizard_TargetPage_location_empty;
-	public static String InstallWizard_TargetPage_location_exists;
-	public static String InstallWizard_TargetPage_location_error_title;
-	public static String InstallWizard_TargetPage_location_error_message;
-	public static String InstallWizard_TargetPage_location_error_reason;
-	public static String InstallWizard_TargetPage_size;
-	public static String InstallWizard_TargetPage_unknownSize;
-	public static String InstallWizard_TargetPage_patchError;
-	public static String InstallWizard_TargetPage_patchError2;
-	public static String RevertConfigurationWizard_wtitle;
-	public static String RevertConfigurationWizardPage_title;
-	public static String RevertConfigurationWizardPage_desc;
-	public static String RevertConfigurationWizardPage_label;
-	public static String RevertConfigurationWizardPage_activities;
-	public static String RevertConfigurationWizardPage_question;
-	public static String Revert_ProblemDialog_title;
-	public static String ShowActivitiesDialog_title;
-	public static String ShowActivitiesDialog_date;
-	public static String ShowActivitiesDialog_loc;
-	public static String ShowActivitiesDialog_label;
-	public static String SitePage_title;
-	public static String SitePage_desc;
-	public static String SitePage_label;
-	public static String SitePage_addUpdateSite;
-	public static String SitePage_addLocalSite;
-	public static String SitePage_addLocalZippedSite;
-	public static String SitePage_edit;
-	public static String SitePage_remove;
-	public static String SitePage_import;
-	public static String SitePage_export;
-	public static String SitePage_ignore;
-	public static String SitePage_new;
-	public static String SitePage_dialogEditLocal;
-	public static String SitePage_dialogEditUpdateSite;
-	public static String SitePage_connecting;
-	public static String SitePage_remove_location_conf_title;
-	public static String SitePage_remove_location_conf;
-	public static String SearchRunner_connectionError;
-	public static String LocalSiteSelector_dialogMessage;
-	public static String LocalSiteSelector_dirInfoTitle;
-	public static String LocalSiteSelector_dirInfoMessage;
-	public static String LocalSiteSelector_dirDuplicateDefinition;
-	public static String LocalSiteSelector_dialogMessagezip;
-	public static String LocalSiteSelector_zipInfoTitle;
-	public static String LocalSiteSelector_zipInfoMessage;
-	public static String LocalSiteSelector_zipDuplicateDefinition;
-	public static String LocalSiteSelector_dialogMessageImport;
-	public static String LocalSiteSelector_importInfoTitle;
-	public static String LocalSiteSelector_importInfoMessage;
-	public static String LocalSiteSelector_dialogMessageExport;
-	public static String InstallServlet_unknownServerURL;
-	public static String InstallServlet_noFeatures;
-	public static String InstallServlet_inProgress;
-	public static String InstallServlet_incorrectURLFormat;
-	public static String InstallServlet_contactWebmaster;
-	public static String MissingFeature_provider;
-    public static String MissingFeature_id;
-	public static String MissingFeature_desc_unknown;
-	public static String MissingFeature_desc_optional;
-	public static String InstallDeltaWizard_reminder;
-	public static String SwapFeatureWizard_title;
-	public static String SwapFeatureWizardPage_title;
-	public static String SwapFeatureWizardPage_desc;
-	public static String SwapFeatureWizardPage_label;
-	public static String MirrorsDialog_text;
-	public static String MirrorsDialog_title;
-	public static String AutomaticUpdatesJob_Updates;
-	public static String AutomaticUpdatesJob_EclipseUpdates1;
-	public static String AutomaticUpdatesJob_UpdatesAvailable;
-	public static String AutomaticUpdatesJob_EclipseUpdates2;
-	public static String AutomaticUpdatesJob_UpdatesDownloaded;
-    
-    public static String FeaturePage_optionalInstall_title;
-
-	static {
-		NLS.initializeMessages(BUNDLE_NAME, UpdateUIMessages.class);
-	}
-}
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
deleted file mode 100644
index 5d5b0d1..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/UpdateUIPluginResources.properties
+++ /dev/null
@@ -1,455 +0,0 @@
-###############################################################################

-# Copyright (c) 2000, 2005 IBM Corporation and others.

-# All rights reserved. This program and the accompanying materials

-# are made available under the terms of the Eclipse Public License v1.0

-# which accompanies this distribution, and is available at

-# http://www.eclipse.org/legal/epl-v10.html

-#

-# Contributors:

-#     IBM Corporation - initial API and implementation

-###############################################################################

-#

-#

-#

-RestartTitle = Install/Update

-RestartMessage = You will need to restart the workbench for the changes to take effect. \

-Would you like to restart now?

-

-OptionalRestartMessage = It is recommended you restart the workbench for the changes to take effect, \

-but it may be possible to apply the changes to the current configuration without restarting.\

-Would you like to restart now?

-

-ApplyChanges=Apply Changes

-

-

-ConfigurationManagerAction_title=Product Configuration

-ConfigurationManagerWindow_fileMenu=&File

-ConfigurationManagerWindow_properties=&Properties

-ConfigurationManagerWindow_close=&Close

-

-EditBookmarksAction_edit=Edit Bookmarks...

-EditBookmarksAction_title=Bookmarks

-

-InstallWizardAction_title=Install/Update

-InstallWizard_retryTitle = Problem occurred

-InstallWizard_retry = Do you want to retry?

-

-WebBookmarksDialog_label=Current Bookmarks:

-WebBookmarksDialog_add=Add...

-WebBookmarksDialog_new=New Bookmark

-WebBookmarksDialog_edit=Edit...

-WebBookmarksDialog_editTitle=Edit Bookmark

-WebBookmarksDialog_remove=Remove

-

-DiscoveryFolder_name=Sites to Visit

-FeatureAdapter_failure=<failure>

-SiteBookmark_connecting = Connecting to "{0}"...

-SiteBookmark_downloading = Downloading:\ 

-SiteCategory_other_label = Other

-SiteCategory_other_description = Features found under this category are either not categorized or their categories could not be found on server.

-

-MainPreferencePage_checkSignature = Check digital &signatures of downloaded archives

-MainPreferencePage_historySize = &Maximum number of 'History' configurations:

-MainPreferencePage_invalidHistorySize = Maximum number of 'History' configurations has to be a number equal or greater then 0  

-MainPreferencePage_updateVersions = Valid updates

-MainPreferencePage_updateVersions_equivalent = e&quivalent (1.0.1 -> 1.0.2 - only service increments)

-MainPreferencePage_updateVersions_compatible = &compatible (1.0.9 -> 1.1.0 - service and minor increments)

-MainPreferencePage_updatePolicy = &Update Policy

-MainPreferencePage_updatePolicyURL = Po&licy URL:

-MainPreferencePage_proxyGroup = Proxy settings

-MainPreferencePage_enableHttpProxy = E&nable HTTP proxy connection

-MainPreferencePage_httpProxyHost = &HTTP proxy host address:

-MainPreferencePage_httpProxyPort =  HTTP &proxy host port:

-MainPreferencePage_digitalSignature_title = Digital Signature Check

-MainPreferencePage_digitalSignature_message = You have chosen to disable digital signature \

-checks for downloaded archives. Note that unsigned archives may \

-contain software that can harm your computer.

-MainPreferencePage_invalidPort = Port must be a number in the range 0-65535

-

-UpdateSettingsPreferencePage_description=Settings for automatic feature update

-UpdateSettingsPreferencePage_label=Address &Mappings URL:

-UpdateSettingsPreferencePage_invalid=Invalid mappings URL

-

-ConfigurationActivitiesPropertyPage_label=Activities that caused the creation of this configuration:

-

-ConfiguredSitePropertyPage_path=Location path:

-ConfiguredSitePropertyPage_type=Location type:

-ConfiguredSitePropertyPage_enabled=Enabled:

-ConfiguredSitePropertyPage_yes=yes

-ConfiguredSitePropertyPage_no=no

-ConfiguredSitePropertyPage_private=private

-ConfiguredSitePropertyPage_extension=product extension

-ConfiguredSitePropertyPage_product=product

-ConfiguredSitePropertyPage_unknown=unknown

-

-FeatureCopyrightPropertyPage_showInBrowser=&Show in Browser

-FeatureCopyrightPropertyPage_noCopyright=Feature does not contain a copyright statement

-

-FeatureGeneralPropertyPage_name=Name:

-FeatureGeneralPropertyPage_id=Identifier:

-FeatureGeneralPropertyPage_version=Version:

-FeatureGeneralPropertyPage_provider=Provider:

-FeatureGeneralPropertyPage_size=Size:

-FeatureGeneralPropertyPage_platforms=Supported Platforms

-FeatureGeneralPropertyPage_ws=Windowing System:

-FeatureGeneralPropertyPage_arch=CPU Architecture:

-FeatureGeneralPropertyPage_nl=Languages:

-FeatureGeneralPropertyPage_all=all

-FeatureGeneralPropertyPage_os=Operating System:

-FeatureGeneralPropertyPage_desc=Description

-FeatureGeneralPropertyPage_Kilobytes = KB

-

-FeatureLicensePropertyPage_showInBrowser=&Show in Browser

-FeatureLicensePropertyPage_noLicense=Feature does not contain a license.

-

-FeatureStatusPropertyPage_pendingChanges=The feature has pending changes.  Therefore, its status cannot be determined until you restart the workbench.

-FeatureStatusPropertyPage_reason=Reason:

-FeatureStatusPropertyPage_missingOptional=This optional feature is currently not installed.

-FeatureStatusPropertyPage_missing=Referenced feature not found.

-FeatureStatusPropertyPage_goodConfiguration=The feature is configured properly.

-

-JarVerificationDialog_wtitle = Verification

-JarVerificationDialog_Title= Feature Verification

-JarVerificationDialog_Verification=Verification

-JarVerificationDialog_ComponentNotInstalled=This feature will not be installed.

-

-JarVerificationDialog_AboutToInstall_File=Warning: You are about to install an unsigned feature file.

-JarVerificationDialog_NotDigitallySigned_File= This feature file has not been digitally signed.

-JarVerificationDialog_CannotVerifyProvider_File=The provider of this feature file cannot be verified.

-JarVerificationDialog_CorruptedContent_File=The content of this feature file has been corrupted

-JarVerificationDialog_SignedComponent_File=You are about to install a signed feature file.

-JarVerificationDialog_UnknownCertificate_File=The certificates used to authenticate this feature file are not recognized.

-JarVerificationDialog_UnableToVerifyProvider_File=The provider of this feature file cannot be verified.

-JarVerificationDialog_ProviderKnown_File=The provider of this feature file has been validated by a trusted third party.

-JarVerificationDialog_KnownCertificate_File=One of the certificates used to authenticate this feature file was recognized.

-

-JarVerificationDialog_AboutToInstall_Feature=Warning: You are about to install an unsigned feature.

-JarVerificationDialog_NotDigitallySigned_Feature= This feature has not been digitally signed.

-JarVerificationDialog_CannotVerifyProvider_Feature=The provider of this feature cannot be verified.

-JarVerificationDialog_CorruptedContent_Feature=The content of this feature has been corrupted

-JarVerificationDialog_SignedComponent_Feature=You are about to install a signed feature.

-JarVerificationDialog_UnknownCertificate_Feature=The certificates used to authenticate this feature are not recognized.

-JarVerificationDialog_UnableToVerifyProvider_Feature=The provider of this feature cannot be verified.

-JarVerificationDialog_ProviderKnown_Feature=The provider of this feature has been validated by a trusted third party.

-JarVerificationDialog_KnownCertificate_Feature=One of the certificates used to authenticate this feature was recognized.

-

-JarVerificationDialog_Caution=\r\nCaution: \"{0}\" asserts that the content of this feature is safe. \r\nYou should only install this feature if you trust \"{0}\" to make that assertion

-JarVerificationDialog_FileName=File Identifier:

-JarVerificationDialog_FeatureName=Feature name:

-JarVerificationDialog_FeatureIdentifier=Feature Identifier:

-JarVerificationDialog_Provider=	Provider:

-JarVerificationDialog_MayChooseToInstall=You may choose to install the feature or cancel its installation.

-JarVerificationDialog_MayChooseToContinue=You may choose to continue to install the feature or cancel its installation.

-JarVerificationDialog_Install=&Install

-JarVerificationDialog_InstallAll=Install &All

-JarVerificationDialog_Continue=C&ontinue

-JarVerificationDialog_Cancel=&Cancel

-JarVerificationDialog_RootCA= According to:

-JarVerificationDialog_SubjectCA= File signed by:

-JarVerificationDialog_CertificateInfo= Certificate:

-

-UserVerificationDialog_PasswordRequired=Password Required

-UserVerificationDialog_ConnectTo=Connect to:

-UserVerificationDialog_Password=Password:

-UserVerificationDialog_UserName=User name:

-

-ConfigurationPreviewForm_configDescription=This is the description of the current configuration.

-ConfigurationPreviewForm_install=Install Location

-ConfigurationPreviewForm_AvailableTasks=Available Tasks

-

-ConfigurationView_missingFeature = {0} (not installed)

-ConfigurationView_current=Current Configuration

-ConfigurationView_pending=\ (pending changes)

-ConfigurationView_error=Error

-ConfigurationView_collapseLabel=Collapse All

-ConfigurationView_collapseTooltip=Collapse All

-ConfigurationView_revertLabel=Revert...

-ConfigurationView_installHistory =Installation History

-ConfigurationView_extLocation=Extension Location...

-ConfigurationView_uninstall=Uninstall

-ConfigurationView_install=Install

-ConfigurationView_anotherVersion=&Another Version...

-ConfigurationView_findUpdates=Find Updates...

-ConfigurationView_showNestedFeatures=Show Nested Features

-ConfigurationView_showNestedTooltip=Show Nested Features

-ConfigurationView_showInstall=Show Install Locations

-ConfigurationView_showInstallTooltip=Show Install Locations

-ConfigurationView_showDisabled=Show Disabled Features

-ConfigurationView_showDisabledTooltip=Show Disabled Features

-ConfigurationView_showActivitiesLabel = Show Activities

-

-ConfigurationView_new=Add

-ConfigurationView_replaceWith=Replace with

-ConfigurationView_revertPreviousLabel=Revert to Previous

-ConfigurationView_revertPreviousDesc=You can revert to one of the previous configurations if you are having problems with the current one.

-ConfigurationView_updateLabel=Scan for Updates

-ConfigurationView_updateDesc=Search for updates for all the installed features.

-ConfigurationView_detectedChanges=Detected Changes...

-ConfigurationView_detectedLabel=Process Detected Changes

-ConfigurationView_detectedDesc=Process configuration changes that were detected by the configuration manager.

-ConfigurationView_installHistLabel=View Installation History

-ConfigurationView_installHistDesc=View all activities since the installation of the product.

-ConfigurationView_activitiesLabel=Show Activities

-ConfigurationView_activitiesDesc=View the activities that caused the creation of this configuration.

-ConfigurationView_enableLocDesc=You can enable or disable an entire install location. Disabling a location is equivalent to disabling every feature in it.

-ConfigurationView_extLocLabel=Add an Extension Location

-ConfigurationView_extLocDesc=Locate and add an extension location to the current configuration. An extension location contains features and plugins previously installed.

-ConfigurationView_propertiesLabel=Show Properties

-ConfigurationView_installPropDesc=View the properties of the install location.

-ConfigurationView_replaceVersionLabel=Replace With Another Version

-ConfigurationView_replaceVersionDesc=Disables the current version of the feature and replaces it with another version from the list of the currently disabled features.

-ConfigurationView_enableFeatureDesc=You can enable or disable the functionality of a feature. The feature is not removed by this action.

-ConfigurationView_installOptionalLabel=Install from Originating Server

-ConfigurationView_installOptionalDesc=This optional feature was not originally installed. You can install it now by connecting to the originating server of the parent.

-ConfigurationView_uninstallLabel=Uninstall

-ConfigurationView_uninstallDesc=This feature is currently not used and can be uninstalled from the product.

-ConfigurationView_uninstallDesc2=Uninstall the feature from the product. This will disable the feature from the current configuration and remove it from the disk.

-ConfigurationView_scanLabel=Scan for Updates

-ConfigurationView_scanDesc=Search for updates for this feature.

-ConfigurationView_featurePropLabel=Show Properties

-ConfigurationView_featurePropDesc=View properties of the feature such as version, provider name, license agreement etc.

-ConfigurationView_loading = Loading...

-

-Actions_brokenConfigQuestion=The current configuration contains errors and this operation can have unpredictable results. Do you want to continue ?

-

-FeatureStateAction_disable=Disable

-FeatureStateAction_enable=Enable

-FeatureStateAction_disableQuestion=Do you want to disable this feature?

-FeatureStateAction_EnableQuestion=Do you want to enable this feature?

-FeatureStateAction_dialogTitle=Current Configuration

-

-FeatureUninstallAction_uninstall=Uninstall

-FeatureUninstallAction_uninstallQuestion=Do you want to uninstall this feature?

-FeatureUninstallAction_dialogTitle=Current Configuration

-

-SiteStateAction_dialogTitle=Current Configuration

-SiteStateAction_disableLabel=Disable

-SiteStateAction_disableMessage=Do you want to disable all the features in "{0}"?

-SiteStateAction_enableLabel=Enable

-SiteStateAction_enableMessage=Do you want to enable features in "{0}"?

-

-FindUpdatesAction_updates=Updates

-

-InstallationHistoryAction_title=Installation History

-InstallationHistoryAction_desc=The list below represents the history of your update activities from the product installation to date. Each operation carries a date it commenced, as well as activities performed. Operations are sorted by date in ascending order.

-InstallationHistoryAction_activity=ACTIVITY

-InstallationHistoryAction_dateTime=Date / Time

-InstallationHistoryAction_target=Target

-InstallationHistoryAction_action=Action

-InstallationHistoryAction_status=Status

-InstallationHistoryAction_errors=Errors while creating installation history file.

-

-NewExtensionLocationAction_selectExtLocation=Select an extension location. An extension location is a directory named eclipse, which contains the .eclipseextension marker file, as well the features and plugins folders.

-NewExtensionLocationAction_extInfoTitle=Invalid Extension

-NewExtensionLocationAction_extInfoMessage=Selected location does not contain a product extension. An extension should consist of a directory named eclipse, which contains a marker file called .eclipseextension and the features and plugins folders.  Please select another location.

-

-ActivitiesTableViewer_enabled=Enabled

-ActivitiesTableViewer_featureInstalled=Feature Installed

-ActivitiesTableViewer_featureRemoved=Feature Removed

-ActivitiesTableViewer_siteInstalled=Site Installed

-ActivitiesTableViewer_siteRemoved=Site Removed

-ActivitiesTableViewer_disabled=Disabled

-ActivitiesTableViewer_revert=Revert

-ActivitiesTableViewer_reconcile=Reconcile

-ActivitiesTableViewer_unknown=unknown

-ActivitiesTableViewer_date=Date

-ActivitiesTableViewer_target=Target

-ActivitiesTableViewer_action=Action

-

-DeltaFeatureAdapter_shortName = {0} ({1})

-DeltaFeatureAdapter_longName = {0} ({1}) in {2}

-

-DuplicateConflictsDialog_title = Duplicate Conflicts

-DuplicateConflictsDialog_message = If you continue with the update/install, \

-the resulting configuration will contain duplication conflicts \

-that may cause parts of the product to be unusable. Do you want to \

-continue?

-DuplicateConflictsDialog_treeLabel = &Detected conflicts:

-

-InstallDeltaWizard_wtitle = Configuration Changes

-InstallDeltaWizard_processing = Processing pending changes:

-InstallDeltaWizard_title = Pending Configuration Changes

-InstallDeltaWizard_desc = Check the changes you wish to process now. Remove changes that should never be processed.

-InstallDeltaWizard_label = Detected &changes:

-InstallDeltaWizard_delete = &Remove

-InstallDeltaWizard_errors = &Error Details...

-InstallDeltaWizard_message = Selected update will result in an invalid configuration.

-

-ModeSelectionPage_title=Feature Updates

-ModeSelectionPage_desc=Choose the way you want to search for features to install

-ModeSelectionPage_updates=Search for &updates of the currently installed features

-ModeSelectionPage_updatesText=Select this option if you want to search for updates of the features you already have installed.

-ModeSelectionPage_newFeatures=&Search for new features to install

-ModeSelectionPage_newFeaturesText=Select this option if you want to install new features from existing or new update sites. \

-Some sites may already be available. You can add new update site URLs to the search.

-

-MoreInfoGenerator_notInstalled=not installed

-MoreInfoGenerator_all=all

-MoreInfoGenerator_license=License

-MoreInfoGenerator_HTMLlicense=HTML version of the license agreement

-MoreInfoGenerator_licenseAvailable=is also available.

-MoreInfoGenerator_copyright=Copyright

-MoreInfoGenerator_HTMLcopyright=HTML version of the copyright

-MoreInfoGenerator_copyrightAvailable=is also available.

-MoreInfoGenerator_platforms=Supported Platforms

-MoreInfoGenerator_footprint=Footprint

-MoreInfoGenerator_downloadSize=Download size:

-MoreInfoGenerator_installSize=Install size:

-MoreInfoGenerator_downloadTime=Estimated download time:

-MoreInfoGenerator_lessthanone=less than one minute

-MoreInfoGenerator_desc=Description

-MoreInfoGenerator_moreInfo=More info...

-

-NewUpdateSiteDialog_name=Name:

-NewUpdateSiteDialog_url=URL:

-NewUpdateSiteDialog_error_nameOrUrlNotSpecified=Both name and url have to be specified

-NewUpdateSiteDialog_error_duplicateName=This name is already in use

-NewUpdateSiteDialog_error_duplicateUrl=This URL is already defined under name {0}

-NewUpdateSiteDialog_error_incorrectUrl=URL is not correct

-

-InstallWizard_isRunningTitle=Install/Update in progress

-InstallWizard_isRunningInfo=Another install/update job is in progress. Please cancel it and then re-launch this action.

-InstallWizard_jobName=Update Manager

-InstallWizard_download=Download and install selected features.

-InstallWizard_anotherJob = There is another update/install task running in the background. Do you want to kill it and continue the current tasks instead?

-InstallWizard_anotherJobTitle=Installer is running

-InstallWizard_wtitle=Install

-InstallWizard_OptionalFeaturesPage_title= Optional Features

-InstallWizard_OptionalFeaturesPage_desc = Some of the features that are included in this feature are optional.

-InstallWizard_OptionalFeaturesPage_treeLabel = &Available optional features:

-InstallWizard_OptionalFeaturesPage_selectAll = &Select All

-InstallWizard_OptionalFeaturesPage_deselectAll = &Deselect All

-

-InstallWizard_ReviewPage_counter = {0} of {1} selected.

-InstallWizard_ReviewPage_title=Search Results

-InstallWizard_ReviewPage_desc=Select features to install from the search result list.

-InstallWizard_ReviewPage_searching=Searching for features is in progress. Click on Cancel if you want to stop it.\nYou may need to wait a few seconds for cancellation to happen.

-InstallWizard_ReviewPage_zeroUpdates=No updates for the currently installed feature(s) found, try again later.

-InstallWizard_ReviewPage_zeroFeatures=No features found on the selected site(s). Choose a different site or site category.

-InstallWizard_ReviewPage_label=Select the features to &install:

-InstallWizard_ReviewPage_selectAll=&Select All

-InstallWizard_ReviewPage_deselectAll=&Deselect All

-InstallWizard_ReviewPage_moreInfo=&More Info

-InstallWizard_ReviewPage_properties=&Properties

-InstallWizard_ReviewPage_selectRequired=&Select Required

-InstallWizard_ReviewPage_showStatus=&Error Details...

-InstallWizard_ReviewPage_filterFeatures=\ Fil&ter features included in other features on the list

-InstallWizard_ReviewPage_filterPatches=\ Fil&ter patches included in other patches on the list

-InstallWizard_ReviewPage_filterOlderFeatures=\ Show the latest &version of a feature only

-InstallWizard_ReviewPage_feature=Feature

-InstallWizard_ReviewPage_version=Version

-InstallWizard_ReviewPage_provider=Provider

-InstallWizard_ReviewPage_prop=&Properties

-InstallWizard_ReviewPage_invalid_long=Invalid combination - select \"Show Status...\" for details.

-InstallWizard_ReviewPage_invalid_short=Invalid combination

-InstallWizard_ReviewPage_cycle=Cycle starting at {0}

-

-InstallWizard_LicensePage_accept = I &accept the terms in the license agreement

-InstallWizard_LicensePage_accept2 = I &accept the terms in the license agreements

-InstallWizard_LicensePage_decline = I &do not accept the terms in the license agreement

-InstallWizard_LicensePage_decline2 = I &do not accept the terms in the license agreements

-InstallWizard_LicensePage_desc = This feature has a license \

-agreement that you need to accept before proceeding with \

-the installation.

-InstallWizard_LicensePage_desc2 = Some of the features have license \

-agreements that you need to accept before proceeding with \

-the installation.

-InstallWizard_LicensePage_down=Next &License

-InstallWizard_LicensePage_header={0} out of {1}: {2} ({3})

-InstallWizard_LicensePage_title = Feature License

-InstallWizard_LicensePage_up=&Previous License

-

-InstallWizard_TargetPage_title = Installation

-InstallWizard_TargetPage_desc = The following features will be installed. You can select a feature and change the location where the feature will be installed.

-InstallWizard_TargetPage_jobsLabel = Features to &install:

-InstallWizard_TargetPage_siteLabel = A&vailable installation locations:

-InstallWizard_TargetPage_new = &Add Location...

-InstallWizard_TargetPage_delete = &Remove Location

-InstallWizard_TargetPage_requiredSpace = Required space:

-InstallWizard_TargetPage_availableSpace = Free space:

-InstallWizard_TargetPage_location = Install Location

-InstallWizard_TargetPage_location_change = Change Location ...

-InstallWizard_TargetPage_location_message = Select a new install location

-InstallWizard_TargetPage_location_empty = Target install location must be selected. If none is available, create a new one.

-InstallWizard_TargetPage_location_exists = Target location already exists.

-InstallWizard_TargetPage_location_error_title = Invalid Location

-InstallWizard_TargetPage_location_error_message = The selected location cannot be used to install features: {0}

-InstallWizard_TargetPage_location_error_reason = Reason: {0}

-InstallWizard_TargetPage_size = {0}KB

-InstallWizard_TargetPage_unknownSize = Unknown

-InstallWizard_TargetPage_patchError = Patch "{0}" must be installed in the same location as "{1}"

-InstallWizard_TargetPage_patchError2 = Patch "{0}" must be installed in the same location as "{1}" : {2}

-

-RevertConfigurationWizard_wtitle=Revert to a Previous Configuration

-RevertConfigurationWizardPage_title=Revert to a Previous Configuration

-RevertConfigurationWizardPage_desc=Choose a stable configuration to which you would like to revert

-RevertConfigurationWizardPage_label=&Past configurations:

-RevertConfigurationWizardPage_activities=&Activities that caused the creation of this configuration:

-RevertConfigurationWizardPage_question=This operation requires restarting the workbench.  Would you like to proceed?

-

-Revert_ProblemDialog_title = Restore Problems

-

-ShowActivitiesDialog_title = Current Configuration

-ShowActivitiesDialog_date = Date:

-ShowActivitiesDialog_loc = Location:

-ShowActivitiesDialog_label = Activities that caused the creation of the current configuration:

-

-SitePage_title=Update sites to visit

-SitePage_desc=Select update sites to visit while looking for new features.

-SitePage_label=&Sites to include in search:

-SitePage_addUpdateSite=New Remo&te Site...

-SitePage_addLocalSite=New &Local Site...

-SitePage_addLocalZippedSite=New &Archived Site...

-SitePage_edit=&Edit...

-SitePage_remove=&Remove

-SitePage_import=I&mport sites...

-SitePage_export=E&xport sites...

-SitePage_ignore=&Ignore features not applicable to this environment

-SitePage_new=New Update Site

-SitePage_dialogEditLocal=Edit Local Site

-SitePage_dialogEditUpdateSite=Edit Remote Site

-SitePage_connecting=Connecting

-SitePage_remove_location_conf_title=Remove Location

-SitePage_remove_location_conf=Are you sure you want to remove this location?

-

-SearchRunner_connectionError=Connection error

-

-LocalSiteSelector_dialogMessage=Select a local update site.

-LocalSiteSelector_dirInfoTitle=Invalid Site

-LocalSiteSelector_dirInfoMessage=Selected location does not contain an update site.  Please select another location.

-LocalSiteSelector_dirDuplicateDefinition=Selected location is already defined under another name.  Please select another location.

-LocalSiteSelector_dialogMessagezip=Select Local Site Archive

-LocalSiteSelector_zipInfoTitle=Invalid Site

-LocalSiteSelector_zipInfoMessage=Selected archive does not contain an update site.  Please select another archive.

-LocalSiteSelector_zipDuplicateDefinition=Selected archive is already defined under another name.  Please select another archive.

-LocalSiteSelector_dialogMessageImport=Import Sites Bookmarks

-LocalSiteSelector_importInfoTitle=Invalid Bookmarks File

-LocalSiteSelector_importInfoMessage=Selected file does not contain update sites bookmarks.  Please select another file.

-LocalSiteSelector_dialogMessageExport=Export Sites Bookmarks

-

-InstallServlet_unknownServerURL=Update server URL is unknown.

-InstallServlet_noFeatures=No features to install.

-InstallServlet_inProgress = Another install session is already in progress.

-InstallServlet_incorrectURLFormat=Update server URL has incorrect format: {0}

-InstallServlet_contactWebmaster=Contact Web master that maintains the page that initiated this operation.

-

-MissingFeature_id = unknown

-MissingFeature_provider = N/A

-MissingFeature_desc_unknown = The feature was not loaded due to errors. Open feature properties for details.

-MissingFeature_desc_optional = This optional feature has not been installed.

-InstallDeltaWizard_reminder=To process these changes at a later time, go to Help->Software Updates->Manage Configuration...

-SwapFeatureWizard_title=Replace With Another Version

-SwapFeatureWizardPage_title=Replace With Another Version

-SwapFeatureWizardPage_desc=Disable the current version of the feature and replace it with one of the versions from the list

-SwapFeatureWizardPage_label=&Available disabled versions:

-

-MirrorsDialog_text=The content of the update site "{0}" is also available on the mirrors listed below. You may choose to select a mirror instead of the default update site.

-MirrorsDialog_title=Update Site Mirrors

-

-AutomaticUpdatesJob_Updates=Updates

-AutomaticUpdatesJob_EclipseUpdates1=Automatic Updates

-AutomaticUpdatesJob_UpdatesAvailable=New updates are available. Do you want to review and install them now?

-AutomaticUpdatesJob_EclipseUpdates2=Automatic Updates

-AutomaticUpdatesJob_UpdatesDownloaded=New updates are available and downloaded. Do you want to review and install them now?

-

-FeaturePage_optionalInstall_title = Optional Install

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkFolder.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkFolder.java
deleted file mode 100644
index a2964b8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkFolder.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import java.util.*;
-
-public class BookmarkFolder extends NamedModelObject {
-
-    private static final long serialVersionUID = 1L;
-    protected ArrayList children= new ArrayList();
-	public BookmarkFolder() {
-	}
-	
-	public BookmarkFolder(String name) {
-		super(name);
-	}
-	
-	public Object[] getChildren(Object parent) {
-		return children.toArray();
-	}
-	
-	public boolean hasChildren() {
-		return children.size()>0;
-	} 
-	
-	public void addChild(NamedModelObject object) {
-		internalAdd(object);
-		notifyObjectsAdded(this, new Object[] {object});
-	}
-
-	public void addChildren(NamedModelObject [] objects) {
-		for (int i=0; i<objects.length; i++) {
-			internalAdd(objects[i]);
-		}
-		notifyObjectsAdded(this, objects);
-	}
-	
-	protected void internalAdd(NamedModelObject child) {
-		children.add(child);
-		child.setModel(getModel());
-		child.setParent(this);
-	}
-	
-	public void removeChildren(NamedModelObject [] objects) {
-		for (int i=0; i<objects.length; i++) {
-			children.remove(objects[i]);
-			objects[i].setParent(null);
-		}
-		notifyObjectsRemoved(this, objects);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkUtil.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkUtil.java
deleted file mode 100644
index 2d844d7..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/BookmarkUtil.java
+++ /dev/null
@@ -1,274 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import javax.xml.parsers.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.ui.*;
-import org.w3c.dom.*;
-import org.xml.sax.*;
-
-public class BookmarkUtil {
-	private static final DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
-
-	public static void parse(String fileName, Vector bookmarks) {
-		File file = new File(fileName);
-		if (!file.exists())
-			return;
-
-		try {
-			documentBuilderFactory.setNamespaceAware(true);
-			DocumentBuilder parser = documentBuilderFactory.newDocumentBuilder();
-			Document doc = parser.parse(file);
-			Node root = doc.getDocumentElement();
-			processRoot(root, bookmarks);
-		} catch (ParserConfigurationException e) {
-			UpdateUI.logException(e);
-		} catch (SAXException e) {
-			UpdateUI.logException(e);
-		} catch (IOException e) {
-			UpdateUI.logException(e);
-		}
-	}
-
-	public static SiteBookmark[] getBookmarks(Vector bookmarks) {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < bookmarks.size(); i++) {
-			processEntry(bookmarks.get(i), result);
-		}
-		return (SiteBookmark[]) result.toArray(new SiteBookmark[result.size()]);
-	}
-
-	public static BookmarkFolder getFolder(Vector bookmarks, IPath path) {
-		NamedModelObject object = find(bookmarks, path);
-		if (object != null && object instanceof BookmarkFolder)
-			return (BookmarkFolder) object;
-		return null;
-	}
-
-	public static NamedModelObject find(Vector bookmarks, IPath path) {
-		Object[] array = bookmarks.toArray();
-		return find(array, path);
-	}
-
-	private static NamedModelObject find(Object[] array, IPath path) {
-		String name = path.segment(0);
-		for (int i = 0; i < array.length; i++) {
-			NamedModelObject obj = (NamedModelObject) array[i];
-			if (obj.getName().equals(name)) {
-				if (obj instanceof BookmarkFolder) {
-					if (path.segmentCount() > 1) {
-						IPath childPath = path.removeFirstSegments(1);
-						BookmarkFolder folder = (BookmarkFolder) obj;
-						return find(folder.getChildren(null), childPath);
-					}
-				}
-				return obj;
-			}
-		}
-		return null;
-	}
-
-	private static void processRoot(Node root, Vector bookmarks) {
-		if (root.getNodeName().equals("bookmarks")) { //$NON-NLS-1$
-			NodeList children = root.getChildNodes();
-			processChildren(children, null, bookmarks);
-		}
-	}
-	private static void processChildren(
-		NodeList children,
-		BookmarkFolder folder,
-		Vector bookmarks) {
-		UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node child = children.item(i);
-			NamedModelObject object = null;
-			if (child.getNodeType() == Node.ELEMENT_NODE) {
-				if (child.getNodeName().equals("site")) { //$NON-NLS-1$
-					object = createSite(child);
-				} else if (child.getNodeName().equals("folder")) { //$NON-NLS-1$
-					object = createFolder(child);
-				} 
-			}
-			if (object != null) {
-				if (folder != null) {
-					folder.addChild(object);
-				} else {
-					bookmarks.add(object);
-				}
-				object.setModel(model);
-			}
-		}
-	}
-
-	private static SiteBookmark createSite(Node child) {
-		String name = getAttribute(child, "name"); //$NON-NLS-1$
-		URL url = null;
-		try {
-			url = new URL(getAttribute(child, "url")); //$NON-NLS-1$
-		} catch (MalformedURLException e) {
-		}
-
-		String web = getAttribute(child, "web"); //$NON-NLS-1$
-		boolean webBookmark = (web != null && web.equals("true")); //$NON-NLS-1$
-
-		String sel = getAttribute(child, "selected"); //$NON-NLS-1$
-		boolean selected = (sel != null && sel.equals("true")); //$NON-NLS-1$
-
-		SiteBookmark bookmark = new SiteBookmark(name, url, webBookmark, selected);
-
-		String local = getAttribute(child, "local"); //$NON-NLS-1$
-		bookmark.setLocal(local != null && local.equals("true")); //$NON-NLS-1$
-
-		String ign = getAttribute(child, "ignored-categories"); //$NON-NLS-1$
-		if (ign != null) {
-			StringTokenizer stok = new StringTokenizer(ign, ","); //$NON-NLS-1$
-			ArrayList array = new ArrayList();
-			while (stok.hasMoreTokens()) {
-				String tok = stok.nextToken();
-				array.add(tok);
-			}
-			bookmark.setIgnoredCategories((String[]) array.toArray(new String[array.size()]));
-		}
-		// read description
-		NodeList children = child.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node node = children.item(i);
-			if (node.getNodeType() == Node.ELEMENT_NODE) {
-				bookmark.setDescription(createDescription(node));
-				break;
-			}
-		}
-		return bookmark;
-	}
-
-	private static String createDescription(Node child) {
-		String description = ""; //$NON-NLS-1$
-		NodeList children = child.getChildNodes();
-		for (int i = 0; i < children.getLength(); i++) {
-			Node node = children.item(i);
-			if (node.getNodeType() == Node.TEXT_NODE) 
-				description += node.getNodeValue();
-		}
-		return description;
-	}
-
-		
-	private static BookmarkFolder createFolder(Node child) {
-		BookmarkFolder folder = new BookmarkFolder();
-		String name = getAttribute(child, "name"); //$NON-NLS-1$
-		folder.setName(name);
-		if (child.hasChildNodes())
-			processChildren(child.getChildNodes(), folder, null);
-		return folder;
-	}
-
-	public static void store(String fileName, Vector bookmarks) {
-		FileOutputStream fos = null;
-		OutputStreamWriter osw = null;
-		PrintWriter writer = null;
-		try {
-			fos = new FileOutputStream(fileName);
-			osw = new OutputStreamWriter(fos, "UTF8"); //$NON-NLS-1$
-			writer = new PrintWriter(osw);
-			writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); //$NON-NLS-1$
-			writer.println("<bookmarks>"); //$NON-NLS-1$
-			for (int i = 0; i < bookmarks.size(); i++) {
-				Object obj = bookmarks.get(i);
-				writeObject("   ", obj, writer); //$NON-NLS-1$
-			}
-			writer.println("</bookmarks>"); //$NON-NLS-1$
-			writer.flush();
-			writer.close();
-		} catch (IOException e) {
-		} finally {
-			try {
-				if (osw != null)
-					osw.close();
-			} catch (IOException e1) {
-			}
-			try {
-				if (fos != null)
-					fos.close();
-			} catch (IOException e2) {
-			}
-		}
-	}
-	private static void writeObject(
-		String indent,
-		Object obj,
-		PrintWriter writer) {
-		if (obj instanceof SiteBookmark) {
-			SiteBookmark bookmark = (SiteBookmark) obj;
-			String name = bookmark.getName();
-			String url = bookmark.getURL().toString();
-			String web = bookmark.isWebBookmark()?"true":"false"; //$NON-NLS-1$ //$NON-NLS-2$
-			String sel = bookmark.isSelected()?"true":"false"; //$NON-NLS-1$ //$NON-NLS-2$
-			String local = bookmark.isLocal() ? "true" : "false"; //$NON-NLS-1$ //$NON-NLS-2$
-			String [] ign = bookmark.getIgnoredCategories();
-			StringBuffer wign = new StringBuffer();
-			for (int i = 0; i < ign.length; i++) {
-				if (i > 0)
-					wign.append(',');
-				wign.append(ign[i]);
-			}
-			writer.print(indent + "<site name=\"" + UpdateManagerUtils.getWritableXMLString(name) + "\" url=\"" + url + "\" web=\"" + web + "\" selected=\"" + sel + "\" local=\"" + local + "\""); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
-			if (wign.length() > 0)
-				writer.print(" ignored-categories=\""+wign.toString()+"\""); //$NON-NLS-1$ //$NON-NLS-2$
-			if (bookmark.getDescription() != null) {
-				writer.println(">"); //$NON-NLS-1$
-				writer.print(indent+"  <description>"); //$NON-NLS-1$
-				writer.print(UpdateManagerUtils.getWritableXMLString(bookmark.getDescription()));
-				writer.println("</description>"); //$NON-NLS-1$
-				writer.println(indent +"</site>"); //$NON-NLS-1$
-			} else {
-				writer.println("/>"); //$NON-NLS-1$
-			}
-		} else if (obj instanceof BookmarkFolder) {
-			BookmarkFolder folder = (BookmarkFolder) obj;
-			String name = folder.getName();
-			writer.println(indent + "<folder name=\"" + UpdateManagerUtils.getWritableXMLString(name) + "\">"); //$NON-NLS-1$ //$NON-NLS-2$
-			Object[] children = folder.getChildren(folder);
-			String indent2 = indent + "   "; //$NON-NLS-1$
-			for (int i = 0; i < children.length; i++) {
-				writeObject(indent2, children[i], writer);
-			}
-			writer.println(indent + "</folder>"); //$NON-NLS-1$
-		}
-	}
-
-	private static String getAttribute(Node node, String name) {
-		NamedNodeMap atts = node.getAttributes();
-		Node att = atts.getNamedItem(name);
-		if (att != null) {
-			return att.getNodeValue();
-		}
-		return ""; //$NON-NLS-1$
-	}
-	private static void processFolder(BookmarkFolder folder, ArrayList result) {
-		Object[] children = folder.getChildren(folder);
-		for (int i = 0; i < children.length; i++) {
-			processEntry(children[i], result);
-		}
-	}
-	private static void processEntry(Object obj, ArrayList result) {
-		if (obj instanceof SiteBookmark)
-			result.add(obj);
-		else if (obj instanceof BookmarkFolder) {
-			processFolder((BookmarkFolder) obj, result);
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java
deleted file mode 100644
index 51625d3..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredFeatureAdapter.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public class ConfiguredFeatureAdapter

-	extends SimpleFeatureAdapter

-	implements IConfiguredFeatureAdapter {

-	private IConfiguredSiteAdapter adapter;

-	private boolean configured;

-	private boolean updated;

-

-	public ConfiguredFeatureAdapter(

-		IConfiguredSiteAdapter adapter,

-		IFeature feature,

-		boolean configured,

-		boolean updated,

-		boolean optional) {

-		super(feature, optional);

-		this.adapter = adapter;

-		this.configured = configured;

-		this.updated = updated;

-	}

-

-	public boolean equals(Object object) {

-		if (object == null)

-			return false;

-		if (object == this)

-			return true;

-		if (object instanceof ConfiguredFeatureAdapter) {

-			try {

-				ConfiguredFeatureAdapter ad = (ConfiguredFeatureAdapter) object;

-				return ad.getConfiguredSite().equals(getConfiguredSite())

-					&& ad.getFeature(null).equals(getFeature(null));

-			} catch (CoreException e) {

-			}

-		}

-		return false;

-	}

-

-	public IConfiguredSite getConfiguredSite() {

-		return adapter.getConfiguredSite();

-	}

-	public IInstallConfiguration getInstallConfiguration() {

-		return adapter.getInstallConfiguration();

-	}

-	public boolean isConfigured() {

-		return configured;

-	}

-

-	public boolean isUpdated() {

-		return updated;

-	}

-	public IFeatureAdapter[] getIncludedFeatures(IProgressMonitor monitor) {

-		try {

-			IIncludedFeatureReference[] included =

-				getFeature(null).getIncludedFeatureReferences();

-			ConfiguredFeatureAdapter[] result =

-				new ConfiguredFeatureAdapter[included.length];

-			if (monitor == null)

-				monitor = new NullProgressMonitor();

-			SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);

-			subMonitor.beginTask("", included.length); //$NON-NLS-1$

-

-			for (int i = 0; i < included.length; i++) {

-				IIncludedFeatureReference fref = included[i];

-				IFeature feature;

-				boolean childConfigured = configured;

-				boolean updated = false;

-				try {

-					feature = fref.getFeature(

-							new SubProgressMonitor(subMonitor, 1));

-					childConfigured =

-						adapter.getConfiguredSite().isConfigured(feature);

-					///*

-					PluginVersionIdentifier refpid =

-						fref.getVersionedIdentifier().getVersion();

-					PluginVersionIdentifier fpid =

-						feature.getVersionedIdentifier().getVersion();

-					updated = !refpid.equals(fpid);

-					//*/

-				} catch (CoreException e) {

-					feature = new MissingFeature(getFeature(null), fref);

-					childConfigured = false;

-				}

-

-				result[i] =

-					new ConfiguredFeatureAdapter(

-						adapter,

-						feature,

-						childConfigured,

-						updated,

-						fref.isOptional());

-				result[i].setIncluded(true);

-			}

-			return result;

-		} catch (CoreException e) {

-			return new IFeatureAdapter[0];

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredSiteAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredSiteAdapter.java
deleted file mode 100644
index e570731..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ConfiguredSiteAdapter.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import org.eclipse.update.configuration.*;
-
-/**
- * @version 	1.0
- * @author
- */
-public class ConfiguredSiteAdapter
-	extends UIModelObject
-	implements IConfiguredSiteAdapter {
-	private IInstallConfiguration config;
-	private IConfiguredSite csite;
-		
-	public ConfiguredSiteAdapter(IInstallConfiguration config, IConfiguredSite csite) {
-		this.csite = csite;
-		this.config = config;
-	}
-	
-	public IConfiguredSite getConfiguredSite() {
-		return csite;
-	}
-
-	public IInstallConfiguration getInstallConfiguration() {
-		return config;
-	}
-	
-	public boolean equals(Object object) {
-		if (object==null) return false;
-		if (object == this) return true;
-		if (object instanceof ConfiguredSiteAdapter) {
-			ConfiguredSiteAdapter adapter = (ConfiguredSiteAdapter)object;
-			return csite!=null && csite.getSite().equals(adapter.getConfiguredSite().getSite());
-		}
-		return false;
-	}
-	
-	public String toString() {
-		return getConfiguredSite().getSite().getURL().toString();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/DiscoveryFolder.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/DiscoveryFolder.java
deleted file mode 100644
index 45644d1..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/DiscoveryFolder.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.search.*;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.search.*;
-
-public class DiscoveryFolder extends BookmarkFolder {
-
-    private static final long serialVersionUID = 1L;
-    UpdatePolicy updatePolicy = new UpdatePolicy();
-	
-	public DiscoveryFolder() {
-		super(UpdateUIMessages.DiscoveryFolder_name); 
-		setModel(UpdateUI.getDefault().getUpdateModel());
-	}
-	public void initialize() {
-		children.clear();
-		// check if discovery sites defined by features should be exposed to the user
-		if (!UpdateUI.getDefault().getPluginPreferences().getBoolean(UpdateUI.P_DISCOVERY_SITES_ENABLED))
-			return;
-		
-		try {
-			URL updateMapURL = UpdateUtils.getUpdateMapURL();
-			if (updateMapURL!=null) {
-				updatePolicy = new UpdatePolicy();
-				// TODO may need to use a proper monitor to be able to cancel connections
-				IStatus status = UpdateUtils.loadUpdatePolicy(updatePolicy, updateMapURL, new NullProgressMonitor());
-				if (status != null) {
-					// log and continue
-					UpdateUtils.log(status);
-				}
-			}
-		} catch (CoreException e) {
-			// log and continue
-			UpdateUtils.log(e.getStatus());
-		}
-		
-		try {
-			ILocalSite site = SiteManager.getLocalSite();
-			IInstallConfiguration config = site.getCurrentConfiguration();
-			IConfiguredSite[] csites = config.getConfiguredSites();
-			for (int i = 0; i < csites.length; i++) {
-				IConfiguredSite csite = csites[i];
-				IFeatureReference[] refs = csite.getConfiguredFeatures();
-				for (int j = 0; j < refs.length; j++) {
-					IFeatureReference ref = refs[j];
-					IFeature feature = ref.getFeature(null);
-					IURLEntry[] entries = feature.getDiscoverySiteEntries();
-					if (entries.length > 0) {
-						// Only add discovery sites of root features
-						if (isIncluded(ref, refs))
-							continue;
-						addBookmarks(feature);
-					}
-				}
-			}
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-		}
-	}
-	private boolean isIncluded(
-		IFeatureReference ref,
-		IFeatureReference[] refs) {
-		try {
-			VersionedIdentifier vid = ref.getVersionedIdentifier();
-			for (int i = 0; i < refs.length; i++) {
-				IFeatureReference candidate = refs[i];
-				// Ignore self
-				if (candidate.equals(ref))
-					continue;
-				IFeature cfeature = candidate.getFeature(null);
-				IFeatureReference[] irefs =
-					cfeature.getIncludedFeatureReferences();
-				for (int j = 0; j < irefs.length; j++) {
-					IFeatureReference iref = irefs[j];
-					VersionedIdentifier ivid = iref.getVersionedIdentifier();
-					if (ivid.equals(vid)) {
-						// bingo - included in at least one feature
-						return true;
-					}
-				}
-			}
-		} catch (CoreException e) {
-		}
-		return false;
-	}
-	private void addBookmarks(IFeature feature) {
-		// See if this query site adapter is mapped in the map file
-		// to a different URL.
-		if (updatePolicy != null && updatePolicy.isLoaded()) {
-			IUpdateSiteAdapter mappedSite = updatePolicy.getMappedDiscoverySite(feature.getVersionedIdentifier().getIdentifier());
-			if (mappedSite != null) {
-				SiteBookmark bookmark =
-					new SiteBookmark(mappedSite.getLabel(),	mappedSite.getURL(), false);
-				bookmark.setReadOnly(true);
-				if (!contains(bookmark))
-					internalAdd(bookmark);
-				return;
-			} else if (!updatePolicy.isFallbackAllowed()) {
-				// no match - use original sites if fallback allowed, or nothing.
-				return;
-			}
-		}
-		IURLEntry[] entries = feature.getDiscoverySiteEntries();
-		for (int i = 0; i < entries.length; i++) {
-			IURLEntry entry = entries[i];
-			SiteBookmark bookmark =
-				new SiteBookmark(
-					entry.getAnnotation(),
-					entry.getURL(),
-					entry.getType() == IURLEntry.WEB_SITE);
-			bookmark.setReadOnly(entry.getType() != IURLEntry.WEB_SITE);
-			if (!contains(bookmark))
-				internalAdd(bookmark);
-		}
-	}
-	private boolean contains(SiteBookmark bookmark) {
-		for (int i = 0; i < children.size(); i++) {
-			Object o = children.get(i);
-			if (o instanceof SiteBookmark) {
-				// note: match on URL, not the label
-				if (bookmark.getURL().equals(((SiteBookmark) o).getURL()))
-					return true;
-			}
-		}
-		return false;
-	}
-	public Object[] getChildren(Object parent) {
-		if (hasChildren() == false)
-			initialize();
-		return super.getChildren(parent);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java
deleted file mode 100644
index a3949b6..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureAdapter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.ui.UpdateUIMessages;

-

-/**

- * @version 	1.0

- * @author

- */

-public abstract class FeatureAdapter extends UIModelObject implements IFeatureAdapter {

-	private boolean included=false;

-

-	/*

-	 * @see IFeatureAdapter#getInstallConfiguration()

-	 */

-	public IInstallConfiguration getInstallConfiguration() {

-		return null;

-	}

-	

-	public boolean isIncluded() {

-		return included;

-	}

-	

-	protected void setIncluded(boolean included) {

-		this.included = included;

-	}

-	

-	public String toString() {

-		try {

-			IFeature feature = getFeature(null);

-			return feature.getLabel();

-		}

-		catch (CoreException e) {

-			return UpdateUIMessages.FeatureAdapter_failure; 

-		}

-	}

-	public boolean hasIncludedFeatures(IProgressMonitor monitor) {

-		try {

-			IFeatureReference [] included = getFeature(monitor).getIncludedFeatureReferences();

-			return included.length>0;

-		}

-		catch (CoreException e) {

-			return false;

-		}

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java
deleted file mode 100644
index 76a6087..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/FeatureReferenceAdapter.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-import java.lang.reflect.*;

-import java.net.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.jface.operation.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.ui.*;

-

-public class FeatureReferenceAdapter extends FeatureAdapter {

-	private IFeatureReference featureRef;

-	private boolean touched;

-

-	public FeatureReferenceAdapter(IFeatureReference featureRef) {

-		this.featureRef = featureRef;

-		setIncluded(featureRef instanceof IIncludedFeatureReference);

-	}

-	

-	public IFeature getFeature(IProgressMonitor monitor) throws CoreException {

-		return featureRef.getFeature(monitor);

-	}

-	

-	public String getFastLabel() {

-		return featureRef.getURL().toString();

-	}

-	

-	public ISite getSite() {

-		return featureRef.getSite();

-	}

-	

-	public URL getURL() {

-		return featureRef.getURL();

-	}

-	

-	public boolean isOptional() {

-		return featureRef instanceof IIncludedFeatureReference ? 

-			((IIncludedFeatureReference)featureRef).isOptional():false;

-	}

-	

-	public void touchIncludedFeatures(IRunnableContext context) {

-		if (touched) return;

-		final IFeatureReference [] included;

-		

-		try {

-			included = 	getFeature(null).getIncludedFeatureReferences();

-		}

-		catch (CoreException e) {

-			return;

-		}

-		if (included.length == 0) return;

-		IRunnableWithProgress op = new IRunnableWithProgress () {

-			public void run(IProgressMonitor monitor) {

-				monitor.beginTask(UpdateUIMessages.SiteBookmark_downloading, included.length); 

-				for (int i=0; i<included.length; i++) {

-					IFeatureReference ref = included[i];

-					try {

-						monitor.subTask(ref.getURL().toString());

-						ref.getFeature(new SubProgressMonitor(monitor, 1));

-						//monitor.worked(1);

-					}

-					catch (CoreException e) {

-					}

-				}

-				monitor.done();

-			}

-		};

-		try {

-			context.run(true, false, op);

-			touched=true;

-		}

-		catch (InvocationTargetException e) {

-		}

-		catch (InterruptedException e) {

-		}

-	}

-

-	public IFeatureAdapter[] getIncludedFeatures(IProgressMonitor monitor) {

-		try {

-			IFeatureReference[] included =

-				getFeature(monitor).getIncludedFeatureReferences();

-			FeatureReferenceAdapter[] result =

-				new FeatureReferenceAdapter[included.length];

-			for (int i = 0; i < included.length; i++) {

-				result[i] = new FeatureReferenceAdapter(included[i]);

-			}

-			return result;

-		} catch (CoreException e) {

-			return new IFeatureAdapter[0];

-		}

-	}

-

-	public IFeatureReference getFeatureReference() {

-		return featureRef;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredFeatureAdapter.java
deleted file mode 100644
index 596c589..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredFeatureAdapter.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IConfiguredFeatureAdapter extends IFeatureAdapter, IConfiguredSiteContext {

-	public boolean isConfigured();

-	public boolean isUpdated();

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteAdapter.java
deleted file mode 100644
index 024d3c7..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteAdapter.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-
-/**
- * @version 	1.0
- * @author
- */
-public interface IConfiguredSiteAdapter extends IConfiguredSiteContext {
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteContext.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteContext.java
deleted file mode 100644
index 387192a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IConfiguredSiteContext.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import org.eclipse.update.configuration.*;
-
-/**
- * @version 	1.0
- * @author
- */
-public interface IConfiguredSiteContext {
-	public IInstallConfiguration getInstallConfiguration();
-	public IConfiguredSite getConfiguredSite();
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java
deleted file mode 100644
index 399b7b8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/IFeatureAdapter.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import java.net.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.core.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public interface IFeatureAdapter {

-	public URL getURL();

-	public ISite getSite();

-	public IFeature getFeature(IProgressMonitor monitor) throws CoreException;

-	public IFeatureAdapter [] getIncludedFeatures(IProgressMonitor monitor);

-	public boolean hasIncludedFeatures(IProgressMonitor monitor);

-	public boolean isIncluded();

-	public boolean isOptional();

-	public String getFastLabel();

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java
deleted file mode 100644
index eac6c4b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/ISiteAdapter.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import java.net.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.core.*;

-

-public interface ISiteAdapter {

-	

-	public String getLabel();

-	public URL getURL();

-	public ISite getSite(IProgressMonitor monitor);

-

-}

-

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MissingFeature.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MissingFeature.java
deleted file mode 100644
index 79dcf9e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/MissingFeature.java
+++ /dev/null
@@ -1,456 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import java.io.*;

-import java.net.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.core.model.*;

-import org.eclipse.update.internal.ui.*;

-

-public class MissingFeature implements IFeature {

-

-	private URL url;

-	private ISite site;

-	private IFeatureReference reference;

-	private IFeature parent;

-	private IURLEntry desc;

-	private VersionedIdentifier id = new VersionedIdentifier(UpdateUIMessages.MissingFeature_id, "0.0.0");  //$NON-NLS-1$

-	public MissingFeature(ISite site, URL url) {

-		this.site = site;

-		this.url = url;

-		desc = new IURLEntry() {

-			public URL getURL() {

-				return null;

-			}

-			public String getAnnotation() {

-				return UpdateUIMessages.MissingFeature_desc_unknown; 

-			}

-			public Object getAdapter(Class key) {

-				return null;

-			}

-			public int getType() {

-				return IURLEntry.UPDATE_SITE;

-			}

-		};

-	}

-	public MissingFeature(IFeatureReference ref) {

-		this(null, ref);

-	}

-

-	public MissingFeature(IFeature parent, IFeatureReference ref) {

-		this(ref.getSite(), ref.getURL());

-		this.reference = ref;

-		this.parent = parent;

-

-		if (isOptional()) {

-			desc = new IURLEntry() {

-				public URL getURL() {

-					return null;

-				}

-				public String getAnnotation() {

-					return UpdateUIMessages.MissingFeature_desc_optional; 

-				}

-				public Object getAdapter(Class key) {

-					return null;

-				}

-				public int getType() {

-					return IURLEntry.UPDATE_SITE;

-				}

-			};

-		}

-	}

-

-	public boolean isOptional() {

-		return reference != null

-			&& reference instanceof IIncludedFeatureReference

-			&& ((IIncludedFeatureReference) reference).isOptional();

-	}

-

-	public IFeature getParent() {

-		return parent;

-	}

-

-	public URL getOriginatingSiteURL() {

-		VersionedIdentifier vid = getVersionedIdentifier();

-		if (vid == null)

-			return null;

-		String key = vid.getIdentifier();

-		return UpdateUI.getOriginatingURL(key);

-	}

-

-	/*

-	 * @see IFeature#getIdentifier()

-	 */

-	public VersionedIdentifier getVersionedIdentifier() {

-		if (reference != null) {

-			try {

-				return reference.getVersionedIdentifier();

-			} catch (CoreException e) {

-			}

-		}

-		return id;

-	}

-

-	/*

-	 * @see IFeature#getSite()

-	 */

-	public ISite getSite() {

-		return site;

-	}

-

-	/*

-	 * @see IFeature#getLabel()

-	 */

-	public String getLabel() {

-		if (reference != null

-			&& reference instanceof IIncludedFeatureReference) {

-			String name = ((IIncludedFeatureReference) reference).getName();

-			if (name != null)

-				return name;

-		}

-		return url.toString();

-	}

-

-	/*

-	 * @see IFeature#getURL()

-	 */

-	public URL getURL() {

-		return url;

-	}

-

-	/*

-	 * @see IFeature#getUpdateInfo()

-	 */

-	public IURLEntry getUpdateSiteEntry() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getDiscoveryInfos()

-	 */

-	public IURLEntry[] getDiscoverySiteEntries() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getProvider()

-	 */

-	public String getProvider() {

-		return UpdateUIMessages.MissingFeature_provider; 

-	}

-

-	/*

-	 * @see IFeature#getDescription()

-	 */

-	public IURLEntry getDescription() {

-		return desc;

-	}

-

-	/*

-	 * @see IFeature#getCopyright()

-	 */

-	public IURLEntry getCopyright() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getLicense()

-	 */

-	public IURLEntry getLicense() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getOS()

-	 */

-	public String getOS() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getWS()

-	 */

-	public String getWS() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getNL()

-	 */

-	public String getNL() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getArch()

-	 */

-	public String getOSArch() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getImage()

-	 */

-	public URL getImage() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getImports()

-	 */

-	public IImport[] getImports() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getArchives()

-	 */

-	public String[] getArchives() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#getDataEntries()

-	 */

-	public INonPluginEntry[] getNonPluginEntries() {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#addDataEntry(IDataEntry)

-	 */

-	public void addNonPluginEntry(INonPluginEntry dataEntry) {

-	}

-

-	/*

-	 * @see IFeature#getDownloadSize()

-	 */

-	public long getDownloadSize() {

-		return 0;

-	}

-

-	/*

-	 * @see IFeature#getInstallSize(ISite)

-	 */

-	public long getInstallSize() {

-		return 0;

-	}

-

-	/*

-	 * @see IFeature#isPrimary()

-	 */

-	public boolean isPrimary() {

-		return false;

-	}

-

-	/*

-	 * @see IFeature#getApplication()

-	 */

-	public String getApplication() {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntries()

-	 */

-	public IPluginEntry[] getPluginEntries() {

-		return new IPluginEntry[0];

-	}

-

-	/*

-	 * @see IPluginContainer#getPluginEntryCount()

-	 */

-	public int getPluginEntryCount() {

-		return 0;

-	}

-

-	/*

-	 * @see IPluginContainer#getDownloadSize(IPluginEntry)

-	 */

-	public long getDownloadSize(IPluginEntry entry) {

-		return 0;

-	}

-

-	/*

-	 * @see IPluginContainer#getInstallSize(IPluginEntry)

-	 */

-	public long getInstallSize(IPluginEntry entry) {

-		return 0;

-	}

-

-	/*

-	 * @see IPluginContainer#addPluginEntry(IPluginEntry)

-	 */

-	public void addPluginEntry(IPluginEntry pluginEntry) {

-	}

-

-	/*

-	 * @see IPluginContainer#store(IPluginEntry, String, InputStream)

-	 */

-	public void store(IPluginEntry entry, String name, InputStream inStream)

-		throws CoreException {

-	}

-

-	/*

-	 * @see IAdaptable#getAdapter(Class)

-	 */

-	public Object getAdapter(Class adapter) {

-		return null;

-	}

-

-	/*

-	 * @see IPluginContainer#remove(IPluginEntry)

-	 */

-	public void remove(IPluginEntry entry) throws CoreException {

-	}

-

-	/*

-	 * @see IFeature#setFeatureContentProvider(IFeatureContentProvider)

-	 */

-	public void setFeatureContentProvider(IFeatureContentProvider featureContentProvider) {

-	}

-

-	/*

-	 * @see IFeature#getFeatureContentConsumer()

-	 */

-	public IFeatureContentConsumer getFeatureContentConsumer()

-		throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#setSite(ISite)

-	 */

-	public void setSite(ISite site) throws CoreException {

-		this.site = site;

-	}

-

-	/*

-	 * @see IFeature#getFeatureContentProvider()

-	 */

-	public IFeatureContentProvider getFeatureContentProvider()

-		throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see IFeature#install(IFeature,IVerifier, IProgressMonitor)

-	 */

-	public IFeatureReference install(

-		IFeature targetFeature,

-		IVerificationListener verificationListener,

-		IProgressMonitor monitor)

-		throws CoreException {

-		return null;

-	}

-

-	/*

-	 * @see org.eclipse.update.core.IFeature#install(IFeature, IFeatureReference[], IVerificationListener, IProgressMonitor)

-	 */

-	public IFeatureReference install(

-		IFeature targetFeature,

-		IFeatureReference[] optionalFeatures,

-		IVerificationListener verificationListener,

-		IProgressMonitor monitor)

-		throws InstallAbortedException, CoreException {

-		return null;

-	}

-	/*

-	 * @see IFeature#remove(IProgressMonitor)

-	 */

-	public void remove(IProgressMonitor monitor) throws CoreException {

-	}

-

-	/*

-	 * @see IPluginContainer#remove(IPluginEntry, IProgressMonitor)

-	 */

-	public void remove(IPluginEntry entry, IProgressMonitor monitor)

-		throws CoreException {

-	}

-

-	/*

-	 * @see IFeature#getNonPluginEntryCount()

-	 */

-	public int getNonPluginEntryCount() {

-		return 0;

-	}

-

-	/*

-	 * @see IFeature#getInstallHandlerEntry()

-	 */

-	public IInstallHandlerEntry getInstallHandlerEntry() {

-		return null;

-	}

-	/*

-	 * @see IFeature#getIncludedFeatureReferences()

-	 */

-	public IIncludedFeatureReference[] getIncludedFeatureReferences()

-		throws CoreException {

-		return new IIncludedFeatureReference[0];

-	}

-

-	/**

-	 * @see IFeature#getAffinityFeature()

-	 */

-	public String getAffinityFeature() {

-		return null;

-	}

-	/**

-	 * @see org.eclipse.update.core.IFeature#getRawIncludedFeatureReferences()

-	 */

-	public IIncludedFeatureReference[] getRawIncludedFeatureReferences()

-		throws CoreException {

-		return getIncludedFeatureReferences();

-	}

-

-	/**

-	 * @see org.eclipse.update.core.IFeature#getRawNonPluginEntries()

-	 */

-	public INonPluginEntry[] getRawNonPluginEntries() {

-		return getNonPluginEntries();

-	}

-

-	/**

-	 * @see org.eclipse.update.core.IFeature#getRawPluginEntries()

-	 */

-	public IPluginEntry[] getRawPluginEntries() {

-		return getPluginEntries();

-	}

-

-	/**

-	 * @see org.eclipse.update.core.IFeature#getPrimaryPluginID()

-	 */

-	public String getPrimaryPluginID() {

-		return null;

-	}

-

-	/**

-	 * @see org.eclipse.update.core.IFeature#getRawImports()

-	 */

-	public IImport[] getRawImports() {

-		return new IImport[0];

-	}

-

-	/**

-	 * @see org.eclipse.update.core.IFeature#isPatch()

-	 */

-	public boolean isPatch() {

-		return false;

-	}

-	

-	public boolean isExclusive() {

-		return false;

-	}

-

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/NamedModelObject.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/NamedModelObject.java
deleted file mode 100644
index 9ed13bc..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/NamedModelObject.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import java.io.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.ui.model.*;
-
-public class NamedModelObject extends UIModelObject 
-							implements IWorkbenchAdapter, Serializable  {
-
-    private static final long serialVersionUID = 1L;
-    private String name;
-	transient private NamedModelObject parent;
-	
-	public static final String P_NAME="p_name"; //$NON-NLS-1$
-	
-	public NamedModelObject() {
-	}
-	
-	public NamedModelObject(String name) {
-		this.name = name;
-	}
-	
-	public Object getAdapter(Class adapter) {
-		if (adapter.equals(IWorkbenchAdapter.class)) {
-			return this;
-		}
-		return super.getAdapter(adapter);
-	}
-	
-	public String getName() {
-		return name;
-	}
-	
-	public IPath getPath() {
-		Object parent = getParent(null);
-		if (parent!=null && parent instanceof NamedModelObject)
-			return ((NamedModelObject)parent).getPath().append(getName());
-		else
-			return new Path(getName());
-	}
-	
-	public String toString() {
-		return getName();
-	}
-	
-	public void setName(String name) {
-		this.name = name;
-		notifyObjectChanged(P_NAME);
-	}
-	
-	/**
-	 * @see IWorkbenchAdapter#getChildren(Object)
-	 */
-	public Object[] getChildren(Object parent) {
-		return null;
-	}
-
-
-	/**
-	 * @see IWorkbenchAdapter#getImageDescriptor(Object)
-	 */
-	public ImageDescriptor getImageDescriptor(Object obj) {
-		return null;
-	}
-
-
-	/**
-	 * @see IWorkbenchAdapter#getLabel(Object)
-	 */
-	public String getLabel(Object obj) {
-		return getName();
-	}
-
-
-	/**
-	 * @see IWorkbenchAdapter#getParent(Object)
-	 */
-	public Object getParent(Object arg0) {
-		return parent;
-	}
-	public void setParent(NamedModelObject parent) {
-		this.parent = parent;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java
deleted file mode 100644
index 69bd71e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SimpleFeatureAdapter.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import java.net.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.core.*;

-

-/**

- * @version 	1.0

- * @author

- */

-public class SimpleFeatureAdapter extends FeatureAdapter {

-	protected IFeature feature;

-	private boolean optional;

-	public SimpleFeatureAdapter(IFeature feature) {

-		this(feature, false);

-	}

-	public SimpleFeatureAdapter(IFeature feature, boolean optional) {

-		this.feature = feature;

-		this.optional = optional;

-	}

-	

-	public IFeature getFeature(IProgressMonitor monitor) throws CoreException {

-		return feature;

-	}

-	

-	public String getFastLabel() {

-		return feature.getLabel();

-	}

-	

-	public URL getURL() {

-		return feature.getURL();

-	}

-	

-	public ISite getSite() {

-		return feature.getSite();

-	}

-	

-	public IFeatureAdapter[] getIncludedFeatures(IProgressMonitor monitor) {

-		try {

-			IIncludedFeatureReference[] included = getFeature(monitor).getIncludedFeatureReferences();

-			SimpleFeatureAdapter[] result =

-				new SimpleFeatureAdapter[included.length];

-			for (int i = 0; i < included.length; i++) {

-				result[i] =

-					new SimpleFeatureAdapter(included[i].getFeature(null), included[i].isOptional());

-				result[i].setIncluded(true);

-			}

-			return result;

-		} catch (CoreException e) {

-			return new IFeatureAdapter[0];

-		}

-	}

-	public boolean isOptional() {

-		return optional;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java
deleted file mode 100644
index 38d4671..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteBookmark.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import java.net.*;

-import java.util.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.osgi.util.NLS;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.ui.*;

-

-public class SiteBookmark extends NamedModelObject 

-							implements ISiteAdapter {

-

-    private static final long serialVersionUID = 1L;

-    public static final String P_URL="p_url"; //$NON-NLS-1$

-	public static final String P_TYPE="p_type"; //$NON-NLS-1$

-	

-	private URL url;

-	transient private ISite site;

-	transient private Vector catalog = new Vector();

-	transient private SiteCategory otherCategory;

-	private boolean webBookmark;

-	private boolean selected;

-	private String [] ignoredCategories = new String[0];

-	private boolean readOnly = false;

-	private boolean local = false;

-	private boolean unavailable = false;

-	private String description;

-

-	public SiteBookmark() {

-	}

-	

-	public SiteBookmark(String name, URL url, boolean webBookmark) {

-		this(name, url, webBookmark, false);

-	}

-	

-	public SiteBookmark(String name, URL url, boolean webBookmark, boolean selected) {

-		super(name);

-		this.url = url;

-		this.webBookmark = webBookmark;

-		this.selected = selected;

-	}

-

-	public boolean equals(Object obj) {

-        if (obj == this)

-            return true;

-        if (!(obj instanceof SiteBookmark))

-            return false;

-        SiteBookmark b = (SiteBookmark)obj;

-        if (url == null)

-            return false;

-        return url.equals(b.url);

-    }

-

-    public int hashCode() {

-        if (url == null)

-            return super.hashCode();

-        else

-            return url.hashCode();

-    }

-

-    public void setSelected(boolean selected) {

-		this.selected = selected;

-	}

-	

-	public boolean isSelected() {

-		return selected;

-	}

-	

-	public String [] getIgnoredCategories() {

-		return ignoredCategories;

-	}

-	

-	public void setIgnoredCategories(String [] categories) {

-		this.ignoredCategories = categories;

-	}

-	

-	public void setWebBookmark(boolean value) {

-		if (isLocal()) return;

-		this.webBookmark = value;

-		notifyObjectChanged(P_TYPE);

-	}

-	

-	public boolean isWebBookmark() {

-		return webBookmark;

-	}

-	

-	public URL getURL() {

-		return url;

-	}

-

-

-	public void setURL(URL url) {

-		this.url = url;

-		site = null;

-		notifyObjectChanged(P_URL);

-	}

-	

-	public ISite getSite(IProgressMonitor monitor) {

-		return getSite(true, monitor);

-	}

-	

-	public ISite getSite(boolean showDialogIfFailed, IProgressMonitor monitor) {

-		if (site==null) {

-			try {

-				connect(monitor);

-			}

-			catch (CoreException e) {

-				UpdateUI.logException(e, showDialogIfFailed);

-			}

-		}

-		return site;

-	}

-	

-	public boolean isSiteConnected() {

-		return site!=null;

-	}

-	

-	public void connect(IProgressMonitor monitor) throws CoreException {

-		connect(true, monitor);

-	}

-	

-	public void connect(boolean useCache, IProgressMonitor monitor) throws CoreException {

-		try {

-			if (monitor==null) monitor = new NullProgressMonitor();

-			monitor.beginTask("", 2); //$NON-NLS-1$

-			monitor.subTask(NLS.bind(UpdateUIMessages.SiteBookmark_connecting, url.toString()));

-			site = SiteManager.getSite(url, useCache, new SubProgressMonitor(monitor, 1));

-			if (site!=null) {

-				createCatalog(new SubProgressMonitor(monitor, 1));

-				unavailable = false;

-			} else {

-				catalog = new Vector();

-				unavailable = true;

-			}

-		} catch (CoreException e) {

-			unavailable = true;

-			throw e;

-		}

-	}

-	

-	public boolean isUnavailable() {

-		return unavailable;

-	}

-	

-	public void setUnavailable(boolean value) {

-		unavailable = value;

-	}

-	

-	private void createCatalog(IProgressMonitor monitor) {

-		catalog = new Vector();

-		otherCategory = new SiteCategory(this, null, null);

-		// Add all the categories

-		ICategory [] categories = site.getCategories();

-		

-		ISiteFeatureReference [] featureRefs;

-		featureRefs = site.getRawFeatureReferences();

-		

-		monitor.beginTask("", featureRefs.length + categories.length); //$NON-NLS-1$

-

-		for (int i=0; i<categories.length; i++) {

-			ICategory category = categories[i];

-			addCategoryToCatalog(category);

-			monitor.worked(1);

-		}

-		// Add features to categories

-

-		for (int i=0; i<featureRefs.length; i++) {

-			ISiteFeatureReference featureRef = featureRefs[i];

-			addFeatureToCatalog(featureRef);

-			monitor.worked(1);

-		}

-		if (otherCategory.getChildCount()>0)

-		   catalog.add(otherCategory);

-		

-		// set the site description

-		IURLEntry descURL = site.getDescription();

-		if (descURL != null)

-			description = descURL.getAnnotation();

-	}

-

-	public Object [] getCatalog(boolean withCategories, IProgressMonitor monitor) {

-		if (withCategories)

-			return catalog.toArray();

-		else {

-			// Make a flat catalog

-			Vector flatCatalog = new Vector();

-			for (int i=0; i<catalog.size(); i++) {

-				SiteCategory category = (SiteCategory)catalog.get(i);

-				category.addFeaturesTo(flatCatalog);

-			}

-			return flatCatalog.toArray();

-		}

-	}

-	

-	private void addCategoryToCatalog(ICategory category) {

-		String name = category.getName();

-		int loc = name.indexOf('/');

-		if (loc == -1) {

-			// first level

-			catalog.add(new SiteCategory(this, name, category));

-		}

-		else {

-			IPath path = new Path(name);

-			name = path.lastSegment().toString();

-			path = path.removeLastSegments(1);

-			SiteCategory parentCategory = findCategory(path, catalog.toArray());

-			if (parentCategory!=null) {

-				parentCategory.add(new SiteCategory(this, name, category));

-			}

-		}

-	}

-	private void addFeatureToCatalog(ISiteFeatureReference feature) {

-		ICategory [] categories = feature.getCategories();

-		boolean orphan = true;

-

-		for (int i=0; i<categories.length; i++) {

-			ICategory category = categories[i];

-			String name = category.getName();

-			IPath path = new Path(name);

-			SiteCategory parentCategory = findCategory(path, catalog.toArray());

-			if (parentCategory!=null) {

-		   		parentCategory.add(new FeatureReferenceAdapter(feature));

-		   		orphan = false;

-			}

-		}

-		if (orphan)

-			otherCategory.add(new FeatureReferenceAdapter(feature));

-	}

-	

-	private SiteCategory findCategory(IPath path, Object [] children) {

-		for (int i=0; i<children.length; i++) {

-			Object child = children[i];

-			if (child instanceof SiteCategory) {

-				SiteCategory sc = (SiteCategory)child;

-				if (sc.getName().equals(path.segment(0))) {

-				   if (path.segmentCount()==1) return sc;

-					else {

-						path = path.removeFirstSegments(1);

-						return findCategory(path, sc.getChildren());

-					}

-				}

-			}

-		}

-		return null;

-	}

-	

-	/**

-	 * @see ISiteAdapter#getLabel()

-	 */

-	public String getLabel() {

-		return getName();

-	}

-	

-	public void setReadOnly(boolean readOnly) {

-		this.readOnly = readOnly;

-	}

-	

-	public boolean isReadOnly() {

-		return readOnly;

-	}

-	

-	public void setLocal(boolean local) {

-		this.local = local;

-	}

-	

-	public boolean isLocal() {

-		return local;

-	}

-

-	/**

-	 * @param description The description to set.

-	 */

-	public void setDescription(String description) {

-		this.description = description;

-	}

-

-	/**

-	 * @return Returns the description.

-	 */

-	public String getDescription() {

-		if (description == null && isSiteConnected()) {

-			IURLEntry descURL = site.getDescription();

-			if (descURL != null)

-				description = descURL.getAnnotation();

-		}

-		return description;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java
deleted file mode 100644
index dea9190..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/SiteCategory.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-import java.lang.reflect.*;

-import java.net.*;

-import java.util.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.jface.operation.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.ui.*;

-

-public class SiteCategory extends UIModelObject {

-

-	Vector children;

-	private ICategory category;

-	private String name;

-	private boolean touched;

-	private int featureCount;

-	private boolean canceled;

-	private SiteBookmark bookmark;

-

-	class OtherCategory implements ICategory {

-		IURLEntry entry;

-		public OtherCategory() {

-			entry = new IURLEntry() {

-				public String getAnnotation() {

-					return UpdateUIMessages.SiteCategory_other_description; 

-				}

-				public URL getURL() {

-					return null;

-				}

-				public Object getAdapter(Class clazz) {

-					return null;

-				}

-				public int getType() {

-					return IURLEntry.UPDATE_SITE;

-				}

-			};

-		}

-		public String getName() {

-			return SiteCategory.this.getName();

-		}

-		public String getLabel() {

-			return SiteCategory.this.getName();

-		}

-		public IURLEntry getDescription() {

-			return entry;

-		}

-		public Object getAdapter(Class clazz) {

-			return null;

-		}

-	}

-

-	public SiteCategory(SiteBookmark bookmark, String name, ICategory category) {

-		this.bookmark = bookmark;

-		if (category == null) {

-			this.name = UpdateUIMessages.SiteCategory_other_label; 

-			this.category = new OtherCategory();

-		} else {

-			this.name = name;

-			this.category = category;

-		}

-		children = new Vector();

-	}

-	

-	public SiteBookmark getBookmark() {

-		return bookmark;

-	}

-

-	public boolean isOtherCategory() {

-		return category instanceof OtherCategory;

-	}

-

-	public Object[] getChildren() {

-		return canceled ? new Object[0] : children.toArray();

-	}

-

-	public int getChildCount() {

-		return canceled ? 0 : children.size();

-	}

-

-	public String getName() {

-		return name;

-	}

-	public String getFullName() {

-		return category.getName();

-	}

-

-	public String toString() {

-		return category.getLabel();

-	}

-

-	public ICategory getCategory() {

-		return category;

-	}

-

-	void add(Object child) {

-		if (child instanceof IFeatureAdapter)

-			featureCount++;

-		children.add(child);

-	}

-

-	public void touchFeatures(IRunnableContext context) {

-		if (children.size() == 0 || touched || featureCount == 0)

-			return;

-

-		IRunnableWithProgress op = new IRunnableWithProgress() {

-			public void run(IProgressMonitor monitor) {

-				monitor.beginTask(

-					UpdateUIMessages.SiteBookmark_downloading, 

-					featureCount);

-				for (int i = 0; i < children.size(); i++) {

-					Object child = children.get(i);

-					if (monitor.isCanceled())

-						break;

-					if (child instanceof IFeatureAdapter) {

-						IFeatureAdapter adapter = (IFeatureAdapter) child;

-						monitor.subTask(adapter.getFastLabel());

-						try {

-							adapter.getFeature(

-								new SubProgressMonitor(monitor, 1));

-						} catch (CoreException e) {

-						}

-					}

-				}

-				monitor.done();

-			}

-		};

-

-		try {

-			context.run(true, true, op);

-			touched = true;

-		} catch (InterruptedException e) {

-			canceled = true;

-		} catch (InvocationTargetException e) {

-		}

-	}

-

-	public void addFeaturesTo(Vector flatList) {

-		for (int i = 0; i < children.size(); i++) {

-			Object child = children.get(i);

-			if (child instanceof FeatureReferenceAdapter) {

-				FeatureReferenceAdapter cfeature =

-					(FeatureReferenceAdapter) child;

-				// Don't add duplicates - there may be the same

-				// feature present in several categories

-				if (findFeature(flatList, cfeature.getFeatureReference())

-					== null) {

-					flatList.add(child);

-				}

-			} else if (child instanceof SiteCategory) {

-				((SiteCategory) child).addFeaturesTo(flatList);

-			}

-		}

-	}

-

-	private FeatureReferenceAdapter findFeature(

-		Vector flatList,

-		IFeatureReference featureRef) {

-		for (int i = 0; i < flatList.size(); i++) {

-			FeatureReferenceAdapter cfeature =

-				(FeatureReferenceAdapter) flatList.get(i);

-			if (cfeature.getFeatureReference().equals(featureRef))

-				return cfeature;

-		}

-		return null;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UIModelObject.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UIModelObject.java
deleted file mode 100644
index c2486cd..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UIModelObject.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.model;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.ui.model.*;
-
-
-public class UIModelObject extends PlatformObject implements IWorkbenchAdapter {
-	UpdateModel model;
-	
-	public void setModel(UpdateModel model) {
-		this.model = model;
-	}
-	
-	public UpdateModel getModel() {
-		return model;
-	}
-	
-	protected void notifyObjectChanged(String property) {
-		if (model==null) return;
-		model.fireObjectChanged(this, property);
-	}
-	
-	protected void notifyObjectsAdded(Object parent, Object [] objects) {
-		if (model==null) return;
-		model.fireObjectsAdded(parent, objects);
-	}
-	
-	protected void notifyObjectsRemoved(Object parent, Object [] objects) {
-		if (model==null) return;
-		model.fireObjectsRemoved(parent, objects);
-	}
-	
-	public Object [] getChildren(Object obj) {
-		return new Object[0];
-	}
-	
-	public Object getParent(Object obj) {
-		return null;
-	}
-	public String getLabel(Object obj) {
-		return toString();
-	}
-	public ImageDescriptor getImageDescriptor(Object obj) {
-		return null;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UpdateModel.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UpdateModel.java
deleted file mode 100644
index f0f68fb..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/model/UpdateModel.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.model;

-

-import java.io.*;

-import java.net.*;

-import java.util.*;

-

-import org.eclipse.core.runtime.*;

-import org.eclipse.update.configurator.*;

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.update.operations.*;

-

-public class UpdateModel implements IAdaptable {

-	private Vector bookmarks = new Vector();

-	private Vector listeners = new Vector();

-	private static final String BOOKMARK_FILE = "bookmarks.xml"; //$NON-NLS-1$

-	

-	public UpdateModel() {

-		reset();

-	}

-	

-	public void reset() {

-		// load bookmarks

-		bookmarks.clear();

-		BookmarkUtil.parse(getBookmarksFileName(), bookmarks);

-	}

-	

-	private String getBookmarksFileName() {

-		URL platformXML = ConfiguratorUtils.getCurrentPlatformConfiguration().getConfigurationLocation();

-		if (!"file".equals(platformXML.getProtocol())) { //$NON-NLS-1$

-			IPath path = UpdateUI.getDefault().getStateLocation();

-			path = path.append(BOOKMARK_FILE);

-			return path.toOSString();

-		} else {

-			File f = new File(platformXML.getFile());

-			f = new File(f.getParentFile(), BOOKMARK_FILE);

-			return f.getAbsolutePath();

-		}

-	}

-	

-	public void shutdown() {

-		saveBookmarks();

-	}

-	

-	public void saveBookmarks() {

-		BookmarkUtil.store(getBookmarksFileName(), bookmarks);

-	}

-	

-	

-	public void addBookmark(NamedModelObject bookmark) {

-		bookmarks.add(bookmark);

-		bookmark.setModel(this);

-		fireObjectsAdded(null, new Object []{bookmark});

-	}

-	

-	public void removeBookmark(NamedModelObject bookmark) {

-		bookmarks.remove(bookmark);

-		bookmark.setModel(null);

-		fireObjectsRemoved(null, new Object []{bookmark});

-	}

-	

-	public NamedModelObject [] getBookmarks() {

-		return (NamedModelObject[])bookmarks.toArray(new NamedModelObject[bookmarks.size()]);

-	}

-	

-	public SiteBookmark [] getBookmarkLeafs() {

-		return BookmarkUtil.getBookmarks(bookmarks);

-	}

-	

-	public BookmarkFolder getFolder(IPath path) {

-		return BookmarkUtil.getFolder(bookmarks, path);

-	}

-	

-	public void addUpdateModelChangedListener(IUpdateModelChangedListener listener) {

-		if (!listeners.contains(listener)) 

-		   listeners.add(listener);

-	}

-

-

-	public void removeUpdateModelChangedListener(IUpdateModelChangedListener listener) {

-		if (listeners.contains(listener))

-			listeners.remove(listener);

-	}

-	

-	public void fireObjectsAdded(Object parent, Object [] children) {

-		for (Iterator iter=listeners.iterator();

-				iter.hasNext();) {

-			IUpdateModelChangedListener listener = (IUpdateModelChangedListener)iter.next();

-			listener.objectsAdded(parent, children);

-		}

-	}

-

-

-	public void fireObjectsRemoved(Object parent, Object [] children) {

-		for (Iterator iter=listeners.iterator();

-				iter.hasNext();) {

-			IUpdateModelChangedListener listener = (IUpdateModelChangedListener)iter.next();

-			listener.objectsRemoved(parent, children);

-		}

-	}

-	

-	public void fireObjectChanged(Object object, String property) {

-		for (Iterator iter=listeners.iterator();

-			iter.hasNext();) {

-			IUpdateModelChangedListener listener = (IUpdateModelChangedListener)iter.next();

-			listener.objectChanged(object, property);

-		}

-	}

-	public Object getAdapter(Class key) {

-		return null;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/AbstractOverlayIcon.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/AbstractOverlayIcon.java
deleted file mode 100644
index 7c473ab..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/AbstractOverlayIcon.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.parts;
-
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * An OverlayIcon consists of a main icon and several adornments.
- */
-public abstract class AbstractOverlayIcon extends CompositeImageDescriptor {
-
-	static final int DEFAULT_WIDTH = 16;
-	static final int DEFAULT_HEIGHT = 16;
-
-	private Point fSize = null;
-
-	private ImageDescriptor fOverlays[][];
-
-	public AbstractOverlayIcon(ImageDescriptor[][] overlays) {
-		this(overlays, null);
-	}
-
-	public AbstractOverlayIcon(ImageDescriptor[][] overlays, Point size) {
-		fOverlays = overlays;
-		if (size != null)
-			fSize = size;
-		else
-			fSize = new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);
-	}
-	protected void drawBottomLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = 0;
-		for (int i = 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				drawImage(id, x, getSize().y - id.height);
-				x += id.width;
-			}
-		}
-	}
-	protected void drawBottomRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = getSize().x;
-		for (int i = 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				x -= id.width;
-				drawImage(id, x, getSize().y - id.height);
-			}
-		}
-	}
-
-	protected abstract ImageData getBaseImageData();
-
-	protected void drawCompositeImage(int width, int height) {
-		ImageData base = getBaseImageData();
-		drawImage(base, 0, 0);
-		if (fOverlays != null) {
-			if (fOverlays.length > 0)
-				drawTopRight(fOverlays[0]);
-
-			if (fOverlays.length > 1)
-				drawBottomRight(fOverlays[1]);
-
-			if (fOverlays.length > 2)
-				drawBottomLeft(fOverlays[2]);
-
-			if (fOverlays.length > 3)
-				drawTopLeft(fOverlays[3]);
-		}
-	}
-	protected void drawTopLeft(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = 0;
-		for (int i = 0; i < 3; i++) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				drawImage(id, x, 0);
-				x += id.width;
-			}
-		}
-	}
-	protected void drawTopRight(ImageDescriptor[] overlays) {
-		if (overlays == null)
-			return;
-		int length = overlays.length;
-		int x = getSize().x;
-		for (int i = 2; i >= 0; i--) {
-			if (i < length && overlays[i] != null) {
-				ImageData id = overlays[i].getImageData();
-				x -= id.width;
-				drawImage(id, x, 0);
-			}
-		}
-	}
-
-	protected Point getSize() {
-		return fSize;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/DefaultContentProvider.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/DefaultContentProvider.java
deleted file mode 100644
index 6918b6f..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/DefaultContentProvider.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.parts;

-

-import org.eclipse.jface.viewers.*;

-

-public class DefaultContentProvider implements IContentProvider {

-

-public DefaultContentProvider() {

-	super();

-}

-public void dispose() {}

-public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/ImageOverlayIcon.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/ImageOverlayIcon.java
deleted file mode 100644
index e433565..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/ImageOverlayIcon.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.parts;
-
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.graphics.*;
-
-/**
- * An OverlayIcon consists of a main icon and several adornments.
- */
-public class ImageOverlayIcon extends AbstractOverlayIcon {
-	private Image base;
-
-	public ImageOverlayIcon(Image base, ImageDescriptor[][] overlays) {
-		this(base, overlays, null);
-	}
-	
-	public ImageOverlayIcon(Image base, ImageDescriptor[][] overlays, Point size) {
-		super(overlays, size);
-		this.base = base;
-	}
-	
-	protected ImageData getBaseImageData() {
-		return base.getImageData();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/OverlayIcon.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/OverlayIcon.java
deleted file mode 100644
index 321bec8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/OverlayIcon.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2003 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.parts;

-

-import org.eclipse.jface.resource.*;

-import org.eclipse.swt.graphics.*;

-

-/**

- * An OverlayIcon consists of a main icon and several adornments.

- */

-public class OverlayIcon extends CompositeImageDescriptor {

-	

-	static final int DEFAULT_WIDTH= 16;

-	static final int DEFAULT_HEIGHT= 16;

-	

-	private Point fSize= null;

-		

-	private ImageDescriptor fBase;

-	private ImageDescriptor fOverlays[][];

-

-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays) {

-		fBase= base;

-		if (fBase == null)

-			fBase= ImageDescriptor.getMissingImageDescriptor();

-		fOverlays= overlays;

-		fSize= new Point(DEFAULT_WIDTH, DEFAULT_HEIGHT);

-	}

-	public OverlayIcon(ImageDescriptor base, ImageDescriptor[][] overlays, Point size) {

-		fBase= base;

-		if (fBase == null)

-			fBase= ImageDescriptor.getMissingImageDescriptor();

-		fOverlays= overlays;

-		fSize= size;

-	}

-	protected void drawBottomLeft(ImageDescriptor[] overlays) {

-		if (overlays == null)

-			return;

-		int length= overlays.length;

-		int x= 0;

-		for (int i= 0; i < 3; i++) {

-			if (i < length && overlays[i] != null) {

-				ImageData id= overlays[i].getImageData();

-				drawImage(id, x, getSize().y-id.height);

-				x+= id.width;

-			}

-		}

-	}

-	protected void drawBottomRight(ImageDescriptor[] overlays) {

-		if (overlays == null)

-			return;

-		int length= overlays.length;

-		int x= getSize().x;

-		for (int i= 2; i >= 0; i--) {

-			if (i < length && overlays[i] != null) {

-				ImageData id= overlays[i].getImageData();

-				x-= id.width;

-				drawImage(id, x, getSize().y-id.height);

-			}

-		}

-	}

-	protected void drawCompositeImage(int width, int height) {

-		ImageData bg= fBase.getImageData();

-		drawImage(bg, 0, 0);

-		

-		if (fOverlays != null) {

-			if (fOverlays.length > 0)

-				drawTopRight( fOverlays[0]);

-				

-			if (fOverlays.length > 1)

-				drawBottomRight(fOverlays[1]);

-				

-			if (fOverlays.length > 2)

-				drawBottomLeft(fOverlays[2]);

-				

-			if (fOverlays.length > 3)

-				drawTopLeft(fOverlays[3]);

-		}	

-	}

-	protected void drawTopLeft(ImageDescriptor[] overlays) {

-		if (overlays == null)

-			return;

-		int length= overlays.length;

-		int x= 0;

-		for (int i= 0; i < 3; i++) {

-			if (i < length && overlays[i] != null) {

-				ImageData id= overlays[i].getImageData();

-				drawImage(id, x, 0);

-				x+= id.width;

-			}

-		}

-	}

-	protected void drawTopRight(ImageDescriptor[] overlays) {

-		if (overlays == null)

-			return;

-		int length= overlays.length;

-		int x= getSize().x;

-		for (int i= 2; i >= 0; i--) {

-			if (i < length && overlays[i] != null) {

-				ImageData id= overlays[i].getImageData();

-				x-= id.width;

-				drawImage(id, x, 0);

-			}

-		}

-	}

-

-	protected Point getSize() {

-		return fSize;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/PixelConverter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/PixelConverter.java
deleted file mode 100644
index abed8b9..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/PixelConverter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.parts;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.widgets.*;
-
-public class PixelConverter {
-	
-	private FontMetrics fFontMetrics;
-	
-	public PixelConverter(Control control) {
-		GC gc = new GC(control);
-		gc.setFont(control.getFont());
-		fFontMetrics= gc.getFontMetrics();
-		gc.dispose();
-	}
-	
-	public int convertHeightInCharsToPixels(int chars) {
-		return Dialog.convertHeightInCharsToPixels(fFontMetrics, chars);
-	}
-
-	public int convertHorizontalDLUsToPixels(int dlus) {
-		return Dialog.convertHorizontalDLUsToPixels(fFontMetrics, dlus);
-	}
-
-	public int convertVerticalDLUsToPixels(int dlus) {
-		return Dialog.convertVerticalDLUsToPixels(fFontMetrics, dlus);
-	}
-	
-	public int convertWidthInCharsToPixels(int chars) {
-		return Dialog.convertWidthInCharsToPixels(fFontMetrics, chars);
-	}	
-
-}
-
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SWTUtil.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SWTUtil.java
deleted file mode 100644
index 6e6d928..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SWTUtil.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.parts;
-/**
- * @version 	1.0
- * @author
- */
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.resource.*;
-import org.eclipse.jface.util.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.dnd.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-
-/**
- * Utility class to simplify access to some SWT resources. 
- */
-public class SWTUtil {
-
-	/**
-	 * Returns the standard display to be used. The method first checks, if
-	 * the thread calling this method has an associated disaply. If so, this
-	 * display is returned. Otherwise the method returns the default display.
-	 */
-	public static Display getStandardDisplay() {
-		Display display;
-		display = Display.getCurrent();
-		if (display == null)
-			display = Display.getDefault();
-		return display;
-	}
-
-	/**
-	 * Returns the shell for the given widget. If the widget doesn't represent
-	 * a SWT object that manage a shell, <code>null</code> is returned.
-	 * 
-	 * @return the shell for the given widget
-	 */
-	public static Shell getShell(Widget widget) {
-		if (widget instanceof Control)
-			return ((Control) widget).getShell();
-		if (widget instanceof Caret)
-			return ((Caret) widget).getParent().getShell();
-		if (widget instanceof DragSource)
-			return ((DragSource) widget).getControl().getShell();
-		if (widget instanceof DropTarget)
-			return ((DropTarget) widget).getControl().getShell();
-		if (widget instanceof Menu)
-			return ((Menu) widget).getParent().getShell();
-		if (widget instanceof ScrollBar)
-			return ((ScrollBar) widget).getParent().getShell();
-
-		return null;
-	}
-
-	/**
-	 * Returns a width hint for a button control.
-	 */
-	public static int getButtonWidthHint(Button button) {
-		if (button.getFont().equals(JFaceResources.getDefaultFont()))
-			button.setFont(JFaceResources.getDialogFont());
-		PixelConverter converter= new PixelConverter(button);
-		int widthHint= converter.convertHorizontalDLUsToPixels(IDialogConstants.BUTTON_WIDTH);
-		return Math.max(widthHint, button.computeSize(SWT.DEFAULT, SWT.DEFAULT, true).x);
-	}
-
-	/**
-	 * Sets width and height hint for the button control.
-	 * <b>Note:</b> This is a NOP if the button's layout data is not
-	 * an instance of <code>GridData</code>.
-	 * 
-	 * @param button	the button for which to set the dimension hint
-	 */
-	public static void setButtonDimensionHint(Button button) {
-		Dialog.applyDialogFont(button);
-		Assert.isNotNull(button);
-		Object gd = button.getLayoutData();
-		if (gd instanceof GridData) {
-			((GridData) gd).widthHint = getButtonWidthHint(button);
-		}
-	}
-
-	public static void setDialogSize(Dialog dialog, int width, int height) {
-		Point computedSize =
-			dialog.getShell().computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		width = Math.max(computedSize.x, width);
-		height = Math.max(computedSize.y, height);
-		dialog.getShell().setSize(width, height);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SharedLabelProvider.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SharedLabelProvider.java
deleted file mode 100644
index 81d8cf1..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/parts/SharedLabelProvider.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.parts;
-
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.jface.resource.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.update.internal.ui.*;
-
-/**
- * @version 	1.0
- * @author
- */
-public class SharedLabelProvider
-	extends LabelProvider
-	implements ITableLabelProvider {
-	public static final int F_ERROR = 1;
-	public static final int F_WARNING = 2;
-	public static final int F_CURRENT = 4;
-	public static final int F_INSTALLABLE = 8;
-	public static final int F_LINKED = 16;
-	public static final int F_MOD = 32;
-	public static final int F_UPDATED = 64;
-	public static final int F_UNCONFIGURED = 128;
-	public static final int F_ADD = 256;
-	public static final int F_DEL = 512;
-
-	Hashtable images = new Hashtable();
-	ArrayList consumers = new ArrayList();
-
-	public SharedLabelProvider() {
-	}
-
-	public void connect(Object consumer) {
-		if (!consumers.contains(consumer))
-			consumers.add(consumer);
-	}
-
-	public void disconnect(Object consumer) {
-		consumers.remove(consumer);
-		if (consumers.size() == 0) {
-			reset();
-		}
-	}
-	
-	public void dispose() {
-		reset();
-		super.dispose();
-	}
-
-	private void reset() {
-		for (Enumeration iterator = images.elements(); iterator.hasMoreElements();) {
-			Image image = (Image) iterator.nextElement();
-			image.dispose();
-		}
-		images.clear();
-	}
-
-	public Image get(ImageDescriptor desc) {
-		return get(desc, 0);
-	}
-
-	public Image get(ImageDescriptor desc, int flags) {
-		Object key = desc;
-
-		if (flags != 0) {
-			key = getKey(desc.hashCode(), flags);
-		}
-		Image image = (Image) images.get(key);
-		if (image == null) {
-			image = createImage(desc, flags);
-			images.put(key, image);
-		}
-		return image;
-	}
-	
-	public Image get(Image image, int flags) {
-		if (flags==0) return image;
-		String key = getKey(image.hashCode(), flags);
-		Image resultImage = (Image)images.get(key);
-		if (resultImage == null) {
-			resultImage = createImage(image, flags);
-			images.put(key, resultImage);
-		}
-		return resultImage;
-	}
-
-	private String getKey(long hashCode, int flags) {
-		return (""+hashCode) + ":"+flags; //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	private Image createImage(ImageDescriptor baseDesc, int flags) {
-		if (flags == 0) {
-			return baseDesc.createImage();
-		}
-		ImageDescriptor[] lowerLeft = getLowerLeftOverlays(flags);
-		ImageDescriptor[] upperRight = getUpperRightOverlays(flags);
-		ImageDescriptor[] lowerRight = getLowerRightOverlays(flags);
-		ImageDescriptor[] upperLeft = getUpperLeftOverlays(flags);
-		OverlayIcon compDesc =
-			new OverlayIcon(
-				baseDesc,
-				new ImageDescriptor[][] { upperRight, lowerRight, lowerLeft, upperLeft });
-		return compDesc.createImage();
-	}
-	
-	private Image createImage(Image baseImage, int flags) {
-		if (flags == 0) {
-			return baseImage;
-		}
-		ImageDescriptor[] lowerLeft = getLowerLeftOverlays(flags);
-		ImageDescriptor[] upperRight = getUpperRightOverlays(flags);
-		ImageDescriptor[] lowerRight = getLowerRightOverlays(flags);
-		ImageDescriptor[] upperLeft = getUpperLeftOverlays(flags);
-		ImageOverlayIcon compDesc =
-			new ImageOverlayIcon(
-				baseImage,
-				new ImageDescriptor[][] { upperRight, lowerRight, lowerLeft, upperLeft });
-		return compDesc.createImage();
-	}
-
-	private ImageDescriptor[] getLowerLeftOverlays(int flags) {
-		if ((flags & F_ERROR) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_ERROR_CO };
-		if ((flags & F_WARNING) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_WARNING_CO };
-		return null;
-	}
-
-	private ImageDescriptor[] getUpperRightOverlays(int flags) {
-		if ((flags & F_ADD) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_ADD_CO };
-		if ((flags & F_DEL) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_DEL_CO };
-		if ((flags & F_UNCONFIGURED) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_UNCONF_CO };
-		if ((flags & F_LINKED) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_LINKED_CO };
-		return null;
-	}
-	
-	private ImageDescriptor[] getLowerRightOverlays(int flags) {
-		if ((flags & F_CURRENT) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_CURRENT_CO };
-		if ((flags & F_MOD) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_MOD_CO };
-		/*
-		if ((flags & F_ADD) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_ADD_CO };
-		if ((flags & F_DEL) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_DEL_CO };
-		if ((flags & F_UNCONFIGURED) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_UNCONF_CO };
-		*/
-		return null;
-	}
-	
-	private ImageDescriptor[] getUpperLeftOverlays(int flags) {
-		if ((flags & F_UPDATED) != 0)
-			return new ImageDescriptor[] { UpdateUIImages.DESC_UPDATED_CO };
-		return null;
-	}
-
-	public String getColumnText(Object obj, int index) {
-		return getText(obj);
-	}
-	public Image getColumnImage(Object obj, int index) {
-		return getImage(obj);
-	}
-
-	public Image getImageFromURL(
-		URL installURL,
-		String subdirectoryAndFilename) {
-		Image image = null;
-		try {
-			URL newURL = new URL(installURL, subdirectoryAndFilename);
-			String key = newURL.toString();
-			image = (Image)images.get(key);
-			if (image == null) {
-				ImageDescriptor desc = ImageDescriptor.createFromURL(newURL);
-				image = desc.createImage();
-				images.put(key, image);
-			}
-		} catch (MalformedURLException e) {
-		} catch (SWTException e) {
-		}
-		return image;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
deleted file mode 100644
index 761fdfa..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/MainPreferencePage.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.preferences;
-
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.PreferencePage;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.update.core.SiteManager;
-import org.eclipse.update.internal.core.UpdateCore;
-import org.eclipse.update.internal.operations.UpdateUtils;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-/**
- * Insert the type's description here.
- * @see PreferencePage
- */
-public class MainPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-
-	//private Label historySizeLabel;
-	private Text historySizeText;
-	private Button checkSignatureCheckbox;
-	private Button equivalentButton;
-	private Button compatibleButton;
-	private Text updatePolicyText;
-	private Label httpProxyHostLabel;
-	private Label httpProxyPortLabel;
-	private Text httpProxyHostText;
-	private Text httpProxyPortText;
-	private Button enableHttpProxy;
-
-	// these two values are for compatibility with old code
-	public static final String EQUIVALENT_VALUE = "equivalent"; //$NON-NLS-1$
-	public static final String COMPATIBLE_VALUE = "compatible"; //$NON-NLS-1$
-
-	/**
-	 * The constructor.
-	 */
-	public MainPreferencePage() {
-		super();
-	}
-
-	/**
-	 * Insert the method's description here.
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on PreferencePage.
-	 */
-	protected Control createContents(Composite parent) {
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "org.eclipse.update.ui.MainPreferencePage"); //$NON-NLS-1$
-
-		Composite mainComposite = new Composite(parent, SWT.NULL);
-		mainComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = 0;
-		layout.marginWidth = 0;
-		layout.numColumns = 2;
-		mainComposite.setLayout(layout);
-
-		Label historySizeLabel = new Label(mainComposite, SWT.NONE);
-		historySizeLabel.setText(UpdateUIMessages.MainPreferencePage_historySize); 
-		historySizeText = new Text(mainComposite, SWT.SINGLE | SWT.BORDER);
-		historySizeText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		historySizeText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				historySizeChanged();
-			}
-		});
-
-		checkSignatureCheckbox =
-			new Button(mainComposite, SWT.CHECK | SWT.LEFT);
-		checkSignatureCheckbox.setText(UpdateUIMessages.MainPreferencePage_checkSignature); 
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		checkSignatureCheckbox.setLayoutData(gd);
-		checkSignatureCheckbox.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				if (checkSignatureCheckbox.getSelection() == false) {
-					warnSignatureCheck(getShell());
-				}
-			}
-		});
-
-		createSpacer(mainComposite, 2);
-
-		Group group = new Group(mainComposite, SWT.NONE);
-		group.setText(UpdateUIMessages.MainPreferencePage_updateVersions); 
-		group.setLayout(new GridLayout());
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		group.setLayoutData(gd);
-
-		equivalentButton = new Button(group, SWT.RADIO);
-		equivalentButton.setText(UpdateUIMessages.MainPreferencePage_updateVersions_equivalent); 
-
-		compatibleButton = new Button(group, SWT.RADIO);
-		compatibleButton.setText(UpdateUIMessages.MainPreferencePage_updateVersions_compatible); 
-
-		createSpacer(mainComposite, 2);
-
-		group = new Group(mainComposite, SWT.NONE);
-		group.setText(UpdateUIMessages.MainPreferencePage_updatePolicy); 
-		layout = new GridLayout();
-		layout.numColumns = 2;
-		group.setLayout(layout);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = 2;
-		group.setLayoutData(gd);
-
-		Label label = new Label(group, SWT.NULL);
-		label.setText(UpdateUIMessages.MainPreferencePage_updatePolicyURL); 
-		updatePolicyText = new Text(group, SWT.SINGLE | SWT.BORDER);
-
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		updatePolicyText.setLayoutData(gd);
-
-		createSpacer(mainComposite, 2);
-		createHttpProxy(mainComposite, 2);
-		initialize();
-		updatePolicyText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				textChanged();
-			}
-		});
-		return mainComposite;
-	}
-
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		Dialog.applyDialogFont(getControl());
-	}
-
-	protected void createSpacer(Composite composite, int columnSpan) {
-		Label label = new Label(composite, SWT.NONE);
-		GridData gd = new GridData();
-		gd.horizontalSpan = columnSpan;
-		label.setLayoutData(gd);
-	}
-
-	protected void createHttpProxy(Composite composite, int columnSpan) {
-		Group group = new Group(composite, SWT.NONE);
-		group.setText(UpdateUIMessages.MainPreferencePage_proxyGroup); 
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		group.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.horizontalSpan = columnSpan;
-		group.setLayoutData(gd);
-
-		enableHttpProxy = new Button(group, SWT.CHECK);
-		enableHttpProxy.setText(UpdateUIMessages.MainPreferencePage_enableHttpProxy); 
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-		enableHttpProxy.setLayoutData(gd);
-
-		httpProxyHostLabel = new Label(group, SWT.NONE);
-		httpProxyHostLabel.setText(UpdateUIMessages.MainPreferencePage_httpProxyHost); 
-
-		httpProxyHostText = new Text(group, SWT.SINGLE | SWT.BORDER);
-		httpProxyHostText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		httpProxyPortLabel = new Label(group, SWT.NONE);
-		httpProxyPortLabel.setText(UpdateUIMessages.MainPreferencePage_httpProxyPort); 
-
-		httpProxyPortText = new Text(group, SWT.SINGLE | SWT.BORDER);
-		httpProxyPortText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		// Validation of port field
-		httpProxyPortText.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				try {
-					String portValue = httpProxyPortText.getText();
-					int num = 80;
-					if (portValue != null && portValue.trim().length() > 0)
-						num = Integer.valueOf(portValue).intValue();
-					if (0 <= num && num <= 0xFFFF) {
-						// port is valid
-						MainPreferencePage.this.setValid(true);
-						setErrorMessage(null);
-						return;
-					}
-
-					// port is invalid
-				} catch (NumberFormatException nfe) {
-				}
-				MainPreferencePage.this.setValid(false);
-				setErrorMessage(UpdateUIMessages.MainPreferencePage_invalidPort); 
-			}
-		});
-
-		enableHttpProxy.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				boolean enable = enableHttpProxy.getSelection();
-				httpProxyPortLabel.setEnabled(enable);
-				httpProxyHostLabel.setEnabled(enable);
-				httpProxyPortText.setEnabled(enable);
-				httpProxyHostText.setEnabled(enable);
-			}
-		});
-
-	}
-
-	private int getHistoryCount() {
-		try {
-			Integer count = new Integer(historySizeText.getText());
-			return count.intValue();
-		} catch (NumberFormatException e) {
-		}
-		return UpdateCore.getPlugin().getPluginPreferences().getDefaultInt(
-			UpdateCore.P_HISTORY_SIZE);
-	}
-	
-	private void historySizeChanged() {
-		
-		try {
-			int historySize = Integer.parseInt(historySizeText.getText());
-			if (historySize < 0) {
-				setValid(false);
-				setErrorMessage(UpdateUIMessages.MainPreferencePage_invalidHistorySize); 
-				return;
-			}
-		} catch (NumberFormatException e) {
-			setValid(false);
-			setErrorMessage(UpdateUIMessages.MainPreferencePage_invalidHistorySize); 
-			return;
-		}
-		setValid(true);
-		setErrorMessage(null);	
-	}
-
-	public boolean performOk() {
-		BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
-			public void run() {
-				try {
-					SiteManager.getLocalSite().setMaximumHistoryCount(
-						getHistoryCount());
-					SiteManager.setHttpProxyInfo(
-						enableHttpProxy.getSelection(),
-						httpProxyHostText.getText(),
-						httpProxyPortText.getText());
-				} catch (CoreException e) {
-					UpdateUI.logException(e);
-				}
-			}
-		});
-
-		Preferences prefs = UpdateCore.getPlugin().getPluginPreferences();
-		prefs.setValue(
-			UpdateCore.P_CHECK_SIGNATURE,
-			checkSignatureCheckbox.getSelection());
-		prefs.setValue(UpdateCore.P_HISTORY_SIZE, historySizeText.getText());
-		prefs.setValue(
-			UpdateCore.P_UPDATE_VERSIONS,
-			equivalentButton.getSelection()
-				? EQUIVALENT_VALUE
-				: COMPATIBLE_VALUE);
-		prefs.setValue(
-			UpdateUtils.P_UPDATE_POLICY_URL,
-			updatePolicyText.getText());
-
-		UpdateCore.getPlugin().savePluginPreferences();
-		return super.performOk();
-	}
-
-
-	private void initialize() {
-		Preferences prefs = UpdateCore.getPlugin().getPluginPreferences();
-		
-		enableHttpProxy.setSelection(prefs.getBoolean(UpdateCore.HTTP_PROXY_ENABLE));
-		String serverValue = prefs.getString(UpdateCore.HTTP_PROXY_HOST);
-		if (serverValue != null)
-			httpProxyHostText.setText(serverValue);
-		String portValue = prefs.getString(UpdateCore.HTTP_PROXY_PORT);
-		if (portValue != null)
-			httpProxyPortText.setText(portValue);
-
-		httpProxyPortLabel.setEnabled(enableHttpProxy.getSelection());
-		httpProxyHostLabel.setEnabled(enableHttpProxy.getSelection());
-		httpProxyPortText.setEnabled(enableHttpProxy.getSelection());
-		httpProxyHostText.setEnabled(enableHttpProxy.getSelection());
-
-		checkSignatureCheckbox.setSelection(
-			prefs.getBoolean(UpdateCore.P_CHECK_SIGNATURE));
-
-		historySizeText.setText(prefs.getString(UpdateCore.P_HISTORY_SIZE));
-
-		boolean isCompatible =
-			UpdateCore.COMPATIBLE_VALUE.equals(
-				prefs.getString(UpdateCore.P_UPDATE_VERSIONS));
-		equivalentButton.setSelection(!isCompatible);
-		compatibleButton.setSelection(isCompatible);
-
-		String text = prefs.getString(UpdateUtils.P_UPDATE_POLICY_URL);
-		updatePolicyText.setText(text);
-	}
-
-	private void textChanged() {
-		String text = updatePolicyText.getText();
-		if (text.length() > 0) {
-			try {
-				new URL(text);
-			} catch (MalformedURLException e) {
-				setValid(false);
-				setErrorMessage(UpdateUIMessages.UpdateSettingsPreferencePage_invalid); 
-				return;
-			}
-		}
-		setValid(true);
-		setErrorMessage(null);
-	}
-
-	public void performDefaults() {
-		super.performDefaults();
-		Preferences prefs = UpdateCore.getPlugin().getPluginPreferences();
-
-		enableHttpProxy.setSelection(false);
-		httpProxyHostText.setText(""); //$NON-NLS-1$
-		httpProxyPortText.setText(""); //$NON-NLS-1$
-		httpProxyPortLabel.setEnabled(false);
-		httpProxyHostLabel.setEnabled(false);
-		httpProxyPortText.setEnabled(false);
-		httpProxyHostText.setEnabled(false);
-
-		updatePolicyText.setText(""); //$NON-NLS-1$
-
-		checkSignatureCheckbox.setSelection(true);
-		historySizeText.setText(
-			prefs.getDefaultString(UpdateCore.P_HISTORY_SIZE));
-		equivalentButton.setSelection(true);
-		compatibleButton.setSelection(false);
-	}
-
-	private void warnSignatureCheck(Shell shell) {
-		MessageDialog.openWarning(shell, UpdateUIMessages.MainPreferencePage_digitalSignature_title, 
-		UpdateUIMessages.MainPreferencePage_digitalSignature_message); 
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/UpdateSettingsPreferencePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/UpdateSettingsPreferencePage.java
deleted file mode 100644
index 5622a88..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/preferences/UpdateSettingsPreferencePage.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.preferences;
-
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.preference.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-/**
- * Insert the type's description here.
- * @see PreferencePage
- */
-public class UpdateSettingsPreferencePage
-	extends PreferencePage
-	implements IWorkbenchPreferencePage {
-	private Text mappingsFile;
-
-	/**
-	 * The constructor.
-	 */
-	public UpdateSettingsPreferencePage() {
-		setDescription(UpdateUIMessages.UpdateSettingsPreferencePage_description); 
-	}
-
-	/**
-	 * Insert the method's description here.
-	 */
-	public void init(IWorkbench workbench) {
-	}
-
-	public Control createContents(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		container.setLayout(layout);
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.numColumns = 2;
-		Label label = new Label(container, SWT.NULL);
-		label.setText(UpdateUIMessages.UpdateSettingsPreferencePage_label); 
-		mappingsFile = new Text(container, SWT.SINGLE | SWT.BORDER);
-
-		initialize();
-		mappingsFile.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				textChanged();
-			}
-		});
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		mappingsFile.setLayoutData(gd);
-		return container;
-	}
-
-	private void initialize() {
-		Preferences pref = UpdateCore.getPlugin().getPluginPreferences();
-		String text = pref.getString(UpdateUtils.P_UPDATE_POLICY_URL);
-		mappingsFile.setText(text);
-		textChanged();
-	}
-
-	private void textChanged() {
-		String text = mappingsFile.getText();
-		if (text.length() > 0) {
-			try {
-				new URL(text);
-			} catch (MalformedURLException e) {
-				setValid(false);
-				setErrorMessage(UpdateUIMessages.UpdateSettingsPreferencePage_invalid); 
-				return;
-			}
-		}
-		setValid(true);
-		setErrorMessage(null);
-	}
-
-	public boolean performOk() {
-		Preferences pref = UpdateCore.getPlugin().getPluginPreferences();
-		String text = mappingsFile.getText();
-		if (text.length() > 0)
-			pref.setValue(UpdateUtils.P_UPDATE_POLICY_URL, text);
-		else
-			pref.setToDefault(UpdateUtils.P_UPDATE_POLICY_URL);
-		UpdateCore.getPlugin().savePluginPreferences();
-		return true;
-	}
-
-	protected void performDefaults() {
-		mappingsFile.setText(""); //$NON-NLS-1$
-		super.performDefaults();
-	}
-
-	public void createControl(Composite parent) {
-		super.createControl(parent);
-		Dialog.applyDialogFont(getControl());
-		/*
-		WorkbenchHelp.setHelp(
-			parent,"org.eclipse.update.ui.AppServerPreferencePage");
-		*/
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/ConfiguredSitePropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/ConfiguredSitePropertyPage.java
deleted file mode 100644
index 41a16a2..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/ConfiguredSitePropertyPage.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.properties;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-/**
- * @see PropertyPage
- */
-public class ConfiguredSitePropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
-	/**
-	 *
-	 */
-	public ConfiguredSitePropertyPage() {
-		noDefaultAndApplyButton();
-	}
-
-	protected Control createContents(Composite parent)  {
-		IConfiguredSiteAdapter adapter = (IConfiguredSiteAdapter)getElement();
-		IConfiguredSite csite = adapter.getConfiguredSite();
-		Composite composite = new Composite(parent,SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		addProperty(composite, UpdateUIMessages.ConfiguredSitePropertyPage_path, csite.getSite().getURL().toString()); 
-		addProperty(composite, UpdateUIMessages.ConfiguredSitePropertyPage_type, getLocationType(csite)); 
-		addProperty(composite, UpdateUIMessages.ConfiguredSitePropertyPage_enabled, csite.isEnabled()?UpdateUIMessages.ConfiguredSitePropertyPage_yes:UpdateUIMessages.ConfiguredSitePropertyPage_no); 
-		return composite;
-	}
-	
-	private String getLocationType(IConfiguredSite csite) {
-		if (csite.isExtensionSite())
-			return UpdateUIMessages.ConfiguredSitePropertyPage_extension; 
-		if (csite.isProductSite())
-			return UpdateUIMessages.ConfiguredSitePropertyPage_product; 
-		return UpdateUIMessages.ConfiguredSitePropertyPage_unknown; 
-	}
-	
-	private void addProperty(Composite parent, String key, String value) {
-		Label label = new Label(parent, SWT.NULL);
-		label.setText(key);
-		
-		label = new Label(parent, SWT.NULL);
-		label.setText(value);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		label.setLayoutData(gd);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureCopyrightPropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureCopyrightPropertyPage.java
deleted file mode 100644
index 7b8cfb5..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureCopyrightPropertyPage.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.properties;
-
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.parts.*;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-/**
- * @see PropertyPage
- */
-public class FeatureCopyrightPropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
-	/**
-	 *
-	 */
-	public FeatureCopyrightPropertyPage() {
-		noDefaultAndApplyButton();
-	}
-
-	protected Control createContents(Composite parent) {
-		try {
-			IFeatureAdapter adapter = (IFeatureAdapter) getElement();
-			IFeature feature = adapter.getFeature(null);
-
-			Composite composite = new Composite(parent, SWT.NULL);
-			composite.setLayout(new GridLayout());
-
-			Label label = new Label(composite, SWT.WRAP);
-			GridData gd =
-				new GridData(
-					GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
-			gd.widthHint = computeWidthLimit(label, 80);
-			label.setLayoutData(gd);
-
-			IURLEntry copyright = feature.getCopyright();
-			String annotation = (copyright != null) ? copyright.getAnnotation() : null;
-
-			if (annotation != null && annotation.length() > 0) {
-				label.setText(annotation);
-				final URL url = copyright.getURL();
-				String filename = (url != null) ? url.getFile() : null;
-				if (filename != null
-					&& (filename.endsWith(".htm") || filename.endsWith(".html"))) { //$NON-NLS-1$ //$NON-NLS-2$
-					Button button = new Button(composite, SWT.PUSH);
-					button.setText(UpdateUIMessages.FeatureCopyrightPropertyPage_showInBrowser); 
-					button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-					SWTUtil.setButtonDimensionHint(button);
-					button.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent e) {
-							UpdateUI.showURL(url.toExternalForm());
-						}
-					});
-				}
-			} else {
-				label.setText(UpdateUIMessages.FeatureCopyrightPropertyPage_noCopyright); 
-			}
-			Dialog.applyDialogFont(parent);
-		} catch (CoreException e) {
-		}
-		return null;
-	}
-	
-	private int computeWidthLimit(Label label, int nchars) {
-		GC gc = new GC(label);
-		gc.setFont(label.getFont());
-		FontMetrics fontMetrics= gc.getFontMetrics();
-		gc.dispose();
-		return Dialog.convertWidthInCharsToPixels(fontMetrics, nchars);
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureGeneralPropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureGeneralPropertyPage.java
deleted file mode 100644
index e19da18..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureGeneralPropertyPage.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.properties;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-public class FeatureGeneralPropertyPage
-	extends PropertyPage
-	implements IWorkbenchPropertyPage {
-		
-	public FeatureGeneralPropertyPage() {
-		noDefaultAndApplyButton();
-	}
-
-	protected Control createContents(Composite parent) {
-		try {
-			IFeatureAdapter adapter = (IFeatureAdapter) getElement();
-			IFeature feature = adapter.getFeature(null);
-
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.marginWidth = 0;
-			layout.marginHeight = 0;
-			layout.verticalSpacing = 15;
-			composite.setLayout(layout);
-			
-			addGeneralSection(feature, composite);	
-			addSupportedPlatformsSection(feature, composite);
-			addDescription(feature, composite);
-			
-			Dialog.applyDialogFont(parent);
-			
-			return composite;
-
-		} catch (CoreException e) {
-		}
-
-		return null;
-	}
-
-	private void addGeneralSection(IFeature feature, Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-
-		addField(composite, UpdateUIMessages.FeatureGeneralPropertyPage_name, feature.getLabel()); 
-		addField(
-			composite,
-			UpdateUIMessages.FeatureGeneralPropertyPage_id, 
-			feature.getVersionedIdentifier().getIdentifier());
-		addField(
-			composite,
-			UpdateUIMessages.FeatureGeneralPropertyPage_version, 
-			feature.getVersionedIdentifier().getVersion().toString());
-		addField(composite, UpdateUIMessages.FeatureGeneralPropertyPage_provider, feature.getProvider()); 
-		long size = feature.getInstallSize();
-		if (size != ContentEntryModel.UNKNOWN_SIZE)
-			addField(composite, UpdateUIMessages.FeatureGeneralPropertyPage_size, new Long(size).toString() + " " + UpdateUIMessages.FeatureGeneralPropertyPage_Kilobytes);  //$NON-NLS-1$
-
-	}
-	
-	private void addSupportedPlatformsSection(IFeature feature, Composite parent) {
-		Group group = new Group(parent, SWT.NONE);
-		group.setText(UpdateUIMessages.FeatureGeneralPropertyPage_platforms); 
-
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = true;
-		group.setLayout(layout);
-		group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		Label label = new Label(group, SWT.NONE);
-		label.setText(UpdateUIMessages.FeatureGeneralPropertyPage_os + extractValue(feature.getOS())); 
-
-		label = new Label(group, SWT.NONE);
-		label.setText(UpdateUIMessages.FeatureGeneralPropertyPage_ws + extractValue(feature.getWS())); 
-
-		label = new Label(group, SWT.NONE);
-		label.setText(UpdateUIMessages.FeatureGeneralPropertyPage_arch + extractValue(feature.getOSArch())); 
-
-		label = new Label(group, SWT.NONE);
-		label.setText(UpdateUIMessages.FeatureGeneralPropertyPage_nl + extractValue(feature.getNL())); 
-	}
-
-	private void addField(Composite parent, String property, String value) {
-
-		if (value != null && value.length() > 0) {
-			Label label = new Label(parent, SWT.NONE);
-			label.setText(property);
-
-			label = new Label(parent, SWT.NONE);
-			label.setText(getEscapedString(value));
-		}
-
-	}
-	private String extractValue(String value) {
-		if (value == null || value.equals("*")) //$NON-NLS-1$
-			return UpdateUIMessages.FeatureGeneralPropertyPage_all; 
-		return value;
-	}
-
-	private void addDescription(IFeature feature, Composite parent) {
-		IURLEntry description = feature.getDescription();
-		if (description != null) {
-			String annotation = description.getAnnotation();
-			if (annotation != null && annotation.length() > 0) {
-				Group group = new Group(parent, SWT.NONE);
-				group.setText(UpdateUIMessages.FeatureGeneralPropertyPage_desc); 
-				group.setLayout(new GridLayout());
-				group.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-				Text text = new Text(group, SWT.MULTI | SWT.WRAP);
-				GridData gd = new GridData(GridData.FILL_BOTH);
-				gd.heightHint = 200;
-				gd.widthHint = 350;
-				text.setEditable(false);
-				text.setText(annotation);
-				text.setLayoutData(gd);
-			}
-		}
-	}
-	
-	private String getEscapedString(String value) {
-		return value.replaceAll("&", "&&"); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureLicensePropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureLicensePropertyPage.java
deleted file mode 100644
index ab6e83b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureLicensePropertyPage.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.properties;
-
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.parts.*;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-
-public class FeatureLicensePropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
-	public FeatureLicensePropertyPage() {
-		noDefaultAndApplyButton();
-	}
-
-	protected Control createContents(Composite parent)  {
-		try {
-			Composite composite = new Composite(parent, SWT.NULL);
-			composite.setLayout(new GridLayout());
-
-			IFeatureAdapter adapter = (IFeatureAdapter)getElement();
-			IFeature feature = adapter.getFeature(null);			
-			IURLEntry license = feature.getLicense();
-			String annotation = (license != null) ? license.getAnnotation() : null;
-			
-			if (annotation != null && annotation.length() > 0) {
-				Text text = new Text(composite, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL | SWT.BORDER | SWT.WRAP);
-				GridData gd = new GridData(GridData.FILL_BOTH);
-				gd.heightHint = 200;
-				gd.widthHint = 350;
-				text.setLayoutData(gd);
-				text.setText(annotation);
-				text.setEditable(false);
-				final URL url = license.getURL();
-				String filename = (url != null) ? url.getFile() : null;
-				if (filename != null && (filename.endsWith(".htm") || url.getFile().endsWith(".html"))) { //$NON-NLS-1$ //$NON-NLS-2$
-					Button button = new Button(composite, SWT.PUSH);
-					button.setText(UpdateUIMessages.FeatureLicensePropertyPage_showInBrowser); 
-					button.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END));
-					SWTUtil.setButtonDimensionHint(button);
-					button.addSelectionListener(new SelectionAdapter() {
-						public void widgetSelected(SelectionEvent e) {
-							UpdateUI.showURL(url.toExternalForm());
-						}
-					});
-				}
-			} else {
-				Label label = new Label(composite, SWT.NULL);
-				label.setText(UpdateUIMessages.FeatureLicensePropertyPage_noLicense); 
-			}
-			
-			Dialog.applyDialogFont(parent);
-			
-			return composite;
-			
-		} catch (CoreException e) {
-		}
-		return null;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureStatusPropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureStatusPropertyPage.java
deleted file mode 100644
index b40068c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/FeatureStatusPropertyPage.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.properties;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.operations.*;
-
-/**
- * @see PropertyPage
- */
-public class FeatureStatusPropertyPage
-	extends PropertyPage
-	implements IWorkbenchPropertyPage {
-	/**
-	 *
-	 */
-	public FeatureStatusPropertyPage() {
-		noDefaultAndApplyButton();
-	}
-
-	protected Control createContents(Composite parent) {
-		try {
-
-			Composite composite = new Composite(parent, SWT.NONE);
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 1;
-			layout.verticalSpacing = 20;
-			composite.setLayout(layout);
-
-			Text message = new Text(composite, SWT.MULTI | SWT.WRAP);
-			message.setEditable(false);
-			GridData gd = new GridData();
-			gd.widthHint = 350;
-			message.setLayoutData(gd);
-			
-			ConfiguredFeatureAdapter adapter = (ConfiguredFeatureAdapter) getElement();
-			IFeature feature = adapter.getFeature(null);
-			
-			if (OperationsManager.findPendingOperation(feature) != null) {
-				message.setText(UpdateUIMessages.FeatureStatusPropertyPage_pendingChanges); 
-				return composite;
-			}
-			
-			IStatus status = getStatus(feature);
-			int severity = status.getSeverity();
-			if (severity == IStatus.ERROR
-				&& getStatusCode(feature, status) == IFeature.STATUS_HAPPY) {
-				severity = IStatus.OK;
-				message.setText(UpdateUIMessages.FeatureStatusPropertyPage_goodConfiguration); 
-			} else {
-				message.setText(status.getMessage());
-			}
-			if (severity != IStatus.OK && status.isMultiStatus()) {
-				String reason = getReason(status);
-				if (reason.length() > 0) {
-					Composite comp = new Composite(composite, SWT.NONE);
-					comp.setLayout(new GridLayout());
-					gd = new GridData(GridData.FILL_BOTH);
-					comp.setLayoutData(gd);
-
-					Label label = new Label(comp, SWT.NONE);
-					label.setText(UpdateUIMessages.FeatureStatusPropertyPage_reason); 
-
-					Text text =
-						new Text(comp, SWT.MULTI | SWT.BORDER | SWT.WRAP | SWT.V_SCROLL);
-					text.setEditable(false);
-					text.setText(reason);
-					gd.widthHint = 350;
-					text.setLayoutData(gd);
-				}
-
-			}
-			
-			Dialog.applyDialogFont(parent);
-			
-			return composite;
-
-		} catch (CoreException e) {
-		}
-
-		return null;
-	}
-
-	private String getReason(IStatus status) {
-		IStatus[] children = status.getChildren();
-		StringBuffer buffer = new StringBuffer();
-		for (int i = 0; i < children.length; i++) {
-			String message = children[i].getMessage();
-			if (message != null && message.length() > 0) {
-				buffer.append(
-					message
-						+ System.getProperty("line.separator") //$NON-NLS-1$
-						+ System.getProperty("line.separator")); //$NON-NLS-1$
-			}
-		}
-		return buffer.toString();
-	}
-
-	private IStatus getStatus(IFeature feature) throws CoreException {
-		if (feature instanceof MissingFeature) {
-			int severity;
-			String message = ""; //$NON-NLS-1$
-			if (((MissingFeature) feature).isOptional()) {
-				severity = IStatus.OK;
-				message = UpdateUIMessages.FeatureStatusPropertyPage_missingOptional; 
-			} else {
-				severity = IStatus.ERROR;
-				message = UpdateUIMessages.FeatureStatusPropertyPage_missing; 
-			}
-			return new Status(severity, UpdateUI.PLUGIN_ID, IStatus.OK, message, null);
-		}
-		return SiteManager.getLocalSite().getFeatureStatus(feature);
-	}
-
-	private int getStatusCode(IFeature feature, IStatus status) {
-		int code = status.getCode();
-		if (code == IFeature.STATUS_UNHAPPY) {
-			if (status.isMultiStatus()) {
-				IStatus[] children = status.getChildren();
-				for (int i = 0; i < children.length; i++) {
-					IStatus child = children[i];
-					if (child.isMultiStatus()
-						|| child.getCode() != IFeature.STATUS_DISABLED)
-						return code;
-				}
-				// If we are here, global status is unhappy
-				// because one or more included features
-				// is disabled.
-				if (UpdateUtils.hasObsoletePatches(feature)) {
-					// The disabled included features
-					// are old patches that are now
-					// subsumed by better versions of
-					// the features they were designed to
-					// patch.
-					return IFeature.STATUS_HAPPY;
-				}
-			}
-		}
-		return code;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/InstallConfigurationPropertyPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/InstallConfigurationPropertyPage.java
deleted file mode 100644
index f4ef66f..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/properties/InstallConfigurationPropertyPage.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.properties;
-
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-/**
- * @see PropertyPage
- */
-public class InstallConfigurationPropertyPage extends PropertyPage implements IWorkbenchPropertyPage {
-	/**
-	 *
-	 */
-	public InstallConfigurationPropertyPage() {
-		noDefaultAndApplyButton();
-	}
-
-	protected Control createContents(Composite parent)  {
-		Composite composite = new Composite(parent,SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		addProperty(composite, UpdateUIMessages.ConfiguredSitePropertyPage_path, ConfiguratorUtils.getInstallURL().toString()); 
-		return composite;
-	}
-	
-
-	private void addProperty(Composite parent, String key, String value) {
-		Label label = new Label(parent, SWT.NULL);
-		label.setText(key);
-		
-		label = new Label(parent, SWT.NULL);
-		label.setText(value);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		label.setLayoutData(gd);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/Authentication.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/Authentication.java
deleted file mode 100644
index 6838a4f..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/Authentication.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.security;
-
-/**
- * Keeps user and password strings.
- */
-public class Authentication {
-	protected String user;
-	protected String password;
-	public Authentication(String user, String password){
-		this.user = user;
-		this.password = password;
-	}
-
-	/**
-	 * @return Returns the password.
-	 */
-	public String getPassword() {
-		return password;
-	}
-	/**
-	 * @return Returns the user.
-	 */
-	public String getUser() {
-		return user;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationDialog.java
deleted file mode 100644
index 60d8c8a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationDialog.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.security;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.*;
-
-/**
- * 
- */
-public class JarVerificationDialog extends TitleAreaDialog {
-	public final static int INSTALL_ALL = CANCEL + OK + 1;
-	private IVerificationResult _VerificationResult = null;
-	private IDialogPage _DialogPage;
-	private Composite pageContainer;
-	private Image defaultImage = null;
-	private ImageDescriptor defaultImageDescriptor =
-		UpdateUIImages.DESC_UPDATE_WIZ;
-	
-	/**
-	 * Constructor for JarVerificationDialog.
-	 * @param parentShell
-	 */
-	public JarVerificationDialog(Shell parentShell,IDialogPage dialogPage, IVerificationResult verificationResult) {
-		super(parentShell);
-		setShellStyle(SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE);		
-		_VerificationResult = verificationResult;
-		_DialogPage = dialogPage;
-		if (dialogPage instanceof JarVerificationPage){
-			((JarVerificationPage)_DialogPage).setTitleAreaDialog(this);
-		}
-	}
-
-	/**
-	 * Add buttons to the dialog's button bar.
-	 */
-	protected void createButtonsForButtonBar(Composite parent) {
-		if (_VerificationResult.getVerificationCode()
-			!= IVerificationResult.TYPE_ENTRY_CORRUPTED) {
-
-			if (_VerificationResult.isFeatureVerification()) {
-				createButton(
-					parent,
-					IDialogConstants.OK_ID,
-					UpdateUIMessages.JarVerificationDialog_Install, 
-					false);
-			} else {
-				createButton(
-					parent,
-					IDialogConstants.OK_ID,
-					UpdateUIMessages.JarVerificationDialog_Continue, 
-					false);				
-			}
-			// Radio button: Install all without prompting
-			//----------------------------------
-			createButton(
-				parent,
-				IDialogConstants.YES_TO_ALL_ID,
-				UpdateUIMessages.JarVerificationDialog_InstallAll, 
-				false);		
-			
-			// Radio button: Cancel installation
-			//----------------------------------
-			createButton(
-				parent,
-				IDialogConstants.CANCEL_ID,
-				UpdateUIMessages.JarVerificationDialog_Cancel, 
-				true);							
-		} else {
-			createButton(
-				parent,
-				IDialogConstants.CANCEL_ID,
-				UpdateUIMessages.JarVerificationDialog_Cancel, 
-				true);
-		}
-		getButton(IDialogConstants.CANCEL_ID).setFocus();
-	}
-	
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite compositeParent = (Composite)super.createDialogArea(parent);
-		setTitleImage(this.getImage());
-		setTitle(UpdateUIMessages.JarVerificationDialog_Title); 
-		
-		_DialogPage.createControl(compositeParent);
-		pageContainer=(Composite)_DialogPage.getControl();
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		pageContainer.setLayoutData(gd);
-		pageContainer.setFont(parent.getFont());		
-		
-		// Build the separator line
-		Label separator= new Label(compositeParent, SWT.HORIZONTAL | SWT.SEPARATOR);
-		separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		
-		return compositeParent;
-	}
-	
-		/**
-	 * @see IDialogPage#getImage()
-	 */
-	public Image getImage() {
-		if (defaultImage == null)
-			defaultImage = defaultImageDescriptor.createImage();
-
-		return defaultImage;
-	}
-
-	public boolean close() {
-		// dispose of image
-		if (defaultImage != null) {
-			defaultImage.dispose();
-			defaultImage = null;
-		}
-		return super.close();		
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.Dialog#buttonPressed(int)
-	 */
-	protected void buttonPressed(int buttonId) {
-		if (IDialogConstants.YES_TO_ALL_ID == buttonId)
-			installAllPressed();
-		else
-			super.buttonPressed(buttonId);
-	}
-	
-	private void installAllPressed() {
-        setReturnCode(JarVerificationDialog.INSTALL_ALL);
-        close();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationPage.java
deleted file mode 100644
index 8cad81f..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationPage.java
+++ /dev/null
@@ -1,333 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.security;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.TitleAreaDialog;
-import org.eclipse.jface.resource.FontRegistry;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Group;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.*;
-import org.eclipse.update.core.IVerificationResult;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.wizards.BannerPage;
-
-/**
- * 
- */
-public class JarVerificationPage extends BannerPage {
-
-	private IVerificationResult _VerificationResult = null;
-	private String _fileName = null;
-	private String _strFeatureName = null;
-	private String _strId = null;
-	private String _strProviderName = null;
-	private TitleAreaDialog _Dialog;
-
-	/*
-	 * Constructor for JarVerificationPage.
-	 */
-	public JarVerificationPage(IVerificationResult verificationResult) {
-		super(UpdateUIMessages.JarVerificationDialog_Verification); 
-		_fileName = verificationResult.getContentReference().getIdentifier();
-		_VerificationResult = verificationResult;
-		_strId = verificationResult.getFeature().getVersionedIdentifier().toString();
-		_strFeatureName = verificationResult.getFeature().getLabel();
-		_strProviderName = verificationResult.getFeature().getProvider();
-	}
-
-	/* (non-Javadoc)
-	 * Method declared on Dialog.
-	 */
-	protected Control createContents(Composite compositeParent) {
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(compositeParent, "org.eclipse.update.ui.JarVerificationPage"); //$NON-NLS-1$
-		// Composite: Client
-		//------------------
-		Composite compositeClient = new Composite(compositeParent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = layout.marginWidth = 0;
-		compositeClient.setLayout(layout);
-		compositeClient.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		// Text Information
-		//------------------		
-		createTextArea(compositeClient);
-
-		// Certificate Area
-		//------------------
-		createCertificateArea(compositeClient);
-
-		// File and Feature Information
-		//-----------------------------		
-		createInformationArea(compositeClient);
-
-		// Choice Area
-		//------------		
-		//createChoiceArea(compositeClient);
-
-		Dialog.applyDialogFont(compositeParent);
-		return compositeClient;
-
-	}
-
-	/*
-	 * Creates the Information text
-	 */
-	private void createTextArea(Composite compositeClient) {
-
-		// Label: Information
-		//------------------
-		Label labelInformation =
-			new Label(compositeClient, SWT.WRAP);
-		labelInformation.setLayoutData(
-			new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.FILL_HORIZONTAL));
-
-        String actionMsg = null;
-        if (_VerificationResult.isFeatureVerification()) {
-            actionMsg = UpdateUIMessages.JarVerificationDialog_MayChooseToInstall; 
-        } else {
-            actionMsg = UpdateUIMessages.JarVerificationDialog_MayChooseToContinue; 
-        }
-        
-        StringBuffer strb = new StringBuffer();
-		switch (_VerificationResult.getVerificationCode()) {
-
-			case IVerificationResult.TYPE_ENTRY_NOT_SIGNED :
-				String msg = (_VerificationResult.isFeatureVerification()?
-					UpdateUIMessages.JarVerificationDialog_AboutToInstall_Feature:
-						UpdateUIMessages.JarVerificationDialog_AboutToInstall_File)+
-                        "\r\n" + actionMsg; //$NON-NLS-1$
-				setMessage(msg, WARNING);
-				strb.append(_VerificationResult.isFeatureVerification()?
-							UpdateUIMessages.JarVerificationDialog_NotDigitallySigned_Feature:
-								UpdateUIMessages.JarVerificationDialog_NotDigitallySigned_File);
-				strb.append("\r\n"); //$NON-NLS-1$
-				strb.append(_VerificationResult.isFeatureVerification()?
-						UpdateUIMessages.JarVerificationDialog_CannotVerifyProvider_Feature:
-							UpdateUIMessages.JarVerificationDialog_CannotVerifyProvider_File);
-                
-/*				strb.append("\r\n"); //$NON-NLS-1$
-				if (_VerificationResult.isFeatureVerification()) {
-					strb.append(
-						UpdateUI.getResourceString("JarVerificationDialog.InstallMayCorrupt"));//$NON-NLS-1$
-				} else {
-					strb.append(
-						UpdateUI.getResourceString("JarVerificationDialog.ContinueMayCorrupt"));//$NON-NLS-1$ 					
-				}
-				*/
-				labelInformation.setText(strb.toString());
-				break;
-
-			case IVerificationResult.TYPE_ENTRY_CORRUPTED :
-				msg = _VerificationResult.isFeatureVerification()?
-							UpdateUIMessages.JarVerificationDialog_CorruptedContent_Feature:
-								UpdateUIMessages.JarVerificationDialog_CorruptedContent_File;
-				setMessage(msg, ERROR);
-				strb.append(
-					UpdateUIMessages.JarVerificationDialog_ComponentNotInstalled); //$NON-NLS-1$
-				labelInformation.setText(strb.toString());
-				break;
-
-			case IVerificationResult.TYPE_ENTRY_SIGNED_UNRECOGNIZED :
-				msg = (_VerificationResult.isFeatureVerification()?
-						UpdateUIMessages.JarVerificationDialog_SignedComponent_Feature:
-							UpdateUIMessages.JarVerificationDialog_SignedComponent_Feature) +  
-                        "\r\n" + actionMsg; //$NON-NLS-1$
-                
-				setMessage(msg, WARNING);
-				strb.append(_VerificationResult.isFeatureVerification()?
-					UpdateUIMessages.JarVerificationDialog_UnknownCertificate_Feature:
-						UpdateUIMessages.JarVerificationDialog_UnknownCertificate_File);
-				strb.append("\r\n"); //$NON-NLS-1$
-				strb.append(_VerificationResult.isFeatureVerification()?
-						UpdateUIMessages.JarVerificationDialog_UnableToVerifyProvider_Feature:
-							UpdateUIMessages.JarVerificationDialog_UnableToVerifyProvider_File);
-/*				strb.append("\r\n"); //$NON-NLS-1$
-				if (_VerificationResult.isFeatureVerification()) {
-					strb.append(
-						UpdateUI.getResourceString("JarVerificationDialog.InstallMayCorrupt")); //$NON-NLS-1$
-				} else {
-					strb.append(
-						UpdateUI.getResourceString("JarVerificationDialog.ContinueMayCorrupt"));//$NON-NLS-1$ 					
-				}
-				*/
-				labelInformation.setText(strb.toString());
-				break;
-
-			case IVerificationResult.TYPE_ENTRY_SIGNED_RECOGNIZED :
-				msg = (_VerificationResult.isFeatureVerification()?
-						UpdateUIMessages.JarVerificationDialog_SignedComponent_Feature:
-							UpdateUIMessages.JarVerificationDialog_SignedComponent_File) +
-                        "\r\n" + actionMsg; //$NON-NLS-1$
-				setMessage(msg, WARNING);
-				strb.append(_VerificationResult.isFeatureVerification()?
-					UpdateUIMessages.JarVerificationDialog_KnownCertificate_Feature:
-						UpdateUIMessages.JarVerificationDialog_KnownCertificate_File);
-				strb.append("\r\n"); //$NON-NLS-1$
-				strb.append(_VerificationResult.isFeatureVerification()?
-					UpdateUIMessages.JarVerificationDialog_ProviderKnown_Feature:
-						UpdateUIMessages.JarVerificationDialog_ProviderKnown_File);
-				strb.append("\r\n"); //$NON-NLS-1$
-
-				labelInformation.setText(strb.toString());
-
-//				createCautionArea(compositeClient);
-				break;
-		}
-	}
-	
-
-	/*
-	 * Presents File & Feature information
-	 */
-	private void createInformationArea(Composite compositeClient) {
-
-		// Composite: Information labels
-		//------------------------------
-		Composite compositeInformation = new Composite(compositeClient, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = layout.marginHeight = 0;
-		compositeInformation.setLayout(layout);
-		compositeInformation.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-
-		// get bold face
-		FontRegistry fregistry = JFaceResources.getFontRegistry();
-		Font boldFont = fregistry.getBold(JFaceResources.DIALOG_FONT);
-		
-		// Feature name
-		//---------------
-		Label keyLabel = null;
-		CLabel valueLabel = null;
-		if (_strFeatureName != null && _strFeatureName.length() > 0) {
-			keyLabel = new Label(compositeInformation, SWT.NULL);
-			keyLabel.setText(
-				UpdateUIMessages.JarVerificationDialog_FeatureName); 
-
-			valueLabel = new CLabel(compositeInformation, SWT.NULL);
-			valueLabel.setFont(boldFont);
-			valueLabel.setText(_strFeatureName);
-			valueLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		}
-		// Feature identifier
-		//---------------------
-		if (_strId != null && _strId.length() > 0) {
-			keyLabel = new Label(compositeInformation, SWT.NULL);
-			keyLabel.setText(
-				UpdateUIMessages.JarVerificationDialog_FeatureIdentifier); 
-
-			valueLabel = new CLabel(compositeInformation, SWT.NULL);
-			valueLabel.setFont(boldFont);
-			valueLabel.setText(_strId);
-			valueLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		}
-		// Provider name
-		//--------------
-		if (_strProviderName != null && _strProviderName.length() > 0) {
-			keyLabel = new Label(compositeInformation, SWT.NULL);
-			keyLabel.setText(
-				UpdateUIMessages.JarVerificationDialog_Provider); 
-
-			valueLabel = new CLabel(compositeInformation, SWT.NULL);
-			valueLabel.setFont(boldFont);
-			valueLabel.setText(_strProviderName);
-			valueLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		}
-		// Label: File name
-		//-----------------
-		keyLabel = new Label(compositeInformation, SWT.NULL);
-		keyLabel.setText(
-			UpdateUIMessages.JarVerificationDialog_FileName); 
-
-		valueLabel = new CLabel(compositeInformation, SWT.NULL);
-		valueLabel.setFont(boldFont);
-		valueLabel.setText(_fileName);
-		valueLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-	}
-
-	/*
-	 * Show certificate information
-	 */
-	private void createCertificateArea(Composite compositeClient) {
-
-		if (_VerificationResult.getVerificationCode()
-			== IVerificationResult.TYPE_ENTRY_SIGNED_UNRECOGNIZED
-			|| _VerificationResult.getVerificationCode()
-				== IVerificationResult.TYPE_ENTRY_SIGNED_RECOGNIZED) {
-			// Group box
-			//----------
-			Group group = new Group(compositeClient, SWT.SHADOW_ETCHED_IN);
-			GridLayout layout = new GridLayout();
-			layout.numColumns = 2;
-			layout.marginWidth = layout.marginHeight = 0;
-			group.setLayout(layout);
-			group.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			group.setText(UpdateUIMessages.JarVerificationDialog_CertificateInfo); 
-
-			// Signer
-			//-------------------
-			Label keyLabel = null;
-			Text valueText = null;
-			//data = new GridData(GridData.FILL_HORIZONTAL);
-			//data.horizontalIndent = 0;
-			//textInformation.setLayoutData(data);			
-			if (_VerificationResult.getSignerInfo() != null) {
-				keyLabel = new Label(group, SWT.NULL);
-				keyLabel.setText(UpdateUIMessages.JarVerificationDialog_SubjectCA); 
-				keyLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-
-				valueText = new Text(group, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL);
-				valueText.setText(_VerificationResult.getSignerInfo());
-				valueText.setEditable(false);
-				valueText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			}
-			
-			// Authenticator
-			//---------------------
-			if (_VerificationResult.getVerifierInfo() != null) {
-				keyLabel = new Label(group, SWT.NULL);
-				keyLabel.setText(UpdateUIMessages.JarVerificationDialog_RootCA); 
-				keyLabel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));				
-
-				valueText = new Text(group, SWT.MULTI|SWT.BORDER|SWT.WRAP|SWT.V_SCROLL);
-				valueText.setText(_VerificationResult.getVerifierInfo());
-				valueText.setEditable(false);
-				valueText.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-			}
-		}
-	}
-
-	/*
-	 * Sets the Dialog
-	 */
-	public void setTitleAreaDialog(TitleAreaDialog dialog) {
-		_Dialog = dialog;
-	}
-
-	/*
-	 * 
-	 */
-	public void setMessage(String newMessage, int newType) {
-		super.setMessage(newMessage, newType);
-		if (_Dialog != null) {
-			_Dialog.setMessage(newMessage, newType);
-		}
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationService.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationService.java
deleted file mode 100644
index a0ca33c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/JarVerificationService.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.security;
-
-import java.util.*;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.ui.*;
-/**
- *
- */
-public class JarVerificationService implements IVerificationListener {
-
-	/*
-	 * The JarVerifier is a instance variable
-	 * bacause we want to reuse it upon multiple calls
-	 */
-
-	private Shell shell;
-	// keep track of the last verify code.
-	private int lastVerifyCode = -1;
-	
-	/**
-	 * Processed ContentRefernces.  They will be skipped if prompted
-	 * to verify the same reference again.
-	 */
-	private Map processed=new HashMap();
-
-	/*
-	 * If no shell, create a new shell 
-	 */
-	public JarVerificationService() {
-		this(null);
-	}
-	
-	/*
-	 * 
-	 */
-	public JarVerificationService(Shell aShell) {
-		shell = aShell;
-
-		// find the default display and get the active shell
-		if (shell == null) {
-			final Display disp = Display.getDefault();
-			if (disp == null) {
-				shell = new Shell(new Display());
-			} else {
-				disp.syncExec(new Runnable() {
-					public void run() {
-						shell = disp.getActiveShell();
-					}
-				});
-			}
-		}
-	}
-
-	/*
-	 * 
-	 */
-	private int openWizard(IVerificationResult result) {
-		int code;
-		IDialogPage page = new JarVerificationPage(result);
-		JarVerificationDialog dialog =
-				new JarVerificationDialog(shell,page,result);
-		dialog.create();
-		dialog.getShell().setSize(600, 500);
-		dialog.getShell().setText(UpdateUIMessages.JarVerificationDialog_wtitle); 
-		dialog.open();
-		if (dialog.getReturnCode() == JarVerificationDialog.OK) {
-			code = CHOICE_INSTALL_TRUST_ONCE;
-		} else if (dialog.getReturnCode() == JarVerificationDialog.INSTALL_ALL) {
-			code = CHOICE_INSTALL_TRUST_ALWAYS;
-		} else { 
-			code = CHOICE_ABORT;
-		}
-		return code;
-
-	}
-
-	/*
-	 * 
-	 */
-	public int prompt(final IVerificationResult verificationResult){
-		if (!UpdateCore.getPlugin().getPluginPreferences().getBoolean(UpdateCore.P_CHECK_SIGNATURE)) 
-			return CHOICE_INSTALL_TRUST_ALWAYS;
-
-		if (verificationResult.alreadySeen()) return CHOICE_INSTALL_TRUST_ALWAYS;
-		
-		if(see(verificationResult)) return CHOICE_INSTALL_TRUST_ALWAYS;
-		
-		if (lastVerifyCode == CHOICE_INSTALL_TRUST_ALWAYS) return CHOICE_INSTALL_TRUST_ALWAYS;
-
-		switch (verificationResult.getVerificationCode()) {
-			case IVerificationResult.UNKNOWN_ERROR :
-					return CHOICE_ERROR;
-
-			case IVerificationResult.VERIFICATION_CANCELLED:
-					return CHOICE_ABORT;
-
-			// cannot verify it: do not prompt user.
-			case IVerificationResult.TYPE_ENTRY_UNRECOGNIZED: 
-				return CHOICE_INSTALL_TRUST_ALWAYS;				
-			
-			default :
-				{				
-					shell.getDisplay().syncExec(new Runnable() {
-						public void run() {
-							lastVerifyCode = openWizard(verificationResult);
-						}
-					});
-					return lastVerifyCode;
-				}
-		}
-	}
-
-	/**
-	 * Checks whether feature archive has been seen already.
-	 * Remembers the fact that archive is being seen now.
-	 * @param verificationResult
-	 * @return true if the archive has been seen before, false if first time
-	 */
-	private boolean see(final IVerificationResult verificationResult) {
-		String key = verificationResult.getFeature().getVersionedIdentifier().toString()
-			+"/"+verificationResult.getContentReference().getIdentifier(); //$NON-NLS-1$
-		Long value = new Long(verificationResult.getContentReference().getLastModified());
-		Long cachedValue = (Long)processed.get(key);
-		if(value.equals(cachedValue)){
-			return true;
-		}else{
-			processed.put(key, value);
-			return false;
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UpdateManagerAuthenticator.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UpdateManagerAuthenticator.java
deleted file mode 100644
index 1a3bf14..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UpdateManagerAuthenticator.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.security;
-
-import java.net.*;
-
-/**
- * Update Manager Authenticator Sadly there can only be one registered per VM
- */
-public class UpdateManagerAuthenticator extends Authenticator {
-	//private Authentication savedPasswordAuthentication;
-
-	/*
-	 * @see Authenticator#getPasswordAuthentication()
-	 */
-	protected PasswordAuthentication getPasswordAuthentication() {
-		// String protocol = getRequestingProtocol();
-		String host = getRequestingHost(); // can be null;
-		InetAddress address = getRequestingSite(); // can be null;
-		// int port = getRequestingPort();
-		String prompt = getRequestingPrompt(); // realm or message, not documented that can be null
-		// String scheme = getRequestingScheme(); // not documented that can be null
-
-		String hostString = host;
-		if (hostString == null && address != null) {
-			address.getHostName();
-		}
-		if (hostString == null) {
-			hostString = ""; //$NON-NLS-1$
-		}
-		String promptString = prompt;
-		if (prompt == null) {
-			promptString = ""; //$NON-NLS-1$
-		}
-
-		Authentication auth = UserValidationDialog.getAuthentication(
-				hostString, promptString);
-		if (auth != null)
-			return new PasswordAuthentication(auth.getUser(), auth
-					.getPassword().toCharArray());
-		else
-			return null;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UserValidationDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UserValidationDialog.java
deleted file mode 100644
index 5a49490..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/security/UserValidationDialog.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.security;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.update.internal.ui.*;
-
-/**
- * User authentication dialog
- */
-public class UserValidationDialog extends Dialog {
-	protected Text usernameField;
-	protected Text passwordField;
-
-	protected String host;
-	protected String message;
-	protected Authentication userAuthentication = null;
-	/**
-	 * Gets user and password from a user. May be called from any thread
-	 * 
-	 * @return UserAuthentication that contains the userid and the password or
-	 *         <code>null</code> if the dialog has been cancelled
-	 */
-	public static Authentication getAuthentication(final String host,
-			final String message) {
-		class UIOperation implements Runnable {
-			public Authentication authentication;
-			public void run() {
-				authentication = UserValidationDialog.askForAuthentication(
-						host, message);
-			}
-		}
-
-		UIOperation uio = new UIOperation();
-		if (Display.getCurrent() != null) {
-			uio.run();
-		} else {
-			Display.getDefault().syncExec(uio);
-		}
-		return uio.authentication;
-	}
-	/**
-	 * Gets user and password from a user Must be called from UI thread
-	 * 
-	 * @return UserAuthentication that contains the userid and the password or
-	 *         <code>null</code> if the dialog has been cancelled
-	 */
-	protected static Authentication askForAuthentication(String host,
-			String message) {
-		UserValidationDialog ui = new UserValidationDialog(null, host, message); //$NON-NLS-1$
-		ui.open();
-		return ui.getAuthentication();
-	}
-	/**
-	 * Creates a new UserValidationDialog.
-	 * 
-	 * @param parentShell
-	 *            parent Shell or null
-	 */
-	protected UserValidationDialog(Shell parentShell, String host,
-			String message) {
-		super(parentShell);
-		this.host = host;
-		this.message = message;
-		setBlockOnOpen(true);
-	}
-	/**
-	 */
-	protected void configureShell(Shell newShell) {
-		super.configureShell(newShell);
-		newShell.setText(UpdateUIMessages.UserVerificationDialog_PasswordRequired); //$NON-NLS-1$
-	}
-	/**
-	 */
-	public void create() {
-		super.create();
-		//give focus to username field
-		usernameField.selectAll();
-		usernameField.setFocus();
-	}
-	/**
-	 */
-	protected Control createDialogArea(Composite parent) {
-		Composite main = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 3;
-		main.setLayout(layout);
-		main.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label label = new Label(main, SWT.WRAP);
-		String text = UpdateUIMessages.UserVerificationDialog_ConnectTo + host; 
-		text += "\n\n" + message; //$NON-NLS-1$ //$NON-NLS-2$
-		label.setText(text);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 3;
-		label.setLayoutData(data);
-
-		createUsernameFields(main);
-		createPasswordFields(main);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(main,
-				"org.eclipse.update.ui.UserValidationDialog"); //$NON-NLS-1$
-		return main;
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 */
-	protected void createPasswordFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(UpdateUIMessages.UserVerificationDialog_Password); //$NON-NLS-1$
-
-		passwordField = new Text(parent, SWT.BORDER | SWT.PASSWORD);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		passwordField.setLayoutData(data);
-
-		new Label(parent, SWT.NONE); //spacer
-	}
-	/**
-	 * Creates the three widgets that represent the user name entry area.
-	 */
-	protected void createUsernameFields(Composite parent) {
-		new Label(parent, SWT.NONE).setText(UpdateUIMessages.UserVerificationDialog_UserName); //$NON-NLS-1$
-
-		usernameField = new Text(parent, SWT.BORDER);
-		GridData data = new GridData(GridData.FILL_HORIZONTAL);
-		data.widthHint = convertHorizontalDLUsToPixels(IDialogConstants.ENTRY_FIELD_WIDTH);
-		usernameField.setLayoutData(data);
-
-		new Label(parent, SWT.NONE); //spacer
-	}
-	/**
-	 * Returns the UserAuthentication entered by the user, or null if the user
-	 * canceled.
-	 */
-	public Authentication getAuthentication() {
-		return userAuthentication;
-	}
-	/**
-	 * Notifies that the ok button of this dialog has been pressed.
-	 */
-	protected void okPressed() {
-		userAuthentication = new Authentication(usernameField.getText(),
-				passwordField.getText());
-		super.okPressed();
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationPreview.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationPreview.java
deleted file mode 100644
index 9779dd0..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationPreview.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-import java.net.URL;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.forms.events.*;
-import org.eclipse.ui.forms.widgets.*;
-import org.eclipse.update.configuration.ILocalSite;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.operations.*;
-
-public class ConfigurationPreview implements IUpdateModelChangedListener {
-	private ScrolledForm form;
-	private ConfigurationView view;
-	private FormToolkit toolkit;
-	private FormText desc;
-	private FormText taskList;
-	private IPreviewTask[] tasks;
-	
-	public ConfigurationPreview(ConfigurationView view) {
-		this.view = view;
-		UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-		model.addUpdateModelChangedListener(this);
-	}
-	public void dispose() {
-		UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-		model.removeUpdateModelChangedListener(this);
-		toolkit.dispose();
-	}
-
-	public void objectsAdded(Object parent, Object[] children) {
-	}
-	public void objectsRemoved(Object parent, Object[] children) {
-	}
-	public void objectChanged(Object object, String property) {
-	}
-
-	public Control getControl() {
-		return form;
-	}
-
-	public void createControl(Composite parent) {
-		toolkit = new FormToolkit(parent.getDisplay());
-		form = toolkit.createScrolledForm(parent);
-		TableWrapLayout layout = new TableWrapLayout();
-		form.getBody().setLayout(layout);
-		layout.leftMargin = 10;
-		layout.rightMargin = 5;
-		layout.topMargin = 10;
-		layout.horizontalSpacing = 0;
-		layout.verticalSpacing = 20;
-		IHyperlinkListener urlAction = new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				String url = (String) e.getHref();
-				if (url != null)
-					UpdateUI.showURL(url);
-			}
-		};
-		IHyperlinkListener taskAction = new HyperlinkAdapter() {
-			public void linkActivated(HyperlinkEvent e) {
-				String indexArg = (String) e.getHref();
-				try {
-					int index = Integer.parseInt(indexArg);
-					if (tasks != null)
-						tasks[index].run();
-				} catch (NumberFormatException ex) {
-				}
-			}
-		};
-		//taskAction.setStatusLineManager(view.getConfigurationWindow().getStatusLineManager());
-		desc = toolkit.createFormText(form.getBody(), true);
-		desc.setHyperlinkSettings(toolkit.getHyperlinkGroup());
-		desc.addHyperlinkListener(urlAction);
-		desc.setText("", false, false); //$NON-NLS-1$
-		TableWrapData td = new TableWrapData(TableWrapData.FILL_GRAB);
-		desc.setLayoutData(td);
-		taskList = toolkit.createFormText(form.getBody(), false);
-		taskList.setHyperlinkSettings(toolkit.getHyperlinkGroup());
-		taskList.addHyperlinkListener(taskAction); //$NON-NLS-1$
-		taskList.setText("", false, false); //$NON-NLS-1$
-		//factory.setHyperlinkUnderlineMode(HyperlinkSettings.UNDERLINE_ROLLOVER);
-		td = new TableWrapData(TableWrapData.FILL_GRAB);
-		taskList.setLayoutData(td);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(parent, "org.eclipse.update.ui.SiteForm"); //$NON-NLS-1$
-	}
-	public void setSelection(IStructuredSelection selection) {
-		Object object = selection.getFirstElement();
-		tasks = view.getPreviewTasks(object);
-		String title = getObjectLabel(object);
-		form.setText(title);
-		String description = getObjectDescription(object);
-		boolean tags = description.startsWith("<form>"); //$NON-NLS-1$
-		desc.setText(description, tags, !tags);
-		String taskText = getTasksText();
-		taskList.setText(taskText, true, false);
-		form.reflow(true);
-	}
-	private String getObjectLabel(Object object) {
-		if (object == null)
-			return ""; //$NON-NLS-1$
-		TreeViewer viewer = view.getTreeViewer();
-		LabelProvider provider = (LabelProvider) viewer.getLabelProvider();
-		return provider.getText(object);
-	}
-	private String getObjectDescription(Object object) {
-		if (object instanceof IFeatureAdapter) {
-			return getFeatureDescription((IFeatureAdapter) object);
-		}
-		if (object instanceof IConfiguredSiteAdapter) {
-			return UpdateUIMessages.ConfigurationPreviewForm_install; 
-		}
-		if (object instanceof ILocalSite) {
-			return UpdateUIMessages.ConfigurationPreviewForm_configDescription; //$NON-NLS-1$
-		}
-		return ""; //$NON-NLS-1$
-	}
-	private String getFeatureDescription(IFeatureAdapter adapter) {
-		try {
-			IFeature feature = adapter.getFeature(null);
-			IURLEntry entry = feature.getDescription();
-			if (entry != null) {
-				String text = entry.getAnnotation();
-				if (text != null) {
-					URL url = entry.getURL();
-					if (url == null)
-						return text;
-					else {
-						String link = " <a href=\"" + url //$NON-NLS-1$
-								+ "\">"+UpdateUIMessages.MoreInfoGenerator_moreInfo+"</a>";   //$NON-NLS-1$//$NON-NLS-2$
-						String fullText = "<form><p>" + text + link //$NON-NLS-1$
-								+ "</p></form>"; //$NON-NLS-1$ //$NON-NLS-2$
-						return fullText;
-					}
-				}
-			}
-		} catch (CoreException e) {
-		}
-		return ""; //$NON-NLS-1$
-	}
-	private String getTasksText() {
-		if (tasks == null || tasks.length == 0)
-			return "<form/>"; //$NON-NLS-1$
-		boolean hasEnabledTasks = false;
-		for (int i = 0; i < tasks.length; i++) {
-			if (tasks[i].isEnabled()) {
-				hasEnabledTasks = true;
-				break;
-			}
-		}
-		if (!hasEnabledTasks)
-			return "<form/>"; //$NON-NLS-1$
-		StringBuffer buf = new StringBuffer();
-		buf.append("<form><p><b>"); //$NON-NLS-1$
-		buf.append(UpdateUIMessages.ConfigurationPreviewForm_AvailableTasks); 
-		buf.append("</b></p>"); //$NON-NLS-1$
-		for (int i = 0; i < tasks.length; i++) {
-			IPreviewTask task = tasks[i];
-			if (task.isEnabled() == false)
-				continue;
-			buf.append("<li style=\"text\" indent=\"0\"><a href=\"" + i + "\">" //$NON-NLS-1$ //$NON-NLS-2$
-					+ task.getName() + "</a></li>"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			buf.append("<li style=\"text\" indent=\"10\" vspace=\"false\">" //$NON-NLS-1$
-					+ task.getDescription() + "</li>"); //$NON-NLS-1$ //$NON-NLS-2$
-		}
-		buf.append("</form>"); //$NON-NLS-1$
-		return buf.toString();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
deleted file mode 100644
index 56fb7fc..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ConfigurationView.java
+++ /dev/null
@@ -1,1257 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-import java.io.*;
-import java.lang.reflect.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.operation.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.branding.*;
-import org.eclipse.ui.dialogs.*;
-import org.eclipse.ui.model.IWorkbenchAdapter;
-import org.eclipse.ui.part.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.SiteLocal;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.parts.*;
-import org.eclipse.update.operations.*;
-import org.osgi.framework.*;
-import org.eclipse.core.runtime.Path;
-
-
-/**
- * Insert the type's description here.
- * @see ViewPart
- */
-public class ConfigurationView
-	implements
-		IInstallConfigurationChangedListener,
-		IConfiguredSiteChangedListener,
-		ILocalSiteChangedListener {
-	private TreeViewer treeViewer;
-	private DrillDownAdapter drillDownAdapter;
-	private Action collapseAllAction;
-	private static final String STATE_SHOW_UNCONF = "ConfigurationView.showUnconf"; //$NON-NLS-1$
-	private static final String STATE_SHOW_SITES = "ConfigurationView.showSites"; //$NON-NLS-1$
-	private static final String STATE_SHOW_NESTED_FEATURES =
-		"ConfigurationView.showNestedFeatures"; //$NON-NLS-1$
-
-	private Action showSitesAction;
-	private Action showNestedFeaturesAction;
-	private ReplaceVersionAction swapVersionAction;
-	private FeatureStateAction featureStateAction;
-	private UninstallFeatureAction uninstallFeatureAction;
-	private InstallOptionalFeatureAction installOptFeatureAction;
-	private Action showUnconfFeaturesAction;
-	private RevertConfigurationAction revertAction;
-	private ShowActivitiesAction showActivitiesAction;
-	private Action propertiesAction;
-	private SiteStateAction siteStateAction;
-	private Action installationHistoryAction;
-	private Action newExtensionLocationAction;
-	private FindUpdatesAction findUpdatesAction;
-	private SashForm splitter;
-	private ConfigurationPreview preview;
-	private Hashtable previewTasks;
-
-	private IUpdateModelChangedListener modelListener;
-	private boolean refreshLock = false;
-	private Image eclipseImage;
-	private boolean initialized;
-	private ConfigurationManagerWindow configurationWindow;
-
-	class ConfigurationSorter extends ViewerSorter {
-		public int category(Object obj) {
-			// sites
-			if (obj instanceof IConfiguredSiteAdapter) {
-				IConfiguredSite csite =
-					((IConfiguredSiteAdapter) obj).getConfiguredSite();
-				if (csite.isProductSite())
-					return 1;
-				if (csite.isExtensionSite())
-					return 2;
-				return 3;
-			}
-			return super.category(obj);
-		}
-	}
-
-	class LocalSiteProvider
-		extends DefaultContentProvider
-		implements ITreeContentProvider {
-		public void inputChanged(
-			Viewer viewer,
-			Object oldInput,
-			Object newInput) {
-			if (newInput == null)
-				return;
-		}
-
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof UpdateModel) {
-				LocalSiteWorkbenchAdapter localSite = getUIReadyLocalSite(getLocalSite());
-				return (localSite != null) ? new Object[] { localSite }
-				: new Object[0];
-			}
-
-			if (parent instanceof ILocalSite) {
-				Object[] csites = openLocalSite();
-				if (showSitesAction.isChecked())
-					return csites;
-				ArrayList result = new ArrayList();
-				boolean showUnconf = showUnconfFeaturesAction.isChecked();
-				for (int i = 0; i < csites.length; i++) {
-					IConfiguredSiteAdapter adapter =
-						(IConfiguredSiteAdapter) csites[i];
-					Object[] roots = getFeatures(adapter, !showUnconf);
-					for (int j = 0; j < roots.length; j++) {
-						result.add(roots[j]);
-					}
-				}
-				return result.toArray();
-			}
-
-			if (parent instanceof IConfiguredSiteAdapter) {
-				return getFeatures(
-					(IConfiguredSiteAdapter) parent,
-					!showUnconfFeaturesAction.isChecked());
-			}
-			if (parent instanceof ConfiguredFeatureAdapter
-				&& showNestedFeaturesAction.isChecked()) {
-				IFeatureAdapter[] nested =
-					((ConfiguredFeatureAdapter) parent).getIncludedFeatures(
-						null);
-				if (showUnconfFeaturesAction.isChecked())
-					return nested;
-				ArrayList result = new ArrayList();
-				for (int i = 0; i < nested.length; i++) {
-					if (((ConfiguredFeatureAdapter) nested[i]).isConfigured())
-						result.add(nested[i]);
-				}
-				return (IFeatureAdapter[]) result.toArray(
-					new IFeatureAdapter[result.size()]);
-			}
-			return new Object[0];
-		}
-
-		public Object getParent(Object child) {
-			return null;
-		}
-		public boolean hasChildren(Object parent) {
-			if (parent instanceof ConfiguredFeatureAdapter) {
-				if (!showNestedFeaturesAction.isChecked())
-					return false;
-				IFeatureAdapter[] features =
-					((ConfiguredFeatureAdapter) parent).getIncludedFeatures(
-						null);
-
-				if (showUnconfFeaturesAction.isChecked())
-					return features.length > 0;
-
-				for (int i = 0; i < features.length; i++) {
-					if (((ConfiguredFeatureAdapter) features[i])
-						.isConfigured())
-						return true;
-				}
-				return false;
-			}
-			if (parent instanceof ConfiguredSiteAdapter) {
-				IConfiguredSite site =
-					((ConfiguredSiteAdapter) parent).getConfiguredSite();
-				if (site.isEnabled()) {
-					if (!showUnconfFeaturesAction.isChecked())
-						return site.getConfiguredFeatures().length > 0;
-					return site.getFeatureReferences().length > 0;
-				}
-				return (showUnconfFeaturesAction.isChecked());
-			}
-			return true;
-		}
-
-		public Object[] getElements(Object input) {
-			return getChildren(input);
-		}
-	}
-
-	class LocalSiteLabelProvider extends LabelProvider {
-		public String getText(Object obj) {
-			if (obj instanceof ILocalSite) {
-				IProduct product = Platform.getProduct();
-				if (product != null)
-					return product.getName();
-				return UpdateUIMessages.ConfigurationView_current; 
-			}
-
-			if (obj instanceof IConfiguredSiteAdapter) {
-				IConfiguredSite csite =
-					((IConfiguredSiteAdapter) obj).getConfiguredSite();
-				ISite site = csite.getSite();
-				return new File(site.getURL().getFile()).toString();
-			}
-			if (obj instanceof IFeatureAdapter) {
-				try {
-					IFeature feature = ((IFeatureAdapter) obj).getFeature(null);
-					if (feature instanceof MissingFeature) {
-						return NLS.bind(UpdateUIMessages.ConfigurationView_missingFeature, feature.getLabel());
-					}
-					String version =
-						feature
-							.getVersionedIdentifier()
-							.getVersion()
-							.toString();
-					String pending = ""; //$NON-NLS-1$
-					if (OperationsManager.findPendingOperation(feature)
-						!= null)
-						pending = UpdateUIMessages.ConfigurationView_pending; 
-					return feature.getLabel() + " " + version + pending; //$NON-NLS-1$
-				} catch (CoreException e) {
-					return UpdateUIMessages.ConfigurationView_error; 
-				}
-			}
-			return super.getText(obj);
-		}
-
-		public Image getImage(Object obj) {
-			UpdateLabelProvider provider =
-				UpdateUI.getDefault().getLabelProvider();
-			if (obj instanceof ILocalSite)
-				return eclipseImage;
-
-			if (obj instanceof ConfiguredFeatureAdapter)
-				return getFeatureImage(
-					provider,
-					(ConfiguredFeatureAdapter) obj);
-
-			if (obj instanceof IConfiguredSiteAdapter) {
-				IConfiguredSite csite =
-					((IConfiguredSiteAdapter) obj).getConfiguredSite();
-				int flags =
-					csite.isUpdatable() ? 0 : UpdateLabelProvider.F_LINKED;
-				if (!csite.isEnabled())
-					flags |= UpdateLabelProvider.F_UNCONFIGURED;
-				return provider.get(
-					provider.getLocalSiteDescriptor(csite),
-					flags);
-			}
-			return null;
-		}
-
-		private Image getFeatureImage(
-			UpdateLabelProvider provider,
-			ConfiguredFeatureAdapter adapter) {
-			try {
-				IFeature feature = adapter.getFeature(null);
-				if (feature instanceof MissingFeature) {
-					if (((MissingFeature) feature).isOptional())
-						return provider.get(
-							UpdateUIImages.DESC_NOTINST_FEATURE_OBJ);
-					return provider.get(
-						UpdateUIImages.DESC_FEATURE_OBJ,
-						UpdateLabelProvider.F_ERROR);
-				}
-
-				boolean efix = feature.isPatch();
-				ImageDescriptor baseDesc =
-					efix
-						? UpdateUIImages.DESC_EFIX_OBJ
-						: (adapter.isConfigured()
-							? UpdateUIImages.DESC_FEATURE_OBJ
-							: UpdateUIImages.DESC_UNCONF_FEATURE_OBJ);
-
-				int flags = 0;
-				if (efix && !adapter.isConfigured())
-					flags |= UpdateLabelProvider.F_UNCONFIGURED;
-				if (OperationsManager.findPendingOperation(feature) == null) {
-					ILocalSite localSite = getLocalSite();
-					if (localSite != null) {
-						int code =
-							getStatusCode(
-								feature,
-								localSite.getFeatureStatus(feature));
-						switch (code) {
-							case IFeature.STATUS_UNHAPPY :
-								flags |= UpdateLabelProvider.F_ERROR;
-								break;
-							case IFeature.STATUS_AMBIGUOUS :
-								flags |= UpdateLabelProvider.F_WARNING;
-								break;
-							default :
-								if (adapter.isConfigured()
-									&& adapter.isUpdated())
-									flags |= UpdateLabelProvider.F_UPDATED;
-								break;
-						}
-					}
-				}
-				return provider.get(baseDesc, flags);
-			} catch (CoreException e) {
-				return provider.get(
-					UpdateUIImages.DESC_FEATURE_OBJ,
-					UpdateLabelProvider.F_ERROR);
-			}
-		}
-	}
-
-	class PreviewTask implements IPreviewTask {
-		private String name;
-		private String desc;
-		private IAction action;
-		public PreviewTask(String name, String desc, IAction action) {
-			this.name = name;
-			this.desc = desc;
-			this.action = action;
-		}
-		public IAction getAction() {
-			return action;
-		}
-		public String getName() {
-			if (name != null)
-				return name;
-			return action.getText();
-		}
-		public String getDescription() {
-			return desc;
-		}
-		public void setDescription(String desc) {
-			this.desc = desc;
-		}
-		public void run() {
-			action.run();
-		}
-		public boolean isEnabled() {
-			return action.isEnabled();
-		}
-	}
-
-	public ConfigurationView(ConfigurationManagerWindow window) {
-		UpdateUI.getDefault().getLabelProvider().connect(this);
-		initializeImages();
-		configurationWindow=window;
-	}
-
-	private void initializeImages() {
-		ImageDescriptor edesc = UpdateUIImages.DESC_APP_OBJ;
-		IProduct product = Platform.getProduct();
-		if (product != null) {
-			String windowImageURL = product.getProperty(IProductConstants.WINDOW_IMAGE);
-			if (windowImageURL == null) {
-				String windowImagesUrls = product.getProperty(IProductConstants.WINDOW_IMAGES);
-				if (windowImagesUrls != null ) {
-					StringTokenizer st = new StringTokenizer(windowImagesUrls, ","); //$NON-NLS-1$
-					if (st.hasMoreTokens())
-						windowImageURL = st.nextToken();
-				}
-			}
-			if (windowImageURL != null)
-				try {
-					edesc = ImageDescriptor.createFromURL(new URL(windowImageURL));
-				} catch (MalformedURLException e) {
-					// must be a path relative to the product bundle
-					Bundle productBundle = product.getDefiningBundle();
-					if (productBundle != null) { 
-						URL url = Platform.find(productBundle, new Path(windowImageURL));
-						if (url != null)
-							edesc = ImageDescriptor.createFromURL(url);
-					}
-				}
-		}
-		eclipseImage = UpdateUI.getDefault().getLabelProvider().get(edesc);
-	}
-
-	public void initProviders() {
-		treeViewer.setContentProvider(new LocalSiteProvider());
-		treeViewer.setLabelProvider(new LocalSiteLabelProvider());
-		treeViewer.setInput(UpdateUI.getDefault().getUpdateModel());
-		treeViewer.setSorter(new ConfigurationSorter());
-		ILocalSite localSite = getLocalSite();
-		if (localSite != null)
-			localSite.addLocalSiteChangedListener(this);
-
-		modelListener = new IUpdateModelChangedListener() {
-			public void objectsAdded(Object parent, Object[] children) {
-			}
-			public void objectsRemoved(Object parent, Object[] children) {
-			}
-			public void objectChanged(final Object obj, String property) {
-				if (refreshLock)
-					return;
-				Control control = getControl();
-				if (!control.isDisposed()) {
-					control.getDisplay().asyncExec(new Runnable() {
-						public void run() {
-							treeViewer.refresh();
-							handleSelectionChanged(
-								(IStructuredSelection) treeViewer
-									.getSelection());
-						}
-					});
-				}
-			}
-		};
-		OperationsManager.addUpdateModelChangedListener(modelListener);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			getControl(),
-			"org.eclipse.update.ui.ConfigurationView"); //$NON-NLS-1$
-	}
-
-	private ILocalSite getLocalSite() {
-		try {
-			return SiteManager.getLocalSite();
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-			return null;
-		}
-	}
-
-	private Object[] openLocalSite() {
-		final Object[][] bag = new Object[1][];
-		BusyIndicator.showWhile(getControl().getDisplay(), new Runnable() {
-			public void run() {
-				ILocalSite localSite = getLocalSite();
-				if (localSite == null)
-					return;
-				IInstallConfiguration config =
-					getLocalSite().getCurrentConfiguration();
-				IConfiguredSite[] sites = config.getConfiguredSites();
-				Object[] result = new Object[sites.length];
-				for (int i = 0; i < sites.length; i++) {
-					result[i] = new ConfiguredSiteAdapter(config, sites[i]);
-				}
-				if (!initialized) {
-					config.addInstallConfigurationChangedListener(
-						ConfigurationView.this);
-					initialized = true;
-				}
-				bag[0] = result;
-			}
-		});
-		return bag[0];
-	}
-
-	public void dispose() {
-		UpdateUI.getDefault().getLabelProvider().disconnect(this);
-		if (initialized) {
-			ILocalSite localSite = getLocalSite();
-			if (localSite != null) {
-				localSite.removeLocalSiteChangedListener(this);
-				IInstallConfiguration config =
-					localSite.getCurrentConfiguration();
-				config.removeInstallConfigurationChangedListener(this);
-			}
-			initialized = false;
-		}
-		OperationsManager.removeUpdateModelChangedListener(modelListener);
-		if (preview != null)
-			preview.dispose();
-		//super.dispose();
-	}
-
-	protected void makeActions() {
-		collapseAllAction = new Action() {
-			public void run() {
-				treeViewer.getControl().setRedraw(false);
-				treeViewer.collapseToLevel(
-					treeViewer.getInput(),
-					TreeViewer.ALL_LEVELS);
-				treeViewer.getControl().setRedraw(true);
-			}
-		};
-		collapseAllAction.setText(UpdateUIMessages.ConfigurationView_collapseLabel); 
-		collapseAllAction.setToolTipText(UpdateUIMessages.ConfigurationView_collapseTooltip); 
-		collapseAllAction.setImageDescriptor(UpdateUIImages.DESC_COLLAPSE_ALL);
-
-		drillDownAdapter = new DrillDownAdapter(treeViewer);
-
-		featureStateAction = new FeatureStateAction(this);
-
-		siteStateAction = new SiteStateAction(getConfigurationWindow().getShell());
-
-		revertAction = new RevertConfigurationAction(getConfigurationWindow().getShell(),UpdateUIMessages.ConfigurationView_revertLabel); 
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			revertAction,
-			"org.eclipse.update.ui.CofigurationView_revertAction"); //$NON-NLS-1$
-
-		installationHistoryAction =
-			new InstallationHistoryAction(getConfigurationWindow().getShell(),
-				UpdateUIMessages.ConfigurationView_installHistory, 
-				UpdateUIImages.DESC_HISTORY_OBJ);
-		installationHistoryAction.setToolTipText(installationHistoryAction.getText());
-		
-		newExtensionLocationAction =
-			new NewExtensionLocationAction(getConfigurationWindow().getShell(),
-				UpdateUIMessages.ConfigurationView_extLocation, 
-				UpdateUIImages.DESC_ESITE_OBJ);
-		
-		propertiesAction =
-			new PropertyDialogAction(
-				getConfigurationWindow().getShell(),
-				treeViewer);
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			propertiesAction,
-			"org.eclipse.update.ui.CofigurationView_propertiesAction"); //$NON-NLS-1$
-
-		uninstallFeatureAction = new UninstallFeatureAction(getConfigurationWindow().getShell(), UpdateUIMessages.ConfigurationView_uninstall); 
-
-		installOptFeatureAction =
-			new InstallOptionalFeatureAction(
-				getControl().getShell(),
-				UpdateUIMessages.ConfigurationView_install); 
-
-		swapVersionAction = new ReplaceVersionAction(getConfigurationWindow().getShell(), UpdateUIMessages.ConfigurationView_anotherVersion); 
-
-		findUpdatesAction =
-			new FindUpdatesAction(getControl().getShell(), UpdateUIMessages.ConfigurationView_findUpdates); 
-
-		showActivitiesAction = new ShowActivitiesAction(getControl().getShell(), UpdateUIMessages.ConfigurationView_showActivitiesLabel); 
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			showActivitiesAction,
-			"org.eclipse.update.ui.ConfigurationView_showActivitiesAction"); //$NON-NLS-1$
-
-		makeShowUnconfiguredFeaturesAction();
-		makeShowSitesAction();
-		makeShowNestedFeaturesAction();
-		makePreviewTasks();
-		configurationWindow.setPropertiesActionHandler(propertiesAction);
-	}
-
-	private void makeShowNestedFeaturesAction() {
-		final Preferences pref = UpdateUI.getDefault().getPluginPreferences();
-		pref.setDefault(STATE_SHOW_NESTED_FEATURES, true);
-		showNestedFeaturesAction = new Action() {
-			public void run() {
-				treeViewer.refresh();
-				pref.setValue(
-					STATE_SHOW_NESTED_FEATURES,
-					showNestedFeaturesAction.isChecked());
-			}
-		};
-		showNestedFeaturesAction.setText(UpdateUIMessages.ConfigurationView_showNestedFeatures); 
-		showNestedFeaturesAction.setImageDescriptor(
-			UpdateUIImages.DESC_SHOW_HIERARCHY);
-		showNestedFeaturesAction.setDisabledImageDescriptor(
-			UpdateUIImages.DESC_SHOW_HIERARCHY_D);
-
-		showNestedFeaturesAction.setChecked(
-			pref.getBoolean(STATE_SHOW_NESTED_FEATURES));
-		showNestedFeaturesAction.setToolTipText(UpdateUIMessages.ConfigurationView_showNestedTooltip); 
-	}
-
-	private void makeShowSitesAction() {
-		final Preferences pref = UpdateUI.getDefault().getPluginPreferences();
-		pref.setDefault(STATE_SHOW_SITES, true);
-		showSitesAction = new Action() {
-			public void run() {
-				treeViewer.refresh();
-				pref.setValue(STATE_SHOW_SITES, showSitesAction.isChecked());
-				UpdateUI.getDefault().savePluginPreferences();
-			}
-		};
-		showSitesAction.setText(UpdateUIMessages.ConfigurationView_showInstall); 
-		showSitesAction.setImageDescriptor(UpdateUIImages.DESC_LSITE_OBJ);
-		showSitesAction.setChecked(pref.getBoolean(STATE_SHOW_SITES));
-		showSitesAction.setToolTipText(UpdateUIMessages.ConfigurationView_showInstallTooltip); 
-	}
-
-	private void makeShowUnconfiguredFeaturesAction() {
-		final Preferences pref = UpdateUI.getDefault().getPluginPreferences();
-		pref.setDefault(STATE_SHOW_UNCONF, false);
-		showUnconfFeaturesAction = new Action() {
-			public void run() {
-				pref.setValue(
-					STATE_SHOW_UNCONF,
-					showUnconfFeaturesAction.isChecked());
-				UpdateUI.getDefault().savePluginPreferences();
-				treeViewer.refresh();
-			}
-		};
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(
-			showUnconfFeaturesAction,
-			"org.eclipse.update.ui.CofigurationView_showUnconfFeaturesAction"); //$NON-NLS-1$
-		showUnconfFeaturesAction.setText(UpdateUIMessages.ConfigurationView_showDisabled); 
-		showUnconfFeaturesAction.setImageDescriptor(
-			UpdateUIImages.DESC_UNCONF_FEATURE_OBJ);
-		showUnconfFeaturesAction.setChecked(pref.getBoolean(STATE_SHOW_UNCONF));
-		showUnconfFeaturesAction.setToolTipText(UpdateUIMessages.ConfigurationView_showDisabledTooltip); 
-	}
-
-	protected void fillActionBars(ToolBarManager tbm) {
-		tbm.add(showSitesAction);
-		tbm.add(showNestedFeaturesAction);
-		tbm.add(showUnconfFeaturesAction);
-		tbm.add(new Separator());
-		drillDownAdapter.addNavigationActions(tbm);
-		tbm.add(new Separator());
-		tbm.add(collapseAllAction);
-		tbm.add(new Separator());
-		tbm.add(installationHistoryAction);
-	}
-
-	protected Object getSelectedObject() {
-		ISelection selection = treeViewer.getSelection();
-		if (selection instanceof IStructuredSelection
-			&& !selection.isEmpty()) {
-			IStructuredSelection ssel = (IStructuredSelection) selection;
-			if (ssel.size() == 1)
-				return ssel.getFirstElement();
-		}
-		return null;
-	}
-
-	protected void fillContextMenu(IMenuManager manager) {
-		Object obj = getSelectedObject();
-
-		if (obj instanceof ILocalSite) {
-			manager.add(findUpdatesAction);
-			manager.add(revertAction);
-		} else if (obj instanceof IConfiguredSiteAdapter) {
-			manager.add(siteStateAction);
-		}
-
-		if (obj instanceof ILocalSite
-			|| obj instanceof IConfiguredSiteAdapter) {
-			manager.add(new Separator());
-			MenuManager mgr = new MenuManager(UpdateUIMessages.ConfigurationView_new); 
-			mgr.add(newExtensionLocationAction);
-			manager.add(mgr);
-			manager.add(new Separator());
-		} else if (obj instanceof ConfiguredFeatureAdapter) {
-			try {
-				MenuManager mgr = new MenuManager(UpdateUIMessages.ConfigurationView_replaceWith); 
-				
-				manager.add(findUpdatesAction);
-				manager.add(new Separator());
-				
-				mgr.add(swapVersionAction);
-				manager.add(mgr);
-
-				manager.add(featureStateAction);
-
-				IFeature feature =
-					((ConfiguredFeatureAdapter) obj).getFeature(null);
-				if (feature instanceof MissingFeature) {
-					manager.add(installOptFeatureAction);
-				} else {
-					manager.add(uninstallFeatureAction);
-				}
-				manager.add(new Separator());
-
-			} catch (CoreException e) {
-			}
-		}
-
-		drillDownAdapter.addNavigationActions(manager);
-
-		if (obj instanceof ILocalSite) {
-			manager.add(new Separator());
-			manager.add(installationHistoryAction);
-		}
-
-		if (obj instanceof IFeatureAdapter
-			|| obj instanceof ILocalSite
-			|| obj instanceof IConfiguredSiteAdapter) {
-			manager.add(new Separator());
-			manager.add(propertiesAction);
-		}
-	}
-
-	public void installSiteAdded(IConfiguredSite csite) {
-		asyncRefresh();
-	}
-	public void installSiteRemoved(IConfiguredSite site) {
-		asyncRefresh();
-	}
-	public void featureInstalled(IFeature feature) {
-		asyncRefresh();
-	}
-	public void featureRemoved(IFeature feature) {
-		asyncRefresh();
-	}
-	public void featureConfigured(IFeature feature) {
-	}
-
-	public void featureUnconfigured(IFeature feature) {
-	}
-
-	public void currentInstallConfigurationChanged(IInstallConfiguration configuration) {
-		asyncRefresh();
-	}
-
-	public void installConfigurationRemoved(IInstallConfiguration configuration) {
-		asyncRefresh();
-	}
-
-	private void asyncRefresh() {
-		Display display = SWTUtil.getStandardDisplay();
-		if (display == null)
-			return;
-		if (getControl().isDisposed())
-			return;
-		display.asyncExec(new Runnable() {
-			public void run() {
-				if (!getControl().isDisposed())
-					treeViewer.refresh();
-			}
-		});
-	}
-
-	private Object[] getFeatures(
-		final IConfiguredSiteAdapter siteAdapter,
-		final boolean configuredOnly) {
-		final IConfiguredSite csite = siteAdapter.getConfiguredSite();
-		final Object[][] bag = new Object[1][];
-		refreshLock = true;
-
-		IRunnableWithProgress op = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor) {
-				ArrayList result = new ArrayList();
-				IFeatureReference[] refs;
-
-				if (configuredOnly)
-					refs = csite.getConfiguredFeatures();
-				else {
-					ISite site = csite.getSite();
-					refs = site.getFeatureReferences();
-				}
-				monitor.beginTask(
-					UpdateUIMessages.ConfigurationView_loading, 
-					refs.length);
-
-				for (int i = 0; i < refs.length; i++) {
-					IFeatureReference ref = refs[i];
-					IFeature feature;
-					try {
-						monitor.subTask(ref.getURL().toString());
-						feature = ref.getFeature(null);
-					} catch (CoreException e) {
-						feature =
-							new MissingFeature(ref.getSite(), ref.getURL());
-					}
-					monitor.worked(1);
-					result.add(
-						new ConfiguredFeatureAdapter(
-							siteAdapter,
-							feature,
-							csite.isConfigured(feature),
-							false,
-							false));
-				}
-				monitor.done();
-				bag[0] = getRootFeatures(result);
-			}
-		};
-
-		try {
-			if (configurationWindow.getShell().isVisible())
-				configurationWindow.run(true, false, op);
-			else
-				op.run(new NullProgressMonitor());
-		} catch (InterruptedException e) {
-		} catch (InvocationTargetException e) {
-		} finally {
-			refreshLock = false;
-		}
-		return bag[0];
-	}
-
-	private Object[] getRootFeatures(ArrayList list) {
-		ArrayList children = new ArrayList();
-		ArrayList result = new ArrayList();
-		try {
-			for (int i = 0; i < list.size(); i++) {
-				ConfiguredFeatureAdapter cf =
-					(ConfiguredFeatureAdapter) list.get(i);
-				IFeature feature = cf.getFeature(null);
-				if (feature != null)
-					addChildFeatures(
-						feature,
-						children,
-						cf.isConfigured());
-			}
-			for (int i = 0; i < list.size(); i++) {
-				ConfiguredFeatureAdapter cf =
-					(ConfiguredFeatureAdapter) list.get(i);
-				IFeature feature = cf.getFeature(null);
-				if (feature != null
-					&& isChildFeature(feature, children) == false)
-					result.add(cf);
-			}
-		} catch (CoreException e) {
-			return list.toArray();
-		}
-		return result.toArray();
-	}
-
-	private void addChildFeatures(
-		IFeature feature,
-		ArrayList children,
-		boolean configured) {
-		try {
-			IIncludedFeatureReference[] included =
-				feature.getIncludedFeatureReferences();
-			for (int i = 0; i < included.length; i++) {
-				IFeature childFeature;
-				try {
-					childFeature =
-						included[i].getFeature(null);
-				} catch (CoreException e) {
-					childFeature = new MissingFeature(included[i]);
-				}
-				children.add(childFeature);
-			}
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-		}
-	}
-
-	private boolean isChildFeature(IFeature feature, ArrayList children) {
-		for (int i = 0; i < children.size(); i++) {
-			IFeature child = (IFeature) children.get(i);
-			if (feature
-				.getVersionedIdentifier()
-				.equals(child.getVersionedIdentifier()))
-				return true;
-		}
-		return false;
-	}
-
-	protected void handleDoubleClick(DoubleClickEvent e) {
-		if (e.getSelection() instanceof IStructuredSelection) {
-			IStructuredSelection ssel = (IStructuredSelection) e.getSelection();
-			
-			Object obj = ssel.getFirstElement();
-			if (obj!=null)
-				propertiesAction.run();
-		}
-	}
-
-	public void createPartControl(Composite parent) {
-		splitter = new SashForm(parent, SWT.HORIZONTAL);
-		splitter.setLayoutData(new GridData(GridData.FILL_BOTH));
-		Composite leftContainer = createLineContainer(splitter);
-		Composite rightContainer = createLineContainer(splitter);
-		createTreeViewer(leftContainer);
-		makeActions();
-		createVerticalLine(leftContainer);
-		createVerticalLine(rightContainer);
-		preview = new ConfigurationPreview(this);
-		preview.createControl(rightContainer);
-		preview.getControl().setLayoutData(
-			new GridData(GridData.FILL_BOTH));
-		splitter.setWeights(new int[] { 2, 3 });
-		fillActionBars(getConfigurationWindow().getToolBarManager());
-
-		treeViewer.expandToLevel(2);
-
-		if (treeViewer.getTree().getItemCount() > 0) {
-			TreeItem[] items = treeViewer.getTree().getItems();
-			treeViewer.getTree().setSelection(new TreeItem[] { items[0] });
-			handleSelectionChanged(new StructuredSelection(items[0].getData()));
-		}
-	}
-
-	private void createTreeViewer(Composite parent) {
-		treeViewer =
-			new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
-		treeViewer.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
-		treeViewer.setUseHashlookup(true);
-		initProviders();
-
-		MenuManager menuMgr = new MenuManager("#PopupMenu"); //$NON-NLS-1$
-		menuMgr.setRemoveAllWhenShown(true);
-		menuMgr.addMenuListener(new IMenuListener() {
-			public void menuAboutToShow(IMenuManager manager) {
-				manager.add(new GroupMarker("additions")); //$NON-NLS-1$
-				fillContextMenu(manager);
-			}
-		});
-
-		treeViewer.getControl().setMenu(
-			menuMgr.createContextMenu(treeViewer.getControl()));
-
-		treeViewer
-			.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				handleSelectionChanged(event);
-			}
-		});
-
-		treeViewer.addDoubleClickListener(new IDoubleClickListener() {
-			public void doubleClick(DoubleClickEvent event) {
-				handleDoubleClick(event);
-			}
-		});
-
-	}
-
-	public TreeViewer getTreeViewer() {
-		return treeViewer;
-	}
-
-	private Composite createLineContainer(Composite parent) {
-		Composite container = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = layout.marginHeight = 0;
-		layout.horizontalSpacing = 0;
-		container.setLayout(layout);
-		return container;
-	}
-
-	private void createVerticalLine(Composite parent) {
-		Label line = new Label(parent, SWT.SEPARATOR | SWT.VERTICAL);
-		GridData gd = new GridData(GridData.VERTICAL_ALIGN_FILL);
-		gd.widthHint = 1;
-		line.setLayoutData(gd);
-	}
-
-	public Control getControl() {
-		return splitter;
-	}
-
-	private int getStatusCode(IFeature feature, IStatus status) {
-		int code = status.getCode();
-		if (code == IFeature.STATUS_UNHAPPY) {
-			if (status.isMultiStatus()) {
-				IStatus[] children = status.getChildren();
-				for (int i = 0; i < children.length; i++) {
-					IStatus child = children[i];
-					if (child.isMultiStatus()
-						|| child.getCode() != IFeature.STATUS_DISABLED)
-						return code;
-				}
-				// If we are here, global status is unhappy
-				// because one or more included features
-				// is disabled.
-				if (UpdateUtils.hasObsoletePatches(feature)) {
-					// The disabled included features
-					// are old patches that are now
-					// subsumed by better versions of
-					// the features they were designed to
-					// patch.
-					return IFeature.STATUS_HAPPY;
-				}
-			}
-		}
-		return code;
-	}
-
-	protected void handleSelectionChanged(IStructuredSelection ssel) {
-		Object obj = ssel.getFirstElement();
-		if (obj instanceof IFeatureAdapter) {
-			try {
-				propertiesAction.setEnabled(true);
-				ConfiguredFeatureAdapter adapter = (ConfiguredFeatureAdapter) obj;
-				IFeature feature = adapter.getFeature(null);
-
-				boolean missing = feature instanceof MissingFeature;
-				boolean enable = !missing
-						&& ((adapter.isOptional() || !adapter.isIncluded()));
-
-				uninstallFeatureAction.setFeature(adapter);
-				uninstallFeatureAction.setEnabled(enable
-						&& uninstallFeatureAction.canUninstall());
-				if (adapter.isConfigured())
-					setDescriptionOnTask(
-							uninstallFeatureAction,
-							adapter,
-							UpdateUIMessages.ConfigurationView_uninstallDesc2);
-				else
-					setDescriptionOnTask(
-							uninstallFeatureAction,
-							adapter,
-							UpdateUIMessages.ConfigurationView_uninstallDesc);
-
-				featureStateAction.setFeature(adapter);
-				featureStateAction.setEnabled(enable);
-				swapVersionAction.setEnabled(false);
-				if (enable) {
-					IFeature[] features = UpdateUtils.getInstalledFeatures(
-							feature, false);
-					if (features.length > 1) {
-						if (adapter.isConfigured()) {
-							// We only enable replace action if configured
-							// and selected. bug 74019
-							swapVersionAction.setEnabled(true);
-							swapVersionAction.setCurrentFeature(feature);
-							swapVersionAction.setFeatures(features);
-						} else {
-							// If we are not configured and another version is
-							// we want to disable StateAction. bug 74019
-							features = UpdateUtils.getInstalledFeatures(
-									feature, true);
-							if (features.length > 0) {
-								featureStateAction.setEnabled(false);
-							}
-						}
-					}
-				}
-
-				findUpdatesAction.setEnabled(false);
-				if (enable && adapter.isConfigured()) {
-					if (feature.getUpdateSiteEntry() != null) {
-						findUpdatesAction.setFeature(feature);
-						findUpdatesAction.setEnabled(true);
-					}
-				}
-				
-				if (missing) {
-					MissingFeature mf = (MissingFeature) feature;
-					installOptFeatureAction.setEnabled(mf.isOptional()
-							&& mf.getOriginatingSiteURL() != null);
-					installOptFeatureAction.setFeature(mf);
-				} else {
-					installOptFeatureAction.setEnabled(false);
-				}
-			} catch (CoreException ex) {
-				UpdateUI.logException(ex);
-			}
-		}
-		if (obj instanceof ILocalSite) {
-			propertiesAction.setEnabled(true);
-			findUpdatesAction.setEnabled(true);
-			findUpdatesAction.setFeature(null);
-			ILocalSite site = getLocalSite();
-			revertAction.setEnabled(site != null
-					&& site.getConfigurationHistory().length > 1);
-		} else if (obj instanceof IConfiguredSiteAdapter) {
-			siteStateAction.setSite(((IConfiguredSiteAdapter) obj)
-					.getConfiguredSite());
-			siteStateAction.setEnabled(true);
-		}
-		preview.setSelection(ssel);
-	}
-
-	protected void handleSelectionChanged(SelectionChangedEvent e) {
-		handleSelectionChanged(((IStructuredSelection) e.getSelection()));
-	}
-
-	private void setDescriptionOnTask(IAction action, ConfiguredFeatureAdapter adapter, String desc) {
-		IPreviewTask[] tasks = getPreviewTasks(adapter);
-		if (tasks == null)
-			return;
-		for (int i=0; i<tasks.length; i++)
-			if (tasks[i].getAction() == action)
-				tasks[i].setDescription(desc);
-	}
-	
-	private void makePreviewTasks() {
-		previewTasks = new Hashtable();
-		Class key;
-		ArrayList array = new ArrayList();
-		// local site tasks
-		key = ILocalSite.class;
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_updateLabel, 
-				UpdateUIMessages.ConfigurationView_updateDesc, 
-				findUpdatesAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_installHistLabel, 
-				UpdateUIMessages.ConfigurationView_installHistDesc, 
-				installationHistoryAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_activitiesLabel, 
-				UpdateUIMessages.ConfigurationView_activitiesDesc, 
-				showActivitiesAction));
-		array.add(
-				new PreviewTask(
-					UpdateUIMessages.ConfigurationView_extLocLabel, 
-					UpdateUIMessages.ConfigurationView_extLocDesc, 
-					newExtensionLocationAction));
-		array.add(
-				new PreviewTask(
-					UpdateUIMessages.ConfigurationView_revertPreviousLabel, 
-					UpdateUIMessages.ConfigurationView_revertPreviousDesc, 
-					revertAction));
-
-		previewTasks.put(key, array.toArray(new IPreviewTask[array.size()]));
-
-		// configured site tasks
-		array.clear();
-		key = IConfiguredSiteAdapter.class;
-		array.add(
-			new PreviewTask(
-				null,
-				UpdateUIMessages.ConfigurationView_enableLocDesc, 
-				siteStateAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_extLocLabel, 
-				UpdateUIMessages.ConfigurationView_extLocDesc, 
-				newExtensionLocationAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_propertiesLabel, 
-				UpdateUIMessages.ConfigurationView_installPropDesc, 
-				propertiesAction));
-		previewTasks.put(key, array.toArray(new IPreviewTask[array.size()]));
-
-		// feature adapter tasks
-		array.clear();
-		key = IFeatureAdapter.class;
-		array.add(
-				new PreviewTask(
-					UpdateUIMessages.ConfigurationView_scanLabel, 
-					UpdateUIMessages.ConfigurationView_scanDesc, 
-					findUpdatesAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_replaceVersionLabel, 
-				UpdateUIMessages.ConfigurationView_replaceVersionDesc, 
-				swapVersionAction));
-		array.add(
-			new PreviewTask(
-				null,
-				UpdateUIMessages.ConfigurationView_enableFeatureDesc, 
-				featureStateAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_installOptionalLabel, 
-				UpdateUIMessages.ConfigurationView_installOptionalDesc, 
-				installOptFeatureAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_uninstallLabel, 
-				UpdateUIMessages.ConfigurationView_uninstallDesc, 
-				uninstallFeatureAction));
-		array.add(
-			new PreviewTask(
-				UpdateUIMessages.ConfigurationView_featurePropLabel, 
-				UpdateUIMessages.ConfigurationView_featurePropDesc, 
-				propertiesAction));
-		previewTasks.put(key, array.toArray(new IPreviewTask[array.size()]));
-	}
-
-	public IPreviewTask[] getPreviewTasks(Object object) {
-		IPreviewTask[] tasks = null;
-
-		if (object instanceof IFeatureAdapter)
-			tasks = (IPreviewTask[]) previewTasks.get(IFeatureAdapter.class);
-		if (object instanceof ILocalSite)
-			tasks = (IPreviewTask[]) previewTasks.get(ILocalSite.class);
-		if (object instanceof IConfiguredSiteAdapter)
-			tasks =
-				(IPreviewTask[]) previewTasks.get(IConfiguredSiteAdapter.class);
-		return (tasks != null) ? tasks : new IPreviewTask[0];
-	}
-
-	ConfigurationManagerWindow getConfigurationWindow(){
-		return configurationWindow;
-	}
-	
-	private LocalSiteWorkbenchAdapter getUIReadyLocalSite(ILocalSite localSite) {
-			
-		return new LocalSiteWorkbenchAdapter(localSite);
-			
-	}
-	
-	
-
-}
-
-class LocalSiteWorkbenchAdapter extends SiteLocal implements IWorkbenchAdapter {
-	
-	private ILocalSite localSite;
-	
-	public LocalSiteWorkbenchAdapter(ILocalSite localSite) {
-		this.localSite = localSite;
-	}
-	
-	public Object[] getChildren(Object o) {
-		return null;
-	}
-
-	public ImageDescriptor getImageDescriptor(Object object) {
-		return null;
-	}
-
-	public String getLabel(Object o) {
-		return Platform.getProduct().getName();
-	}
-
-	public Object getParent(Object o) {
-		return null;
-	}
-
-	public void addConfiguration(IInstallConfiguration config) {
-		localSite.addConfiguration(config);
-	}
-
-	public void addLocalSiteChangedListener(ILocalSiteChangedListener listener) {
-		localSite.addLocalSiteChangedListener(listener);
-	}
-
-	public IInstallConfiguration addToPreservedConfigurations(IInstallConfiguration configuration) throws CoreException {
-		return localSite.addToPreservedConfigurations(configuration);
-	}
-
-	public IInstallConfiguration cloneCurrentConfiguration() throws CoreException {
-		return localSite.cloneCurrentConfiguration();
-	}
-
-	public IInstallConfiguration[] getConfigurationHistory() {
-		return localSite.getConfigurationHistory();
-	}
-
-	public IInstallConfiguration getCurrentConfiguration() {
-		return localSite.getCurrentConfiguration();
-	}
-
-	public IStatus getFeatureStatus(IFeature feature) throws CoreException {
-		return localSite.getFeatureStatus(feature);
-	}
-
-	public int getMaximumHistoryCount() {
-		return localSite.getMaximumHistoryCount();
-	}
-
-	public IInstallConfiguration[] getPreservedConfigurations() {
-		return localSite.getPreservedConfigurations();
-	}
-
-	public void removeFromPreservedConfigurations(IInstallConfiguration configuration) {
-		localSite.removeFromPreservedConfigurations(configuration);
-	}
-
-	public void removeLocalSiteChangedListener(ILocalSiteChangedListener listener) {
-		localSite.removeLocalSiteChangedListener(listener);
-	}
-
-	public void revertTo(IInstallConfiguration configuration, IProgressMonitor monitor, IProblemHandler handler) throws CoreException {
-		localSite.revertTo(configuration, monitor, handler);
-	}
-
-	public boolean save() throws CoreException {
-		return localSite.save();
-	}
-
-	public void setMaximumHistoryCount(int history) {
-		localSite.setMaximumHistoryCount(history);
-	}
-	
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureStateAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureStateAction.java
deleted file mode 100644
index dd49a4c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FeatureStateAction.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.operations.*;
-
-public class FeatureStateAction extends Action {
-	private ConfiguredFeatureAdapter adapter;
-    private ConfigurationView parent;
-
-    public FeatureStateAction(ConfigurationView parent) {
-        this.parent = parent;
-    }
-    
-	public void setFeature(ConfiguredFeatureAdapter adapter) {
-		this.adapter = adapter;
-		if (adapter.isConfigured()) {
-			setText(UpdateUIMessages.FeatureStateAction_disable); 
-		} else {
-			setText(UpdateUIMessages.FeatureStateAction_enable); 
-		}
-	}
-
-	public void run() {
-		try {
-			if (adapter == null)
-				return;
-			
-			IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-			if (status != null)
-				throw new CoreException(status);
-			
-			boolean isConfigured = adapter.isConfigured();
-			// Ask user to confirm the operation
-			String message =
-				isConfigured
-					? UpdateUIMessages.FeatureStateAction_disableQuestion
-					: UpdateUIMessages.FeatureStateAction_EnableQuestion; 
-
-			if (!confirm(message))
-				return;
-
-			// If current config is broken, confirm with the user to continue
-			if (OperationsManager.getValidator().validateCurrentState() != null &&
-					!confirm(UpdateUIMessages.Actions_brokenConfigQuestion)) 
-				return;
-			
-			IOperation toggleOperation =
-				isConfigured
-					? (IOperation)OperationsManager
-						.getOperationFactory()
-						.createUnconfigOperation(
-						adapter.getConfiguredSite(),
-						adapter.getFeature(null))
-					: OperationsManager
-						.getOperationFactory()
-						.createConfigOperation(
-						adapter.getConfiguredSite(),
-						adapter.getFeature(null));
-
-			boolean restartNeeded = toggleOperation.execute(null, null);
-			UpdateUI.requestRestart(restartNeeded);
-
-		} catch (CoreException e) {
-			ErrorDialog.openError(parent.getConfigurationWindow().getShell(),
-                    null, null, e.getStatus());
-		} catch (InvocationTargetException e) {
-			// This should not happen
-			UpdateUtils.logException(e.getTargetException());
-		}
-	}
-
-	private boolean confirm(String message) {
-		return MessageDialog.openConfirm(
-            parent.getConfigurationWindow().getShell(),
-			UpdateUIMessages.FeatureStateAction_dialogTitle, 
-			message);
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java
deleted file mode 100644
index 4e14911..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.wizards.*;
-import org.eclipse.update.operations.*;
-import org.eclipse.update.search.*;
-
-public class FindUpdatesAction extends Action {
-
-	private IFeature feature;
-	private Shell shell;
-
-	public FindUpdatesAction(Shell shell, String text) {
-		super(text);
-		this.shell = shell;
-	}
-	
-	public void setFeature(IFeature feature) {
-		this.feature = feature;
-	}
-
-	public void run() {
-		
-		IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-		if (status != null) {
-			ErrorDialog.openError(shell, null, null, status);
-			return;
-		}
-		
-		// If current config is broken, confirm with the user to continue
-		if (OperationsManager.getValidator().validateCurrentState() != null &&
-				!confirm(UpdateUIMessages.Actions_brokenConfigQuestion)) 
-			return;
-			
-		if (InstallWizard.isRunning()) {
-			MessageDialog.openInformation(shell, UpdateUIMessages.InstallWizard_isRunningTitle, UpdateUIMessages.InstallWizard_isRunningInfo);
-			return;
-		}
-		
-		IFeature [] features=null;
-		if (feature!=null)
-			features = new IFeature[] { feature };
-		final UpdateSearchRequest searchRequest = UpdateUtils.createNewUpdatesRequest(features);
-
-		BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-			public void run() {
-				InstallWizard wizard = new InstallWizard(searchRequest);
-				WizardDialog dialog = new ResizableInstallWizardDialog(shell, wizard, UpdateUIMessages.FindUpdatesAction_updates); 
-				dialog.create();
-				dialog.open();				
-			}
-		});
-	}
-	
-	private boolean confirm(String message) {
-		return MessageDialog.openConfirm(
-			shell,
-			UpdateUIMessages.FeatureStateAction_dialogTitle, 
-			message);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/IPreviewTask.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/IPreviewTask.java
deleted file mode 100644
index cee65f5..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/IPreviewTask.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import org.eclipse.jface.action.*;
-
-public interface IPreviewTask {
-	String getName();
-	String getDescription();
-	void run();
-	boolean isEnabled();
-	void setDescription(String desc);
-	IAction getAction();
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallOptionalFeatureAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallOptionalFeatureAction.java
deleted file mode 100644
index 0944671..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallOptionalFeatureAction.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import java.net.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.search.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.internal.ui.wizards.*;
-import org.eclipse.update.operations.*;
-import org.eclipse.update.search.*;
-
-
-public class InstallOptionalFeatureAction extends Action {
-	private MissingFeature missingFeature;
-	private Shell shell;
-
-	public InstallOptionalFeatureAction(Shell shell, String text) {
-		super(text);
-		this.shell = shell;
-	}
-
-	public void setFeature(MissingFeature feature) {
-		this.missingFeature = feature;
-	}
-
-	public void run() {
-		if (missingFeature == null)
-			return;
-		
-		IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-		if (status != null) {
-			ErrorDialog.openError(shell, null, null, status);
-			return;
-		}
-		
-		// If current config is broken, confirm with the user to continue
-		if (OperationsManager.getValidator().validateCurrentState() != null &&
-				!confirm(UpdateUIMessages.Actions_brokenConfigQuestion)) 
-			return;
-			
-		
-		VersionedIdentifier vid = missingFeature.getVersionedIdentifier();
-		URL originatingURL = missingFeature.getOriginatingSiteURL();
-
-		UpdateSearchScope scope = new UpdateSearchScope();
-		scope.addSearchSite(originatingURL.toString(), originatingURL, null);
-
-		OptionalFeatureSearchCategory category = new OptionalFeatureSearchCategory();
-		category.addVersionedIdentifier(vid);
-		final UpdateSearchRequest searchRequest =
-			new UpdateSearchRequest(category, scope);
-
-		BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-			public void run() {
-				openWizard(searchRequest);
-			}
-		});
-	}
-	private void openWizard(UpdateSearchRequest searchRequest) {
-		if (InstallWizard.isRunning()) {
-			MessageDialog.openInformation(shell, UpdateUIMessages.InstallWizard_isRunningTitle, UpdateUIMessages.InstallWizard_isRunningInfo);
-			return;
-		}
-		InstallWizard wizard = new InstallWizard(searchRequest);
-		WizardDialog dialog = new ResizableInstallWizardDialog(shell, wizard, UpdateUIMessages.FeaturePage_optionalInstall_title);
-		dialog.create();
-		dialog.open();
-	}
-	
-	private boolean confirm(String message) {
-		return MessageDialog.openConfirm(
-			shell,
-			UpdateUIMessages.FeatureStateAction_dialogTitle, 
-			message);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallationHistoryAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallationHistoryAction.java
deleted file mode 100644
index b4c0a34..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/InstallationHistoryAction.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import java.io.*;
-import java.text.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.configurator.*;
-import org.eclipse.update.internal.ui.*;
-
-public class InstallationHistoryAction extends Action {
-    //private Shell shell;
-	private BufferedReader buffRead;
-	private PrintWriter htmlLog;
-	private File tempFile;
-	private String rowType;
-	private IPath path;
-	private static final String lightBlue = "#EEEEFF"; //$NON-NLS-1$
-	private static final String white = "#FFFFFF"; //$NON-NLS-1$
-	private static final String darkBlue = "#99AADD"; //$NON-NLS-1$
-//	private static final String CONFIGURATION = "CONFIGURATION"; //$NON-NLS-1$
-	private static final String ACTIVITY = "ACTIVITY"; //$NON-NLS-1$
-
-	public InstallationHistoryAction(Shell shell, String text, ImageDescriptor desc) {
-		super(text, desc);
-        //this.shell = shell;
-		String location =
-			ConfiguratorUtils
-				.getCurrentPlatformConfiguration()
-				.getConfigurationLocation()
-				.getFile();
-		path = new Path(location).removeLastSegments(1).append("install.log"); //$NON-NLS-1$
-		rowType = "light-row"; //$NON-NLS-1$
-	}
-
-	public void run() {
-		try {
-			openLog();
-			parseLog();
-			UpdateUI.showURL("file:" + getTempFile().getPath().toString()); //$NON-NLS-1$
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-		} finally {
-			closeLog();
-		}
-	}
-
-	private void openLog() throws CoreException {
-		try {
-		    // throws FileNotFoundException, IOException
-		    InputStream is = new FileInputStream(path.toOSString());
-		    // throws UnsupportedEncodingException
-		    InputStreamReader isr = new InputStreamReader(is,"UTF-8"); //$NON-NLS-1$
-		    buffRead = new BufferedReader(isr);
-			htmlLog = new PrintWriter(new BufferedWriter(new OutputStreamWriter(new FileOutputStream(getTempFile()), "UTF-8"))); //$NON-NLS-1$
-		} catch (Exception e) {
-			throwCoreException(e);
-		}
-	}
-
-	private File getTempFile() throws CoreException {
-		if (tempFile == null) {
-			try {
-				tempFile = File.createTempFile("install-log", ".html"); //$NON-NLS-1$ //$NON-NLS-2$
-				tempFile.deleteOnExit();
-			} catch (IOException e) {
-				throwCoreException(e);
-			}
-		}
-		return tempFile;
-	}
-
-	private void parseLog() throws CoreException {
-		//		!CONFIGURATION <configuration-date>
-		//		!ACTIVITY <date> <target> <action> <status>
-
-		try {
-			String type, date, status, target, action;
-			StringTokenizer htmlCode;
-
-			htmlLog.println("<html>"); //$NON-NLS-1$
-			htmlLog.println("<head>"); //$NON-NLS-1$
-			htmlLog.println("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">"); //$NON-NLS-1$
-			htmlLog.println("<title>Install-Log</title>"); //$NON-NLS-1$
-			addCSS();
-			htmlLog.println("</head>"); //$NON-NLS-1$
-			htmlLog.println("<body>"); //$NON-NLS-1$
-			String title = UpdateUIMessages.InstallationHistoryAction_title; 
-			String desc = UpdateUIMessages.InstallationHistoryAction_desc; 
-			htmlLog.println("<h1 class=title>"+title+"</h1>"); //$NON-NLS-1$ //$NON-NLS-2$
-			htmlLog.println("<p class=bodyText>"+desc+"</p>"); //$NON-NLS-1$ //$NON-NLS-2$
-			
-			htmlLog.println("<center>"); //$NON-NLS-1$
-
-			htmlLog.println("<table width =100% border=0 cellspacing=1 cellpadding=2>"); //$NON-NLS-1$
-
-			while (buffRead.ready()) {
-
-				htmlCode = new StringTokenizer(buffRead.readLine());
-				while (!(htmlCode.hasMoreElements())) {
-					if (!buffRead.ready())
-						return;
-					htmlCode = new StringTokenizer(buffRead.readLine());
-				}
-
-				type = htmlCode.nextToken();
-				type = type.substring(type.indexOf("!") + 1, type.length()); //$NON-NLS-1$
-
-				if (type.equals(ACTIVITY)) {
-					target = ""; //$NON-NLS-1$
-					Date d = new Date(new Long(htmlCode.nextToken()).longValue());
-					DateFormat df = DateFormat.getDateTimeInstance();
-					date = df.format(d);
-					// ignore string date
-					htmlCode.nextToken("."); //$NON-NLS-1$
-					htmlCode.nextToken(" "); //$NON-NLS-1$
-					while (htmlCode.countTokens() > 2)
-						target = target + " " + htmlCode.nextToken(); //$NON-NLS-1$
-
-					action = htmlCode.nextToken();
-					status = htmlCode.nextToken();
-
-					addActivity(action, date, status, target);
-
-				} else {
-					htmlLog.println();
-					htmlLog.println(
-						"<tr id=separator><td colspan=4></td></tr>"); //$NON-NLS-1$
-					htmlLog.println();
-					Date d = new Date(new Long(htmlCode.nextToken()).longValue());
-					DateFormat df = DateFormat.getDateTimeInstance();
-					date = df.format(d);
-//					date = ""; //$NON-NLS-1$
-//					while (htmlCode.countTokens() > 0)
-//						date = date + " " + htmlCode.nextToken(); //$NON-NLS-1$
-					addConfigurationHeader(date);
-					addActivityHeader();
-				}
-
-			}
-			htmlLog.println("</table>"); //$NON-NLS-1$
-			htmlLog.println("</body>"); //$NON-NLS-1$
-			htmlLog.println("</html>"); //$NON-NLS-1$
-			htmlLog.flush();
-
-		} catch (Exception e) {
-			throwCoreException(e);
-		}
-
-	}
-
-	private void addActivity(
-		String type,
-		String date,
-		String status,
-		String target) {
-		htmlLog.print("<tr class=" + rowType + ">"); //$NON-NLS-1$ //$NON-NLS-2$
-		htmlLog.print("<td class=log-text width=30%>"); //$NON-NLS-1$
-		htmlLog.print(date);
-		htmlLog.println("</td>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-text width=40%>"); //$NON-NLS-1$
-		htmlLog.print(target);
-		htmlLog.println("</td>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-text width=20%>"); //$NON-NLS-1$
-		htmlLog.print(type);
-		htmlLog.println("</td>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-text width=10%>"); //$NON-NLS-1$
-		htmlLog.print(status);
-		htmlLog.println("</td></tr>"); //$NON-NLS-1$
-		toggleRowColor();
-	}
-
-	private void addCSS() {
-		htmlLog.println("<STYLE type=\"text/css\">"); //$NON-NLS-1$
-		htmlLog.println("H1.title { font-family: sans-serif; color: #99AACC }"); //$NON-NLS-1$
-		htmlLog.println("P.bodyText { font-family: sans-serif; font-size: 9pt; }"); //$NON-NLS-1$
-		htmlLog.println(
-			"TD.log-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white}"); //$NON-NLS-1$
-		htmlLog.println(
-			"TD.log-text { font-family: sans-serif; font-style: normal; font-weight: lighter; font-size: 8pt; color:black}"); //$NON-NLS-1$
-		htmlLog.println(
-		//	"TD.config-log-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white; ;text-align: right; border-top:10px solid white}");
-		"TD.config-log-header { font-family: sans-serif; font-style: normal; font-weight: bold; font-size: 9pt; color: white; border-top:10px solid white}"); //$NON-NLS-1$
-		htmlLog.println("TR.light-row {background:" + white + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-		htmlLog.println("TR.dark-row {background:" + lightBlue + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-		htmlLog.println("TR.header {background:" + darkBlue + "}"); //$NON-NLS-1$ //$NON-NLS-2$
-		htmlLog.println("</STYLE>"); //$NON-NLS-1$
-	}
-
-	private void addActivityHeader() {
-		htmlLog.print("<tr class=header>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-header>"); //$NON-NLS-1$
-		htmlLog.print(UpdateUIMessages.InstallationHistoryAction_dateTime); 
-		htmlLog.print("</td>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-header>"); //$NON-NLS-1$
-		htmlLog.print(UpdateUIMessages.InstallationHistoryAction_target); 
-		htmlLog.print("</td>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-header>"); //$NON-NLS-1$
-		htmlLog.print(UpdateUIMessages.InstallationHistoryAction_action); 
-		htmlLog.print("</td>"); //$NON-NLS-1$
-		htmlLog.print("<td class=log-header>"); //$NON-NLS-1$
-		htmlLog.print(UpdateUIMessages.InstallationHistoryAction_status); 
-		htmlLog.println("</td></tr>"); //$NON-NLS-1$
-	}
-
-	private void addConfigurationHeader(String date) {
-		if (date == null)
-			return;
-
-		htmlLog.print("<tr class=header>"); //$NON-NLS-1$
-		htmlLog.print("<td class=config-log-header colspan=4>"); //$NON-NLS-1$
-		htmlLog.print(date);
-		htmlLog.println("</td></tr>"); //$NON-NLS-1$
-	}
-
-	private void toggleRowColor() {
-		if (rowType.equals("light-row")) //$NON-NLS-1$
-			rowType = "dark-row"; //$NON-NLS-1$
-		else
-			rowType = "light-row"; //$NON-NLS-1$
-	}
-
-	private void throwCoreException(Throwable e) throws CoreException {
-		throw new CoreException(
-			new Status(
-				IStatus.ERROR,
-				UpdateUI.getPluginId(),
-				IStatus.ERROR,
-				UpdateUIMessages.InstallationHistoryAction_errors, 
-				e));
-	}
-
-	private void closeLog() {
-		try {
-			if (buffRead != null)
-				buffRead.close();
-			if (htmlLog != null)
-				htmlLog.close();
-		} catch (IOException e) {
-		} finally {
-			buffRead = null;
-			htmlLog = null;
-		}
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/NewExtensionLocationAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/NewExtensionLocationAction.java
deleted file mode 100644
index 9628b4e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/NewExtensionLocationAction.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import java.io.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.resource.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.operations.*;
-
-public class NewExtensionLocationAction extends Action {
-    private Shell shell;
-    
-	public NewExtensionLocationAction(Shell shell, String text, ImageDescriptor desc) {
-		super(text, desc);
-        this.shell = shell;
-	}
-
-	public void run() {
-		
-		IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-		if (status != null) {
-			ErrorDialog.openError(shell, null, null, status);
-			return;
-		}
-		
-		DirectoryDialog dialog =
-			new DirectoryDialog(shell, SWT.APPLICATION_MODAL);
-		dialog.setMessage(UpdateUIMessages.NewExtensionLocationAction_selectExtLocation); 
-
-		String dir = dialog.open();
-		while (dir != null) {
-			File dirFile = getExtensionSite(new File(dir));
-			if (dirFile != null) {
-				if (addExtensionLocation(dirFile))
-					return;
-				else {
-					// re-open the directory dialog
-					dialog.setFilterPath(dir);
-					dir = dialog.open();
-				}	
-			} else {
-				MessageDialog.openInformation(
-					shell,
-					UpdateUIMessages.NewExtensionLocationAction_extInfoTitle, //$NON-NLS-1$
-					UpdateUIMessages.NewExtensionLocationAction_extInfoMessage); //$NON-NLS-1$
-				// re-open the directory dialog
-				dialog.setFilterPath(dir);
-				dir = dialog.open();
-			}
-		}
-	}
-
-	/**
-	 * @param directory
-	 * @return the site file (including "eclipse" path) when directory is an eclipse exstension, null otherwise
-	 */
-	static File getExtensionSite(File directory) {
-		// Check the eclipse folder
-		if (directory.getName().equals("eclipse")) { //$NON-NLS-1$
-			// if we picked up the eclipse directory, check if its parent is a site
-			File site = getExtensionSite(directory.getParentFile());
-			if (site != null)
-				return directory;
-			// otherwise, fall through
-		}
-		
-		File eclipse = new File(directory, "eclipse"); //$NON-NLS-1$
-		if (!eclipse.exists() || !eclipse.isDirectory())
-			return null;
-
-		// check the marker
-		File marker = new File(eclipse, ".eclipseextension"); //$NON-NLS-1$
-		if (!marker.exists() || marker.isDirectory())
-			return null;
-		return eclipse;
-	}
-
-	private boolean addExtensionLocation(File dir) {
-		try {
-			IInstallConfiguration config = SiteManager.getLocalSite().getCurrentConfiguration();
-			IConfiguredSite csite = config.createLinkedConfiguredSite(dir);
-			csite.verifyUpdatableStatus();
-			config.addConfiguredSite(csite);
-			boolean restartNeeded = SiteManager.getLocalSite().save();
-			UpdateUI.requestRestart(restartNeeded);
-			return true;
-		} catch (CoreException e) {
-			String title = UpdateUIMessages.InstallWizard_TargetPage_location_error_title; 
-			ErrorDialog.openError(shell, title, null, e.getStatus());
-			UpdateUI.logException(e,false);
-			return false;
-		}
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ReplaceVersionAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ReplaceVersionAction.java
deleted file mode 100644
index 47b0c8e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ReplaceVersionAction.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.Action;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.internal.ui.wizards.ReplaceFeatureVersionWizard;
-import org.eclipse.update.operations.*;
-
-public class ReplaceVersionAction extends Action {
-	
-	private IFeature currentFeature;
-	private IFeature[] features;
-	private Shell shell;
-    
-	public ReplaceVersionAction(Shell shell, String text) {
-		super(text);
-        this.shell = shell;
-	}
-	
-	public void setCurrentFeature(IFeature feature) {
-		currentFeature = feature;
-	}
-	
-	public void setFeatures(IFeature[] features) {
-		this.features = features;
-	}
-		
-	public void run() {
-		if (currentFeature == null || features == null || features.length < 2)
-			return;
-			
-		IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-		if (status != null) {
-			ErrorDialog.openError(shell, null, null, status);
-			return;
-		}
-		
-		ReplaceFeatureVersionWizard wizard = new ReplaceFeatureVersionWizard(currentFeature, features);
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.create();
-		dialog.getShell().setText(shell.getText());
-		dialog.getShell().setSize(400,400);
-		dialog.open();
-	}
-
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/RevertConfigurationAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/RevertConfigurationAction.java
deleted file mode 100644
index a0d4080..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/RevertConfigurationAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.ui.wizards.*;
-import org.eclipse.update.operations.*;
-
-public class RevertConfigurationAction extends Action {
-    private Shell shell;
-    
-	public RevertConfigurationAction(Shell shell, String text) {
-		super(text);
-        this.shell = shell;
-	}
-	
-	public void run() {
-		IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-		if (status != null) {
-			ErrorDialog.openError(shell, null, null, status);
-			return;
-		}
-		
-		RevertConfigurationWizard wizard = new RevertConfigurationWizard();
-		WizardDialog dialog = new WizardDialog(shell, wizard);
-		dialog.create();
-		dialog.getShell().setText(shell.getText());
-		dialog.getShell().setSize(600,500);
-		dialog.open();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ShowActivitiesAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ShowActivitiesAction.java
deleted file mode 100644
index 84ac2ba..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/ShowActivitiesAction.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import org.eclipse.jface.action.Action;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.wizards.ShowActivitiesDialog;
-
-public class ShowActivitiesAction extends Action {
-	Shell shell;
-	
-	public ShowActivitiesAction(Shell parentShell, String text) {
-		super(text);
-		this.shell = parentShell;
-	}
-	
-	public void run() {
-		ShowActivitiesDialog dialog = new ShowActivitiesDialog(shell);
-		dialog.create();
-		dialog.getShell().setText(UpdateUIMessages.ShowActivitiesDialog_title); 
-		dialog.open();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SiteStateAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SiteStateAction.java
deleted file mode 100644
index bf5f006..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/SiteStateAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.operations.*;
-
-/**
- * Toggles a site's enabled state
- */
-
-public class SiteStateAction extends Action {
-	private IConfiguredSite site;
-    private Shell shell;
-
-	public SiteStateAction(Shell shell) {
-        this.shell = shell;
-	}
-
-	public void setSite(IConfiguredSite site) {
-		this.site = site;
-		boolean state = site.isEnabled();
-		setText(state ? UpdateUIMessages.SiteStateAction_disableLabel : UpdateUIMessages.SiteStateAction_enableLabel); 
-	}
-
-	public void run() {
-		try {
-			if (site == null)
-				return;
-			
-			IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-			if (status != null) {
-				ErrorDialog.openError(shell, null, null, status);
-				return;
-			}
-			
-			boolean oldValue = site.isEnabled();
-			if (!confirm(!oldValue))
-				return;
-			
-			IOperation toggleSiteOperation = OperationsManager.getOperationFactory().createToggleSiteOperation(site);
-			boolean restartNeeded = toggleSiteOperation.execute(null, null);
-					
-			UpdateUI.requestRestart(restartNeeded);
-
-		} catch (CoreException e) {
-            ErrorDialog.openError(shell, null, null, e.getStatus());
-		} catch (InvocationTargetException e) {
-			UpdateUI.logException(e);
-		}
-	}
-
-	private boolean confirm(boolean newState) {
-		String name = site.getSite().getURL().toString();
-		String enableMessage = NLS.bind(UpdateUIMessages.SiteStateAction_enableMessage, name);
-		String disableMessage = NLS.bind(UpdateUIMessages.SiteStateAction_disableMessage, name);
-
-		String message = newState ? enableMessage : disableMessage;
-		return MessageDialog.openConfirm(shell, UpdateUIMessages.SiteStateAction_dialogTitle, message); 
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UninstallFeatureAction.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UninstallFeatureAction.java
deleted file mode 100644
index 1ffb18a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/UninstallFeatureAction.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.views;
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.action.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-import org.eclipse.update.operations.*;
-
-public class UninstallFeatureAction extends Action {
-	private ConfiguredFeatureAdapter adapter;
-    private Shell shell;
-
-	public UninstallFeatureAction(Shell shell, String text) {
-		super(text);
-        this.shell = shell;
-	}
-
-	public void run() {
-		try {
-			IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-			if (status != null)
-				throw new CoreException(status);
-			
-			if (adapter == null || !confirm(UpdateUIMessages.FeatureUninstallAction_uninstallQuestion)) 
-				return;
-
-			// If current config is broken, confirm with the user to continue
-			if (OperationsManager.getValidator().validateCurrentState() != null &&
-					!confirm(UpdateUIMessages.Actions_brokenConfigQuestion)) 
-				return;
-
-			IOperation uninstallOperation =
-				OperationsManager
-					.getOperationFactory()
-					.createUninstallOperation(
-					adapter.getConfiguredSite(),
-					adapter.getFeature(null));
-
-			boolean restartNeeded = uninstallOperation.execute(null, null);
-			UpdateUI.requestRestart(restartNeeded);
-
-		} catch (CoreException e) {
-			ErrorDialog.openError(shell, null, null, e.getStatus());
-		} catch (InvocationTargetException e) {
-			// This should not happen
-			UpdateUtils.logException(e.getTargetException());
-		}
-	}
-
-	private boolean confirm(String message) {
-		return MessageDialog.openConfirm(
-			shell,
-			UpdateUIMessages.FeatureUninstallAction_dialogTitle, 
-			message);
-	}
-
-	public void setFeature(ConfiguredFeatureAdapter adapter) {
-		this.adapter = adapter;
-		setText(UpdateUIMessages.FeatureUninstallAction_uninstall); 
-	}
-
-	public boolean canUninstall() {
-		if (adapter == null)
-			return false;
-		
-		if (adapter.isConfigured())
-			return false;
-		
-		try {
-			// check for pending changes (e.g. if the feature has just been disabled)
-			IFeatureOperation pendingOperation = OperationsManager.findPendingOperation(adapter.getFeature(null));
-			if (pendingOperation != null)
-				return false;
-
-			if (InstallRegistry.getInstance().get("feature_"+adapter.getFeature(null).getVersionedIdentifier()) == null) //$NON-NLS-1$
-				return false;
-		} catch (CoreException e) {
-			return false;
-		}
-				
-		return true;	
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ActivitiesTableViewer.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ActivitiesTableViewer.java
deleted file mode 100644
index 3e25b8c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ActivitiesTableViewer.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.util.*;
-
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.parts.*;
-
-
-/**
- * Viewer for configuration activities
- */
-public class ActivitiesTableViewer{
-
-	private static InstallLogParser parser; 
-	
-	static class ActivitiesContentProvider
-		extends DefaultContentProvider
-		implements IStructuredContentProvider {
-		
-		private boolean showCurrentOnly;
-		
-		public ActivitiesContentProvider(boolean showCurrentOnly){
-			this.showCurrentOnly = showCurrentOnly;
-		}
-		public ActivitiesContentProvider(){
-			this.showCurrentOnly = false;
-		}
-		
-		public Object[] getElements(Object element) {
-			InstallConfiguration currentConfig = (InstallConfiguration)element;
-			InstallConfiguration[] configs = parser.getConfigurations();
-			boolean hitCurrentConfig = false;
-			ArrayList activitiesList = new ArrayList();
-			for (int i = 0; i<configs.length; i++){
-				if (configs[i].equals(currentConfig) && !hitCurrentConfig)
-					hitCurrentConfig = true;
-				if (hitCurrentConfig && showCurrentOnly)
-					return configs[i].getActivities();
-				else if (hitCurrentConfig){
-					IActivity[] activities = configs[i].getActivities();
-					for (int j = 0; j<activities.length; j++)
-						activitiesList.add(activities[j]);	
-				}
-				
-			}
-			return (IActivity[])activitiesList.toArray(new IActivity[activitiesList.size()]);
-		}
-		
-	}
-
-	static class ActivitiesLabelProvider
-		extends LabelProvider
-		implements ITableLabelProvider {
-		public Image getColumnImage(Object element, int columnIndex) {
-			if (columnIndex == 0) {
-				UpdateLabelProvider provider =
-					UpdateUI.getDefault().getLabelProvider();
-				switch (((IActivity) element).getStatus()) {
-					case IActivity.STATUS_OK :
-						return provider.get(UpdateUIImages.DESC_OK_ST_OBJ, 0);
-					case IActivity.STATUS_NOK :
-						return provider.get(UpdateUIImages.DESC_ERR_ST_OBJ, 0);
-				}
-			}
-			return null;
-		}
-
-		public String getColumnText(Object element, int columnIndex) {
-			IActivity activity = (IActivity) element;
-			switch (columnIndex) {
-				case 1 :
-					return Utilities.format(activity.getDate());
-				case 2 :
-					return activity.getLabel();
-				case 3 :
-					return getActionLabel(activity);
-			}
-			return ""; //$NON-NLS-1$
-		}
-
-		private String getActionLabel(IActivity activity) {
-			int action = activity.getAction();
-			switch (action) {
-				case IActivity.ACTION_CONFIGURE :
-					return UpdateUIMessages.ActivitiesTableViewer_enabled; 
-				case IActivity.ACTION_FEATURE_INSTALL :
-					return UpdateUIMessages.ActivitiesTableViewer_featureInstalled; 
-				case IActivity.ACTION_FEATURE_REMOVE :
-					return UpdateUIMessages.ActivitiesTableViewer_featureRemoved; 
-				case IActivity.ACTION_SITE_INSTALL :
-					return UpdateUIMessages.ActivitiesTableViewer_siteInstalled; 
-				case IActivity.ACTION_SITE_REMOVE :
-					return UpdateUIMessages.ActivitiesTableViewer_siteRemoved; 
-				case IActivity.ACTION_UNCONFIGURE :
-					return UpdateUIMessages.ActivitiesTableViewer_disabled; 
-				case IActivity.ACTION_REVERT :
-					return UpdateUIMessages.ActivitiesTableViewer_revert; 
-				case IActivity.ACTION_RECONCILIATION :
-					return UpdateUIMessages.ActivitiesTableViewer_reconcile; 
-				default :
-					return UpdateUIMessages.ActivitiesTableViewer_unknown; 
-			}
-		}
-	}
-
-	public static TableViewer createViewer(Composite parent, boolean showCurrentOnly) {
-		parser = new InstallLogParser();
-		parser.parseInstallationLog();
-		Table table = new Table(parent, SWT.BORDER);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-		table.setHeaderVisible(true);
-
-		TableColumn column = new TableColumn(table, SWT.NONE);
-
-		column = new TableColumn(table, SWT.NONE);
-		column.setText(UpdateUIMessages.ActivitiesTableViewer_date); 
-
-		column = new TableColumn(table, SWT.NONE);
-		column.setText(UpdateUIMessages.ActivitiesTableViewer_target); 
-
-		column = new TableColumn(table, SWT.NONE);
-		column.setText(UpdateUIMessages.ActivitiesTableViewer_action); 
-
-		TableViewer activitiesViewer = new TableViewer(table);
-		activitiesViewer.setLabelProvider(new ActivitiesLabelProvider());
-		activitiesViewer.setContentProvider(new ActivitiesContentProvider(showCurrentOnly));
-		return activitiesViewer;
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/BannerPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/BannerPage.java
deleted file mode 100644
index 58195a4..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/BannerPage.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-import java.net.*;
-
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.ui.*;
-
-public abstract class BannerPage extends WizardPage {
-	private Image bannerImage;
-	private boolean bannerVisible = false;
-	public BannerPage(String name) {
-		super(name);
-	}
-
-	public void createControl(Composite parent) {
-		Composite client = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.horizontalSpacing = 10;
-		client.setLayout(layout);
-
-		if (bannerVisible) {
-			Label label = new Label(client, SWT.NULL);
-			label.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_BEGINNING));
-			label.setImage(getBannerImage());
-		}
-
-		Control contents = createContents(client);
-		contents.setLayoutData(new GridData(GridData.FILL_BOTH));
-		setControl(client);
-	}
-
-	public void setBannerVisible(boolean visible) {
-		this.bannerVisible = visible;
-	}
-	public boolean isBannedVisible() {
-		return bannerVisible;
-	}
-
-	protected URL getBannerImageURL() {
-		return null;
-	}
-	private Image getBannerImage() {
-		URL imageURL = getBannerImageURL();
-		Image image = null;
-		if (imageURL == null) {
-			// use default
-			bannerImage =
-				UpdateUIImages.DESC_INSTALL_BANNER.createImage();
-			image = bannerImage;
-		}
-		return image;
-	}
-
-	public void dispose() {
-		if (bannerImage != null) {
-			bannerImage.dispose();
-		}
-		super.dispose();
-	}
-
-	protected abstract Control createContents(Composite parent);
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ContainerCheckedTreeViewer.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ContainerCheckedTreeViewer.java
deleted file mode 100644
index 4dcad07..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ContainerCheckedTreeViewer.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.util.ArrayList;
-
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeViewerListener;
-import org.eclipse.jface.viewers.TreeExpansionEvent;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Item;
-import org.eclipse.swt.widgets.Tree;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.swt.widgets.Widget;
-
-/**
- * Copied from ui internal package.
- * 
- * CheckboxTreeViewer with special behaviour of the checked / gray state on 
- * container (non-leaf) nodes:
- * The grayed state is used to visualize the checked state of its children.
- * Containers are checked and non-gary if all contained leafs are checked. The
- * container is grayed if some but not all leafs are checked.
- * 
- */
-public class ContainerCheckedTreeViewer extends CheckboxTreeViewer {
-
-    /**
-     * Constructor for ContainerCheckedTreeViewer.
-     * @see CheckboxTreeViewer#CheckboxTreeViewer(Composite)
-     */
-    public ContainerCheckedTreeViewer(Composite parent) {
-        super(parent);
-        initViewer();
-    }
-
-    /**
-     * Constructor for ContainerCheckedTreeViewer.
-     * @see CheckboxTreeViewer#CheckboxTreeViewer(Composite,int)
-     */
-    public ContainerCheckedTreeViewer(Composite parent, int style) {
-        super(parent, style);
-        initViewer();
-    }
-
-    /**
-     * Constructor for ContainerCheckedTreeViewer.
-     * @see CheckboxTreeViewer#CheckboxTreeViewer(Tree)
-     */
-    public ContainerCheckedTreeViewer(Tree tree) {
-        super(tree);
-        initViewer();
-    }
-
-    private void initViewer() {
-        setUseHashlookup(true);
-        addCheckStateListener(new ICheckStateListener() {
-            public void checkStateChanged(CheckStateChangedEvent event) {
-                doCheckStateChanged(event.getElement());
-            }
-        });
-        addTreeListener(new ITreeViewerListener() {
-            public void treeCollapsed(TreeExpansionEvent event) {
-            }
-
-            public void treeExpanded(TreeExpansionEvent event) {
-                Widget item = findItem(event.getElement());
-                if (item instanceof TreeItem) {
-                    initializeItem((TreeItem) item);
-                }
-            }
-        });
-    }
-
-    protected void doCheckStateChanged(Object element) {
-        Widget item = findItem(element);
-        if (item instanceof TreeItem) {
-            TreeItem treeItem = (TreeItem) item;
-            treeItem.setGrayed(false);
-            updateChildrenItems(treeItem);
-            updateParentItems(treeItem.getParentItem());
-        }
-    }
-
-    /**
-     * The item has expanded. Updates the checked state of its children. 
-     */
-    private void initializeItem(TreeItem item) {
-        if (item.getChecked() && !item.getGrayed()) {
-            updateChildrenItems(item);
-        }
-    }
-
-    /**
-     * Updates the check state of all created children
-     */
-    protected void updateChildrenItems(TreeItem parent) {
-        Item[] children = getChildren(parent);
-        boolean state = parent.getChecked();
-        for (int i = 0; i < children.length; i++) {
-            TreeItem curr = (TreeItem) children[i];
-            if (curr.getData() != null
-                    && ((curr.getChecked() != state) || curr.getGrayed())) {
-                curr.setChecked(state);
-                curr.setGrayed(false);
-                updateChildrenItems(curr);
-            }
-        }
-    }
-
-    /**
-     * Updates the check / gray state of all parent items
-     */
-    private void updateParentItems(TreeItem item) {
-        if (item != null) {
-            Item[] children = getChildren(item);
-            boolean containsChecked = false;
-            boolean containsUnchecked = false;
-            for (int i = 0; i < children.length; i++) {
-                TreeItem curr = (TreeItem) children[i];
-                containsChecked |= curr.getChecked();
-                containsUnchecked |= (!curr.getChecked() || curr.getGrayed());
-            }
-            item.setChecked(containsChecked);
-            item.setGrayed(containsChecked && containsUnchecked);
-            updateParentItems(item.getParentItem());
-        }
-    }
-
-    /*
-     * @see ICheckable#setChecked(Object, boolean)
-     */
-    public boolean setChecked(Object element, boolean state) {
-        if (super.setChecked(element, state)) {
-            doCheckStateChanged(element);
-            return true;
-        }
-        return false;
-    }
-
-    /*
-     * @see CheckboxTreeViewer#setCheckedElements(Object[])
-     */
-    public void setCheckedElements(Object[] elements) {
-        super.setCheckedElements(elements);
-        for (int i = 0; i < elements.length; i++) {
-            doCheckStateChanged(elements[i]);
-        }
-    }
-
-    /*
-     * @see AbstractTreeViewer#setExpanded(Item, boolean)
-     */
-    protected void setExpanded(Item item, boolean expand) {
-        super.setExpanded(item, expand);
-        if (expand && item instanceof TreeItem) {
-            initializeItem((TreeItem) item);
-        }
-    }
-
-    /*
-     * @see CheckboxTreeViewer#getCheckedElements()
-     */
-    public Object[] getCheckedElements() {
-        Object[] checked = super.getCheckedElements();
-        // add all items that are children of a checked node but not created yet
-        ArrayList result = new ArrayList();
-        for (int i = 0; i < checked.length; i++) {
-            Object curr = checked[i];
-            result.add(curr);
-            Widget item = findItem(curr);
-            if (item != null) {
-                Item[] children = getChildren(item);
-                // check if contains the dummy node
-                if (children.length == 1 && children[0].getData() == null) {
-                    // not yet created
-                    collectChildren(curr, result);
-                }
-            }
-        }
-        return result.toArray();
-    }
-
-    private void collectChildren(Object element, ArrayList result) {
-        Object[] filteredChildren = getFilteredChildren(element);
-        for (int i = 0; i < filteredChildren.length; i++) {
-            Object curr = filteredChildren[i];
-            result.add(curr);
-            collectChildren(curr, result);
-        }
-    }
-
-    protected void createChildren(final Widget widget) {
-    	super.createChildren(widget);
-    }
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/DuplicateConflictsDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/DuplicateConflictsDialog.java
deleted file mode 100644
index c03e42b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/DuplicateConflictsDialog.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.util.*;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.parts.*;
-
-/**
- * 
- */
-public class DuplicateConflictsDialog extends MessageDialog {
-
-	private TreeViewer treeViewer;
-	private ArrayList conflicts;
-
-	class ConflictContentProvider
-		extends DefaultContentProvider
-		implements ITreeContentProvider, IStructuredContentProvider {
-		public Object[] getElements(Object input) {
-			return getChildren(input);
-		}
-		public Object getParent(Object child) {
-			return null;
-		}
-		public boolean hasChildren(Object parent) {
-			if (parent instanceof ArrayList)
-				return true;
-			return false;
-		}
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof ArrayList)
-				return ((ArrayList) parent).toArray();
-			return new Object[0];
-		}
-	}
-
-	class ConflictLabelProvider extends LabelProvider {
-		public String getText(Object obj) {
-			if (obj instanceof ArrayList) {
-				ArrayList list = (ArrayList) obj;
-				for (int i = 0; i < list.size(); i++) {
-					DuplicateConflictsValidator.IdEntry entry =
-						(DuplicateConflictsValidator.IdEntry) (list).get(i);
-					if (entry.isInstallCandidate())
-						return entry.getFeature().getLabel();
-				}
-			}
-			return super.getText(obj);
-		}
-		public Image getImage(Object obj) {
-			int flags = 0;
-			if (obj instanceof ArrayList)
-				flags = UpdateLabelProvider.F_WARNING;
-			if (obj instanceof DuplicateConflictsValidator.IdEntry
-				|| obj instanceof ArrayList)
-				return UpdateUI.getDefault().getLabelProvider().get(
-					UpdateUIImages.DESC_FEATURE_OBJ,
-					flags);
-			return null;
-		}
-	}
-
-	public DuplicateConflictsDialog(Shell shell, ArrayList conflicts) {
-		super(
-			shell,
-			UpdateUIMessages.DuplicateConflictsDialog_title, 
-			null,
-			UpdateUIMessages.DuplicateConflictsDialog_message, 
-			WARNING,
-			new String[] {
-				IDialogConstants.YES_LABEL,
-				IDialogConstants.NO_LABEL },
-			0);
-		this.conflicts = conflicts;
-		UpdateUI.getDefault().getLabelProvider().connect(this);
-	}
-
-	public boolean close() {
-		UpdateUI.getDefault().getLabelProvider().disconnect(this);
-		return super.close();
-	}
-
-	protected Control createCustomArea(Composite parent) {
-		Composite client = new Composite(parent, SWT.NULL);
-		client.setLayoutData(new GridData(GridData.FILL_BOTH));
-		GridLayout layout = new GridLayout();
-		client.setLayout(layout);
-
-		Label label = new Label(client, SWT.NULL);
-		label.setText(UpdateUIMessages.DuplicateConflictsDialog_treeLabel); 
-
-		treeViewer = new TreeViewer(client, SWT.SINGLE | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.heightHint = 200;
-		gd.widthHint = 300;
-		treeViewer.getTree().setLayoutData(gd);
-		treeViewer.setContentProvider(new ConflictContentProvider());
-		treeViewer.setLabelProvider(new ConflictLabelProvider());
-		treeViewer.setAutoExpandLevel(10);
-		treeViewer.setSorter(new ViewerSorter() {
-		});
-		treeViewer.setInput(conflicts);
-		return client;
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/EditSiteDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/EditSiteDialog.java
deleted file mode 100644
index b279d19..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/EditSiteDialog.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.model.SiteBookmark;
-
-
-public class EditSiteDialog extends NewUpdateSiteDialog {
-	SiteBookmark bookmark;
-	private int ignoreBookmark = -1;
-
-	public EditSiteDialog(Shell parentShell, SiteBookmark bookmark) {
-		super(parentShell);
-		this.bookmark = bookmark;
-	}
-	
-	public EditSiteDialog(Shell parentShell, SiteBookmark bookmark, SiteBookmark[] siteBookmarks) {
-		super(parentShell, siteBookmarks);
-		this.bookmark = bookmark;
-		ignoreBookmark(siteBookmarks);
-	}
-
-	public EditSiteDialog(Shell parentShell, SiteBookmark bookmark, boolean enableOK) {
-		super(parentShell,enableOK);
-		this.bookmark = bookmark;
-	}
-	
-	public EditSiteDialog(Shell parentShell, SiteBookmark bookmark, SiteBookmark[] siteBookmarks, boolean enableOK) {
-		super(parentShell, enableOK, siteBookmarks);
-		this.bookmark = bookmark;
-		ignoreBookmark(siteBookmarks);
-	}
-
-	protected void initializeFields() {
-		name.setText(bookmark.getName());
-		url.setText(bookmark.getURL().toString());
-		url.setEditable(!bookmark.isLocal());
-	}
-
-	protected void update() {
-		try {
-			bookmark.setName(name.getText());
-			bookmark.setURL(new URL(url.getText()));
-			UpdateUI.getDefault().getUpdateModel().fireObjectChanged(bookmark, null);
-		} catch (MalformedURLException e) {
-		}
-	}
-	
-	private void ignoreBookmark( SiteBookmark[] siteBookmarks) {
-		
-		for( int i = 0; i < siteBookmarks.length; i++) {
-
-			if (siteBookmarks[i].getLabel().equals(bookmark.getLabel().trim()) &&
-				siteBookmarks[i].getURL().equals(bookmark.getURL())) {	
-				ignoreBookmark = i;	
-				return;
-			}
-			
-		}
-	}
-	
-	protected boolean isCurrentlyEditedSiteBookmark( int index) {
-		
-		return index == ignoreBookmark;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureSorter.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureSorter.java
deleted file mode 100644
index 68850cd..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/FeatureSorter.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.operations.*;
-
-public class FeatureSorter extends ViewerSorter {
-	
-	public static final int FEATURE_VERSION = 1;
-	public static final int FEATURE_LABEL = 2;
-	public static final int FEATURE_PROVIDER = 3;
-	
-	public static final int ASCENDING = 1;
-	public static final int DESCENDING = -1;
-	
-	private int key = FEATURE_LABEL;
-	private int labelOrder;
-	private int versionOrder;
-	private int providerOrder;
-	
-	public FeatureSorter() {
-		this(FEATURE_LABEL, ASCENDING, ASCENDING, ASCENDING);
-	}
-	
-	public FeatureSorter(int key, int labelOrder, int versionOrder, int providerOrder) {
-		this.key = key;
-		this.labelOrder = labelOrder;
-		this.versionOrder = versionOrder;
-		this.providerOrder = providerOrder;
-	}
-
-	public int compare(Viewer viewer, Object e1, Object e2) {
-		if (!(e1 instanceof IInstallFeatureOperation)
-			|| !(e2 instanceof IInstallFeatureOperation))
-			return super.compare(viewer, e1, e2);
-			
-		IFeature f1 = ((IInstallFeatureOperation)e1).getFeature();
-		IFeature f2 = ((IInstallFeatureOperation)e2).getFeature();
-		
-		PluginVersionIdentifier v1 = f1.getVersionedIdentifier().getVersion();
-		PluginVersionIdentifier v2 = f2.getVersionedIdentifier().getVersion();
-		
-		String label1 = f1.getLabel() == null ? "" : f1.getLabel(); //$NON-NLS-1$
-		String label2 = f2.getLabel() == null ? "" : f2.getLabel(); //$NON-NLS-1$
-		
-		String provider1 = f1.getProvider() == null ? "" : f1.getProvider(); //$NON-NLS-1$
-		String provider2 = f2.getProvider() == null ? "" : f2.getProvider(); //$NON-NLS-1$
-		
-		int result = 0;
-		if (key == FEATURE_VERSION) {
-			result = compareVersions(v1, v2) * versionOrder;
-			if (result == 0) {
-				result = collator.compare(label1, label2) * labelOrder;
-				if (result == 0)
-					result = collator.compare(provider1, provider2) * providerOrder;
-			}
-		} else if (key == FEATURE_LABEL) {
-			result = collator.compare(label1, label2) * labelOrder;
-			if (result == 0) {
-				result = compareVersions(v1, v2) * versionOrder;
-				if (result == 0)
-					result = collator.compare(provider1, provider2) * providerOrder;
-			}
-		} else if (key == FEATURE_PROVIDER) {
-			result = collator.compare(provider1, provider2) * providerOrder;
-			if (result == 0) {
-				result = collator.compare(label1, label2) * labelOrder;
-				if (result == 0)
-					result = compareVersions(v1, v2) * versionOrder;
-			}
-		}
-		return result;
-	}
-	
-	private int compareVersions(PluginVersionIdentifier v1, PluginVersionIdentifier v2) {
-		if (v1.equals(v2))
-			return 0;
-		return v2.isGreaterThan(v1) ? -1 : 1;
-	}
-	
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/IDynamicPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/IDynamicPage.java
deleted file mode 100644
index 0633531..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/IDynamicPage.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-
-import org.eclipse.update.operations.*;
-
-/**
- *  A dynamic page in the install wizard
- */
-public interface IDynamicPage {
-	public void setJobs(IInstallFeatureOperation [] jobs);
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ISearchProvider.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ISearchProvider.java
deleted file mode 100644
index d41fb3d..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ISearchProvider.java
+++ /dev/null
@@ -1,20 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.update.search.*;
-
-/**
- * A search request provider
- */
-public interface ISearchProvider {
-	UpdateSearchRequest getSearchRequest();
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard.java
deleted file mode 100644
index f82b740..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.wizards;

-import java.util.ArrayList;

-

-import org.eclipse.core.runtime.Platform;

-import org.eclipse.core.runtime.jobs.Job;

-import org.eclipse.jface.dialogs.MessageDialog;

-import org.eclipse.jface.wizard.IWizardPage;

-import org.eclipse.jface.wizard.Wizard;

-import org.eclipse.update.internal.search.SiteSearchCategory;

-import org.eclipse.update.internal.ui.UpdateUI;

-import org.eclipse.update.internal.ui.UpdateUIImages;

-import org.eclipse.update.internal.ui.UpdateUIMessages;

-import org.eclipse.update.search.BackLevelFilter;

-import org.eclipse.update.search.UpdateSearchRequest;

-import org.eclipse.update.search.UpdateSearchScope;

-import org.eclipse.update.ui.UpdateJob;

-

-public class InstallWizard

-	extends Wizard

-	implements ISearchProvider {

-	private ModeSelectionPage modePage;

-	private SitePage sitePage;

-	private int installCount = 0;

-	private UpdateSearchRequest searchRequest;

-	private boolean needsRestart;

-	private static boolean isRunning;

-	private UpdateJob job;

-	private InstallWizardOperation operation;

-

-

-	public InstallWizard(UpdateSearchRequest searchRequest) {

-		isRunning = true;

-        if (searchRequest == null) {

-            searchRequest =

-                new UpdateSearchRequest(

-                    new SiteSearchCategory(),

-                    new UpdateSearchScope());

-            searchRequest.addFilter(new BackLevelFilter());

-        }

-        this.searchRequest = searchRequest;

-		setDialogSettings(UpdateUI.getDefault().getDialogSettings());

-		setDefaultPageImageDescriptor(UpdateUIImages.DESC_UPDATE_WIZ);

-		setForcePreviousAndNextButtons(true);

-		setNeedsProgressMonitor(true);

-		setWindowTitle(UpdateUIMessages.InstallWizard_wtitle); 

-	}

-

-	public InstallWizard(UpdateSearchRequest searchRequest, ArrayList jobs) {

-		this(searchRequest);

-	}

-

-	public boolean isRestartNeeded() {

-		return installCount > 0 && needsRestart; // or == selectedJobs.length

-	}

-

-	public boolean performCancel() {

-		isRunning = false;

-		return super.performCancel();

-	}

-

-	public void addPages() {

-		modePage = new ModeSelectionPage(searchRequest);

-		addPage(modePage);

-		sitePage = new SitePage(searchRequest);

-		addPage(sitePage);

-	}

-

-	private void saveSettings() {

-		if (modePage != null)

-			modePage.saveSettings();

-	}

-

-	public IWizardPage getNextPage(IWizardPage page) {

-

-		if (modePage != null && page.equals(modePage)) {

-			boolean update = modePage.isUpdateMode();

-			if (!update)

-				return sitePage;

-		}

-        return null;

-	}

-

-	/* (non-Javadoc)

-	 * @see org.eclipse.update.internal.ui.wizards.ISearchProvider2#getSearchRequest()

-	 */

-	public UpdateSearchRequest getSearchRequest() {

-		return searchRequest;

-	}

-

-	public static synchronized boolean isRunning() {

-		return isRunning || Platform.getJobManager().find(UpdateJob.family).length > 0;

-	}

-

-    /**

-     * @see Wizard#performFinish()

-     */

-    public boolean performFinish() {

-

-        saveSettings();

-        

-        if (Platform.getJobManager().find(UpdateJob.family).length > 0) {

-            // another update/install job is running, need to wait to finish or cancel old job

-            boolean proceed = MessageDialog.openQuestion(

-                    UpdateUI.getActiveWorkbenchShell(),

-                    UpdateUIMessages.InstallWizard_anotherJobTitle,

-                    UpdateUIMessages.InstallWizard_anotherJob); 

-            if (!proceed)

-                return false; // cancel this job, and let the old one go on

-        }

-        

-        launchInBackground();

-        isRunning = false;

-        return true;

-    }

-    

-	private void launchInBackground() {

-		// Downloads the feature content in the background.

-		// The job listener will then install the feature when download is finished.

-

-        if (isUpdate())

-            job = new UpdateJob(UpdateUIMessages.InstallWizard_jobName, false, false);  

-        else

-            job = new UpdateJob(UpdateUIMessages.InstallWizard_jobName, searchRequest);  

-		job.setUser(true);

-		job.setPriority(Job.INTERACTIVE);

-//		if (wait) {

-//			progressService.showInDialog(workbench.getActiveWorkbenchWindow().getShell(), job); 

-//		}

-		getOperation().run(UpdateUI.getActiveWorkbenchShell(), job);

-	}

-    

-    private InstallWizardOperation getOperation() {

-		if (operation == null)

-			operation = new InstallWizardOperation();

-		return operation;

-	}

-

-    public boolean canFinish() {

-    	      

-    	if ( modePage.isCurrentPage()) {

-            return isUpdate();

-    	} else {

-            return sitePage.isPageComplete();

-    	}   	

-    }

-    

-    private boolean isUpdate() {

-        return (modePage != null && modePage.isUpdateMode());

-    }

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java
deleted file mode 100644
index 61a4063..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizard2.java
+++ /dev/null
@@ -1,453 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-import java.lang.reflect.*;
-import java.net.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.operation.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.ui.*;
-import org.eclipse.ui.progress.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.security.*;
-import org.eclipse.update.operations.*;
-import org.eclipse.update.search.*;
-
-
-public class InstallWizard2
-	extends Wizard
-	implements IOperationListener, ISearchProvider {
-	private ReviewPage reviewPage;
-	private LicensePage licensePage;
-	private OptionalFeaturesPage optionalFeaturesPage;
-	private TargetPage targetPage;
-	private IInstallConfiguration config;
-	private int installCount = 0;
-	private UpdateSearchRequest searchRequest;
-	private ArrayList jobs;
-	private boolean needsRestart;
-	private static boolean isRunning;
-	private IBatchOperation installOperation;
-	private Job job;
-	public static final Object jobFamily = new Object();
-	private IJobChangeListener jobListener;
-    private boolean isUpdate;
-
-	public InstallWizard2(UpdateSearchRequest searchRequest, IInstallFeatureOperation[] jobs, boolean isUpdate) {
-		this (searchRequest, new ArrayList(Arrays.asList(jobs)), isUpdate);
-	}
-
-	public InstallWizard2(UpdateSearchRequest searchRequest, ArrayList jobs, boolean isUpdate) {
-		this.isUpdate = isUpdate;
-        this.searchRequest = searchRequest;
-        this.jobs = jobs;
-        isRunning = true;
-        setDialogSettings(UpdateUI.getDefault().getDialogSettings());
-        setDefaultPageImageDescriptor(UpdateUIImages.DESC_UPDATE_WIZ);
-        setForcePreviousAndNextButtons(true);
-        setNeedsProgressMonitor(true);
-        setWindowTitle(UpdateUIMessages.InstallWizard_wtitle); 
-	}
-    
-	public int getInstallCount() {
-		return installCount;
-	}
-	public boolean isRestartNeeded() {
-		return installCount > 0 && needsRestart; // or == selectedJobs.length
-	}
-
-	public boolean performCancel() {
-		isRunning = false;
-		if (targetPage != null)
-			targetPage.removeAddedSites();
-		return super.performCancel();
-	}
-	/**
-	 * @see Wizard#performFinish()
-	 */
-	public boolean performFinish() {
-		IInstallFeatureOperation[] selectedJobs = reviewPage.getSelectedJobs();
-		
-		// Check for duplication conflicts
-		ArrayList conflicts = DuplicateConflictsValidator.computeDuplicateConflicts(selectedJobs, config);
-		if (conflicts != null) {
-			DuplicateConflictsDialog dialog = new DuplicateConflictsDialog(getShell(), conflicts);
-			if (dialog.open() != 0)
-				return false;
-		}
-		
-		if (Platform.getJobManager().find(jobFamily).length > 0) {
-			// another update/install job is running, need to wait to finish or cancel old job
-			boolean proceed = MessageDialog.openQuestion(
-					UpdateUI.getActiveWorkbenchShell(),
-					UpdateUIMessages.InstallWizard_anotherJobTitle,
-					UpdateUIMessages.InstallWizard_anotherJob); 
-			if (!proceed)
-				return false; // cancel this job, and let the old one go on
-		}
-		
-		// set the install operation
-		installOperation = getBatchInstallOperation(selectedJobs);
-		if (installOperation != null)
-			launchInBackground();
-		return true;
-	}
-
-	public void addPages() {
-		reviewPage = new ReviewPage(isUpdate, searchRequest, jobs);
-		addPage(reviewPage);
-
-		try {
-//			config = UpdateUtils.createInstallConfiguration();
-			config = SiteManager.getLocalSite().getCurrentConfiguration();
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-		}
-
-		licensePage = new LicensePage(true);
-		addPage(licensePage);
-		optionalFeaturesPage = new OptionalFeaturesPage(config);
-		addPage(optionalFeaturesPage);
-		targetPage = new TargetPage(config);
-		addPage(targetPage);
-	}
-
-
-	private boolean isPageRequired(IWizardPage page) {
-		if (page == null)
-			return false;
-			
-		if (page.equals(licensePage)) {
-			return OperationsManager.hasSelectedJobsWithLicenses(
-				reviewPage.getSelectedJobs());
-		}
-		if (page.equals(optionalFeaturesPage)) {
-			return OperationsManager.hasSelectedJobsWithOptionalFeatures(
-				reviewPage.getSelectedJobs());
-		}
-		if (page.equals(targetPage)) {
-			return reviewPage.getSelectedJobs().length > 0;
-		}
-		return true;
-	}
-
-	public IWizardPage getNextPage(IWizardPage page) {
-		IWizardPage[] pages = getPages();
-		boolean start = false;
-		IWizardPage nextPage = null;
-
-		if (page.equals(reviewPage)) {
-			updateDynamicPages();
-		}
-
-		for (int i = 0; i < pages.length; i++) {
-			if (pages[i].equals(page)) {
-				start = true;
-			} else if (start) {
-				if (isPageRequired(pages[i])) {
-					nextPage = pages[i];
-					break;
-				}
-			}
-		}
-		return nextPage;
-	}
-
-	private void updateDynamicPages() {
-		if (licensePage != null) {
-			IInstallFeatureOperation[] licenseJobs =
-				OperationsManager.getSelectedJobsWithLicenses(
-					reviewPage.getSelectedJobs());
-			licensePage.setJobs(licenseJobs);
-		}
-		if (optionalFeaturesPage != null) {
-			IInstallFeatureOperation[] optionalJobs =
-				OperationsManager.getSelectedJobsWithOptionalFeatures(
-					reviewPage.getSelectedJobs());
-			optionalFeaturesPage.setJobs(optionalJobs);
-		}
-		if (targetPage != null) {
-			IInstallFeatureOperation[] installJobs =
-				reviewPage.getSelectedJobs();
-			targetPage.setJobs(installJobs);
-		}
-	}
-
-	public boolean canFinish() {
-		IWizardPage page = getContainer().getCurrentPage();
-		return page.equals(targetPage) && page.isPageComplete();
-	}
-
-	private void preserveOriginatingURLs(
-		IFeature feature,
-		IFeatureReference[] optionalFeatures) {
-		// walk the hierarchy and preserve the originating URL
-		// for all the optional features that are not chosen to
-		// be installed.
-		URL url = feature.getSite().getURL();
-		try {
-			IIncludedFeatureReference[] irefs =
-				feature.getIncludedFeatureReferences();
-			for (int i = 0; i < irefs.length; i++) {
-				IIncludedFeatureReference iref = irefs[i];
-				boolean preserve = false;
-				if (iref.isOptional()) {
-					boolean onTheList = false;
-					for (int j = 0; j < optionalFeatures.length; j++) {
-						if (optionalFeatures[j].equals(iref)) {
-							//was on the list
-							onTheList = true;
-							break;
-						}
-					}
-					if (!onTheList)
-						preserve = true;
-				}
-				if (preserve) {
-					try {
-						String id =
-							iref.getVersionedIdentifier().getIdentifier();
-						UpdateUI.setOriginatingURL(id, url);
-					} catch (CoreException e) {
-						// Silently ignore
-					}
-				} else {
-					try {
-						IFeature ifeature = iref.getFeature(null);
-						preserveOriginatingURLs(ifeature, optionalFeatures);
-					} catch (CoreException e) {
-						// Silently ignore
-					}
-				}
-			}
-		} catch (CoreException e) {
-			// Silently ignore
-		}
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.operations.IOperationListener#afterExecute(org.eclipse.update.operations.IOperation)
-	 */
-	public boolean afterExecute(IOperation operation, Object data) {
-		if (!(operation instanceof IInstallFeatureOperation))
-			return true;
-		IInstallFeatureOperation job = (IInstallFeatureOperation) operation;
-		IFeature oldFeature = job.getOldFeature();
-		if (oldFeature == null && job.getOptionalFeatures() != null)
-			preserveOriginatingURLs(
-				job.getFeature(),
-				job.getOptionalFeatures());
-
-		installCount++;
-		return true;
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.operations.IOperationListener#beforeExecute(org.eclipse.update.operations.IOperation)
-	 */
-	public boolean beforeExecute(IOperation operation, Object data) {
-		return true;
-	}
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.internal.ui.wizards.ISearchProvider2#getSearchRequest()
-	 */
-	public UpdateSearchRequest getSearchRequest() {
-		return searchRequest;
-	}
-
-	public static synchronized boolean isRunning() {
-		return isRunning || Platform.getJobManager().find(jobFamily).length > 0;
-	}
-	
-	private IBatchOperation getBatchInstallOperation(final IInstallFeatureOperation[] selectedJobs) {
-		final IVerificationListener verificationListener =new JarVerificationService(
-				//InstallWizard.this.getShell());
-				UpdateUI.getActiveWorkbenchShell());
-		
-		// setup jobs with the correct environment
-		IInstallFeatureOperation[] operations =	new IInstallFeatureOperation[selectedJobs.length];
-		for (int i = 0; i < selectedJobs.length; i++) {
-			IInstallFeatureOperation job = selectedJobs[i];
-			IFeature[] unconfiguredOptionalFeatures = null;
-			IFeatureReference[] optionalFeatures = null;
-			if (UpdateUtils.hasOptionalFeatures(job.getFeature())) {
-				optionalFeatures = optionalFeaturesPage.getCheckedOptionalFeatures(job);
-				unconfiguredOptionalFeatures = optionalFeaturesPage.getUnconfiguredOptionalFeatures(job, job.getTargetSite());
-			}
-			IInstallFeatureOperation op =
-				OperationsManager
-					.getOperationFactory()
-					.createInstallOperation(
-					job.getTargetSite(),
-					job.getFeature(),
-					optionalFeatures,
-					unconfiguredOptionalFeatures,
-					verificationListener);
-			operations[i] = op;
-		}
-		return OperationsManager.getOperationFactory().createBatchInstallOperation(operations);
-	}
-
-
-
-	private void launchInBackground() {
-		// Downloads the feature content in the background.
-		// The job listener will then install the feature when download is finished.
-		
-		// TODO: should we cancel existing jobs?
-		if (jobListener != null)
-			Platform.getJobManager().removeJobChangeListener(jobListener);
-		if (job != null)
-			Platform.getJobManager().cancel(job);
-		jobListener = new UpdateJobChangeListener();
-		Platform.getJobManager().addJobChangeListener(jobListener);
-		
-		job = new Job(UpdateUIMessages.InstallWizard_jobName) { 
-			public IStatus run(IProgressMonitor monitor) {
-				if (download(monitor))
-					return Status.OK_STATUS;
-				else {
-					isRunning = false;
-					return Status.CANCEL_STATUS;
-				}
-			}
-			public boolean belongsTo(Object family) {
-				return InstallWizard2.jobFamily == family;
-			}
-		};
-
-		job.setUser(true);
-		job.setPriority(Job.INTERACTIVE);
-//		if (wait) {
-//			progressService.showInDialog(workbench.getActiveWorkbenchWindow().getShell(), job); 
-//		}
-		job.schedule();
-	}
-	
-	private void install(IProgressMonitor monitor) {
-		// Installs the (already downloaded) features and prompts for restart
-		try {
-			needsRestart = installOperation.execute(monitor, InstallWizard2.this);
-			UpdateUI.getStandardDisplay().asyncExec(new Runnable() {
-				public void run() {
-					UpdateUI.requestRestart(InstallWizard2.this.isRestartNeeded());
-				}
-			});
-		} catch (final InvocationTargetException e) {
-			final Throwable targetException = e.getTargetException();
-			if (!(targetException instanceof InstallAbortedException)){
-				UpdateUI.getStandardDisplay().syncExec(new Runnable() {
-					public void run() {
-						UpdateUI.logException(targetException);
-					}
-				});
-			}
-		} catch (CoreException e) {
-		} finally {
-			isRunning = false;
-		}
-	}
-	
-	private boolean download(final IProgressMonitor monitor) {
-		// Downloads the feature content.
-		// This method is called from a background job.
-		// If download fails, the user is prompted to retry.
-		try {
-			IFeatureOperation[] ops = installOperation.getOperations();
-			monitor.beginTask(UpdateUIMessages.InstallWizard_download, 3*ops.length);
-			for (int i=0; i<ops.length; i++) {
-				IInstallFeatureOperation op = (IInstallFeatureOperation)ops[i];
-				SubProgressMonitor subMonitor = new SubProgressMonitor(monitor, 3);
-				try {
-					UpdateUtils.downloadFeatureContent(op.getTargetSite(), op.getFeature(), op.getOptionalFeatures(), subMonitor);
-				} catch (final CoreException e) {
-					if(e instanceof FeatureDownloadException){
-						boolean retry = retryDownload((FeatureDownloadException)e);
-						if (retry) {
-							// redownload current feature
-							i--;
-							continue;
-						}
-					} else {
-						UpdateCore.log(e);
-					}
-					return false;
-				}
-			}
-			return true;
-		} finally {
-			monitor.done();
-		}
-	}
-	
-	private boolean retryDownload(final FeatureDownloadException e) {
-
-		final boolean retry[] = new boolean[1];
-		UpdateUI.getStandardDisplay().syncExec(new Runnable() {
-			public void run() {
-				retry[0] =	MessageDialog.openQuestion(
-					UpdateUI.getActiveWorkbenchShell(),
-					UpdateUIMessages.InstallWizard_retryTitle, 
-					e.getMessage()+"\n" //$NON-NLS-1$
-						+ UpdateUIMessages.InstallWizard_retry); 
-			}
-		});
-		return retry[0];
-	}
-    
-
-    private class UpdateJobChangeListener extends JobChangeAdapter {
-        public void done(final IJobChangeEvent event) {
-            // the job listener is triggered when the download job is done, and it proceeds
-            // with the actual install
-            if (event.getJob() == InstallWizard2.this.job && event.getResult() == Status.OK_STATUS) {
-                Platform.getJobManager().removeJobChangeListener(this);
-                Platform.getJobManager().cancel(job);
-                
-                final IProgressService progressService= PlatformUI.getWorkbench().getProgressService();
-                UpdateUI.getStandardDisplay().asyncExec(new Runnable() {
-                    public void run() {
-                        try {
-                            progressService.busyCursorWhile( new IRunnableWithProgress() {
-                                public void run(final IProgressMonitor monitor){
-                                    install(monitor);
-                                }
-                            });
-                        } catch (InvocationTargetException e) {
-                            UpdateUI.logException(e);
-                        } catch (InterruptedException e) {
-                            UpdateUI.logException(e, false);
-                        }
-                    }
-                }); 
-            } else if (event.getJob() == InstallWizard2.this.job && event.getResult() != Status.OK_STATUS) {
-                isRunning = false;
-                Platform.getJobManager().removeJobChangeListener(this);
-                Platform.getJobManager().cancel(job);
-                UpdateUI.getStandardDisplay().syncExec(new Runnable() {
-                    public void run() {
-                        UpdateUI.log(event.getResult(), true);
-                    }
-                });
-            }
-        }
-    }
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardOperation.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardOperation.java
deleted file mode 100644
index ab41a87..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/InstallWizardOperation.java
+++ /dev/null
@@ -1,83 +0,0 @@
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.core.runtime.Platform;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.*;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.WizardDialog;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.ui.UpdateJob;
-
-public class InstallWizardOperation {
-	private UpdateJob job;
-	private IJobChangeListener jobListener;
-	private Shell shell;
-
-	public InstallWizardOperation() {
-	}
-
-	public void run(Shell parent, UpdateJob task) {
-		shell = parent;
-		// cancel any existing jobs and remove listeners
-		if (jobListener != null)
-			Platform.getJobManager().removeJobChangeListener(jobListener);
-		if (job != null)
-			Platform.getJobManager().cancel(job);
-		
-		// then setup the new job and listener and schedule the job
-		job = task;
-		jobListener = new UpdateJobChangeListener();
-		Platform.getJobManager().addJobChangeListener(jobListener);
-		job.schedule();
-	}
-
-	private class UpdateJobChangeListener extends JobChangeAdapter {
-		public void done(final IJobChangeEvent event) {
-			// the job listener is triggered when the search job is done, and proceeds to next wizard
-			if (event.getJob() == job) {
-				Platform.getJobManager().removeJobChangeListener(this);
-				Platform.getJobManager().cancel(job);
-				if (job.getStatus() == Status.CANCEL_STATUS)
-					return;
-				if (job.getStatus() != Status.OK_STATUS)
-					shell.getDisplay().syncExec(new Runnable() {
-						public void run() {
-							UpdateUI.log(job.getStatus(), true);
-						}
-					});
-
-				shell.getDisplay().asyncExec(new Runnable() {
-					public void run() {
-						shell.getDisplay().beep();
-						BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-							public void run() {
-								openInstallWizard2();
-							}
-						});
-					}
-				});
-			}
-		}
-
-		private void openInstallWizard2() {
-			if (InstallWizard2.isRunning()) {
-				MessageDialog.openInformation(shell, UpdateUIMessages.InstallWizard_isRunningTitle, UpdateUIMessages.InstallWizard_isRunningInfo);
-				return;
-			}
-            if (job.getUpdates() == null || job.getUpdates().length == 0) {
-                if (job.isUpdate())
-                    MessageDialog.openInformation(shell, UpdateUIMessages.InstallWizard_ReviewPage_zeroUpdates, UpdateUIMessages.InstallWizard_ReviewPage_zeroUpdates); 
-                else
-                    MessageDialog.openInformation(shell, UpdateUIMessages.InstallWizard_ReviewPage_zeroFeatures, UpdateUIMessages.InstallWizard_ReviewPage_zeroFeatures); 
-                return;
-            }
-			InstallWizard2 wizard = new InstallWizard2(job.getSearchRequest(), job.getUpdates(), job.isUpdate());
-			WizardDialog dialog = new ResizableInstallWizardDialog(shell, wizard, UpdateUIMessages.AutomaticUpdatesJob_Updates); 
-			dialog.create();
-			dialog.open();
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java
deleted file mode 100644
index 1bf3ee7..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LicensePage.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2004 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.wizards;

-import org.eclipse.jface.dialogs.Dialog;

-import org.eclipse.jface.wizard.WizardPage;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Table;

-import org.eclipse.swt.widgets.TableItem;

-import org.eclipse.swt.widgets.Text;

-import org.eclipse.ui.*;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.internal.ui.UpdateUI;

-import org.eclipse.update.internal.ui.UpdateUIImages;

-import org.eclipse.update.internal.ui.UpdateUIMessages;

-import org.eclipse.update.operations.IInstallFeatureOperation;

-

-public class LicensePage extends WizardPage implements IDynamicPage {

-	private boolean multiLicenseMode = false;

-	private IInstallFeatureOperation[] jobs;

-	private IInstallFeatureOperation[] oldjJobs;

-	private Text text;

-	private Table table;

-	private Button acceptButton;

-	private Button declineButton;

-

-	/**

-	 * Constructor for LicensePage2

-	 */

-	public LicensePage(boolean multiLicenseMode) {

-		super("License"); //$NON-NLS-1$

-		setTitle(UpdateUIMessages.InstallWizard_LicensePage_title);

-		setPageComplete(false);

-		this.multiLicenseMode = multiLicenseMode;

-		UpdateUI.getDefault().getLabelProvider().connect(this);

-		setDescription(multiLicenseMode ?UpdateUIMessages.InstallWizard_LicensePage_desc2 : 

-            UpdateUIMessages.InstallWizard_LicensePage_desc);

-	}

-	public void dispose() {

-		UpdateUI.getDefault().getLabelProvider().disconnect(this);

-		super.dispose();

-	}

-

-	public LicensePage(IInstallFeatureOperation job) {

-		this(false);

-		setJobs(new IInstallFeatureOperation[] { job });

-	}

-

-	public void setJobs(IInstallFeatureOperation[] jobs) {		

-		this.jobs = jobs;		

-	}

-

-	public void createControl(Composite parent) {

-		Composite client = new Composite(parent, SWT.NULL);

-		client.setLayoutData(new GridData(GridData.FILL_BOTH));

-		GridLayout layout = new GridLayout();

-		client.setLayout(layout);

-		

-        PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.LicensePage2"); //$NON-NLS-1$

-

-		if (multiLicenseMode) {

-			layout.numColumns = 3;

-			layout.makeColumnsEqualWidth = true;

-

-			table = new Table(client, SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL);

-

-			table.addSelectionListener(new SelectionAdapter() {

-				public void widgetSelected(SelectionEvent e) {

-					if (e.item != null) {

-						Object data = e.item.getData();

-						text.setText((data == null) ? "" : (String) data); //$NON-NLS-1$

-					}

-				}

-			});

-			table.setLayoutData(new GridData(GridData.FILL_BOTH));

-		}

-		text =

-			new Text(

-				client,

-				SWT.MULTI | SWT.BORDER | SWT.V_SCROLL | SWT.H_SCROLL | SWT.READ_ONLY);

-

-		GridData gd = new GridData(GridData.FILL_BOTH);

-		if (multiLicenseMode)

-			gd.horizontalSpan = 2;

-		text.setLayoutData(gd);

-		text.setBackground(text.getDisplay().getSystemColor(SWT.COLOR_LIST_BACKGROUND));

-

-		Composite buttonContainer = new Composite(client, SWT.NULL);

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);

-		if (multiLicenseMode)

-			gd.horizontalSpan = 3;

-		buttonContainer.setLayout(new GridLayout());

-		buttonContainer.setLayoutData(gd);

-

-		acceptButton = new Button(buttonContainer, SWT.RADIO);

-		acceptButton.setText(multiLicenseMode?UpdateUIMessages.InstallWizard_LicensePage_accept

-                : UpdateUIMessages.InstallWizard_LicensePage_accept);

-		acceptButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				setPageComplete(acceptButton.getSelection());

-			}

-		});

-		declineButton = new Button(buttonContainer, SWT.RADIO);

-		declineButton.setText(multiLicenseMode?UpdateUIMessages.InstallWizard_LicensePage_decline2

-                : UpdateUIMessages.InstallWizard_LicensePage_decline);

-		declineButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				setPageComplete(acceptButton.getSelection());

-			}

-		});

-		setControl(client);

-

-		Dialog.applyDialogFont(parent);

-	}

-

-	public void setVisible(boolean visible) { // TO DO: Optimize out the case where a feature does not have a license?

-

-		boolean jobsChanged = didJobsChange(jobs);

-		declineButton.setSelection(!jobsChanged && declineButton.getSelection());

-		acceptButton.setSelection(!jobsChanged && acceptButton.getSelection());

-		

-		if (visible) {

-			if (multiLicenseMode) {

-				TableItem item;

-				for (int i = 0; i < jobs.length; i++) {

-					IFeature feature = jobs[i].getFeature();

-					item = new TableItem(table, SWT.NONE);

-					String label =

-						feature.getLabel()

-							+ " " //$NON-NLS-1$

-							+ feature.getVersionedIdentifier().getVersion().toString();

-					item.setText(label);

-					item.setImage(

-						UpdateUI.getDefault().getLabelProvider().get(

-							feature.isPatch()

-								? UpdateUIImages.DESC_EFIX_OBJ

-								: UpdateUIImages.DESC_FEATURE_OBJ));

-					String license = feature.getLicense().getAnnotation();

-					// Question: Can this ever be null? What is the runtime cost?

-					item.setData(license);

-				}

-

-				table.setSelection(0);

-			}

-			showLicenseText();

-		} else {

-			if (multiLicenseMode) {

-				TableItem items[] = table.getItems();

-				for (int i = items.length - 1; i >= 0; i--) {

-					table.getItem(i).dispose();

-				}

-			}

-		}

-		super.setVisible(visible);

-		oldjJobs = jobs;

-		

-	}

-

-	private void showLicenseText() {

-		if (!multiLicenseMode) {

-			text.setText(jobs[0].getFeature().getLicense().getAnnotation());

-			return;

-		}

-		TableItem[] selectedItems = table.getSelection();

-		if (selectedItems.length == 0) {

-			text.setText(""); //$NON-NLS-1$

-		} else {

-			Object data = selectedItems[0].getData();

-			text.setText((data == null) ? "" : (String) data); //$NON-NLS-1$

-		}

-	}

-	

-	private boolean didJobsChange(IInstallFeatureOperation[] jobs){

-		

-		if ( (jobs == null) || (oldjJobs == null) || (jobs.length == 0) || (oldjJobs.length == 0) )

-			return true;

-				

-		boolean foundIt = false;

-		

-		for ( int i = 0; i < jobs.length; i++) {

-			foundIt = false;

-			for ( int j = 0; j < oldjJobs.length; j++) {

-				if (jobs[i].getFeature().getVersionedIdentifier().equals(oldjJobs[j].getFeature().getVersionedIdentifier()) ) {

-					foundIt = true;

-					break;

-				}

-			}

-			if (!foundIt) {

-				return true;

-			}

-		}

-		return false;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LocalSiteSelector.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LocalSiteSelector.java
deleted file mode 100644
index cb263b8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/LocalSiteSelector.java
+++ /dev/null
@@ -1,264 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.io.File;
-import java.io.IOException;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.Enumeration;
-import java.util.zip.ZipEntry;
-import java.util.zip.ZipFile;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.DirectoryDialog;
-import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.model.SiteBookmark;
-
-/**
- */
-public class LocalSiteSelector {
-
-	/**
-	 * 
-	 */
-	static String lastLocation = null;
-	public LocalSiteSelector() {
-		super();
-	}
-	public static SiteBookmark getLocaLSite(Shell parent, SiteBookmark[] siteBookmarks) {
-		DirectoryDialog dialog = new DirectoryDialog(parent);
-		dialog.setMessage(
-			UpdateUIMessages.LocalSiteSelector_dialogMessage); 
-		dialog.setFilterPath(lastLocation);
-		String dir = dialog.open();
-
-		SiteBookmark siteBookmark = null;
-		while (dir != null && siteBookmark == null) {
-			File dirFile = new File(dir);
-			if (isDirSite(dirFile)) {
-				if (!isDuplicate( dirFile, siteBookmarks)) {
-					siteBookmark = createDirSite(dirFile);
-					lastLocation = dir;
-				} else {
-					MessageDialog.openInformation(parent,
-												  UpdateUIMessages.LocalSiteSelector_dirInfoTitle, 
-												  UpdateUIMessages.LocalSiteSelector_dirDuplicateDefinition); 
-					dialog.setFilterPath(dir);
-					dir = dialog.open();
-				}
-			} else {
-				MessageDialog.openInformation(
-					parent,
-					UpdateUIMessages.LocalSiteSelector_dirInfoTitle, 
-					UpdateUIMessages.LocalSiteSelector_dirInfoMessage); 
-				dialog.setFilterPath(dir);
-				dir = dialog.open();
-			}
-		}
-		return siteBookmark;
-	}
-	public static SiteBookmark getLocaLZippedSite(Shell parent, SiteBookmark[] siteBookmarks) {
-		FileDialog dialog = new FileDialog(parent);
-		dialog.setText(
-			UpdateUIMessages.LocalSiteSelector_dialogMessagezip); 
-		//dialog.setFilterExtensions(new String[] { "*.zip", "*.jar" });
-		// //$NON-NLS-1$
-		dialog.setFilterExtensions(new String[] { "*.jar;*.zip" }); //$NON-NLS-1$
-
-		SiteBookmark siteBookmark = null;
-
-		String zip = dialog.open();
-		while (zip != null && siteBookmark == null) {
-			File zipF = new File(zip);
-			if (isZipSite(zipF)) {
-				siteBookmark = createZipSite(zipF);
-				if (isDuplicate( siteBookmark.getURL(), siteBookmarks)) {
-					MessageDialog.openInformation(parent,
-							  UpdateUIMessages.LocalSiteSelector_zipInfoTitle, 
-							  UpdateUIMessages.LocalSiteSelector_zipDuplicateDefinition);
-					siteBookmark = null;
-					zip = dialog.open();
-				}
-			} else {
-				MessageDialog.openInformation(
-					parent,
-					UpdateUIMessages.LocalSiteSelector_zipInfoTitle, 
-					UpdateUIMessages.LocalSiteSelector_zipInfoMessage); 
-				zip = dialog.open();
-			}
-		}
-		return siteBookmark;
-	}
-	/**
-	 * Returns true the zip file contains an update site
-	 * 
-	 * @param file
-	 * @return
-	 */
-	static boolean isZipSite(File file) {
-		if (!file.getName().toLowerCase().endsWith(".zip") //$NON-NLS-1$
-			&& !file.getName().toLowerCase().endsWith(".jar")) { //$NON-NLS-1$
-			return false;
-		}
-
-		ZippedSiteValidator validator = new ZippedSiteValidator(file);
-		BusyIndicator.showWhile(
-			UpdateUI.getActiveWorkbenchShell().getDisplay(),
-			validator);
-		return validator.isValid();
-	}
-
-	/**
-	 * Returns true if the specified dir contains an update site
-	 * 
-	 * @param dir
-	 * @return
-	 */
-	static boolean isDirSite(File dir) {
-		File siteXML = new File(dir, "site.xml"); //$NON-NLS-1$
-		File featuresDir = new File(dir, "features"); //$NON-NLS-1$
-		File pluginsDir = new File(dir, "plugins"); //$NON-NLS-1$
-		return siteXML.exists()
-			|| featuresDir.exists()
-			&& featuresDir.isDirectory()
-			&& pluginsDir.exists()
-			&& pluginsDir.isDirectory();
-	}
-
-	/**
-	 * Creates a bookmark to a zipped site
-	 * 
-	 * @param file
-	 * @return
-	 */
-	static SiteBookmark createZipSite(File file) {
-		try {
-			URL fileURL = new URL("file", null, file.getAbsolutePath()); //$NON-NLS-1$
-			URL url =
-				new URL(
-					"jar:" //$NON-NLS-1$
-						+ fileURL.toExternalForm().replace('\\', '/')
-						+ "!/"); //$NON-NLS-1$
-			SiteBookmark site = new SiteBookmark(file.getName(), url, false);
-			site.setLocal(true);
-			return site;
-		} catch (Exception e) {
-			return null;
-		}
-	}
-
-	/**
-	 * Creates a bookmark to a site on the file system
-	 * 
-	 * @param file
-	 * @return
-	 */
-	static SiteBookmark createDirSite(File file) {
-		try {
-			URL url = file.toURL();
-			String parent = file.getParent();
-			if(parent == null)
-				parent = ""; //$NON-NLS-1$
-			else
-				parent = new File(parent).getName();
-			String siteName = parent + "/" + file.getName(); //$NON-NLS-1$
-			SiteBookmark site = new SiteBookmark(siteName, url, false);
-			site.setLocal(true);
-			return site;
-		} catch (Exception e) {
-			return null;
-		}
-	}
-	static class ZippedSiteValidator implements Runnable {
-		File file;
-		boolean valid = false;
-		public ZippedSiteValidator(File file) {
-			this.file = file;
-		}
-		public void run() {
-			ZipFile siteZip = null;
-			try {
-				// check if the zip file contains site.xml
-				siteZip = new ZipFile(file);
-				if (siteZip.getEntry("site.xml") != null) { //$NON-NLS-1$
-					valid = true;
-					return;
-				}
-
-				boolean hasFeatures = false;
-				boolean hasPlugins = false;
-				for (Enumeration iterator = siteZip.entries();
-					iterator.hasMoreElements();
-					) {
-					ZipEntry zEntry = (ZipEntry) iterator.nextElement();
-					if (!hasFeatures
-						&& zEntry.getName().startsWith("features")) { //$NON-NLS-1$
-						hasFeatures = true;
-					}
-					if (!hasPlugins
-						&& zEntry.getName().startsWith("plugins")) { //$NON-NLS-1$
-						hasPlugins = true;
-					}
-					if (hasFeatures && hasPlugins) {
-						valid = true;
-						return;
-					}
-				}
-			} catch (Exception e) {
-			} finally {
-				try {
-					if (siteZip != null) {
-						siteZip.close();
-					}
-				} catch (IOException ioe) {
-				}
-			}
-
-		}
-		/**
-		 * @return Returns the valid. */
-		public boolean isValid() {
-			return valid;
-		}
-	}
-	
-	private static boolean isDuplicate( File file, SiteBookmark[] siteBookmarks) {
-		
-		try {
-			return isDuplicate(file.toURL(), siteBookmarks);
-		} catch (MalformedURLException mue) {
-			// this should not ever happen
-			UpdateUI.logException(mue);
-		}
-		
-		return false;
-	}
-	
-	private static boolean isDuplicate( URL url, SiteBookmark[] siteBookmarks) {
-		
-		if ( siteBookmarks == null)
-			return false;
-
-		for( int i = 0; i < siteBookmarks.length; i++) {
-			if (siteBookmarks[i].getURL().equals(url))
-				return true;
-
-		}
-		return false;
-		
-	}	
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java
deleted file mode 100644
index d7035fd..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/MirrorsDialog.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.ui.*;
-
-
-public class MirrorsDialog extends Dialog {
-	//private ISiteWithMirrors site;
-	private String siteName;
-	private IURLEntry[] mirrors;
-	private List mirrorsList;
-	private IURLEntry mirrorSelected;
-	//private Button okButton;
-	/**
-	 * @param parentShell
-	 */
-	public MirrorsDialog(Shell parentShell, ISiteWithMirrors site, String siteName) {
-		super(parentShell);
-		//this.site = site;
-		this.siteName = siteName;
-		try {
-			this.mirrors = site.getMirrorSiteEntries();
-		} catch (CoreException e) {
-			// ignore, as the mirrors have already been queried earlier, so we don't expect error here
-		}
-	}
-	
-	protected void createButtonsForButtonBar(Composite parent) {
-		createButton(
-				parent,
-				IDialogConstants.OK_ID,
-				IDialogConstants.OK_LABEL,
-				true);
-		createButton(
-			parent,
-			IDialogConstants.CANCEL_ID,
-			IDialogConstants.CANCEL_LABEL,
-			false);
-	}
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginHeight = 10;
-		layout.marginWidth = 10;
-		layout.verticalSpacing = 10;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.widthHint = 450;
-		data.heightHint = 300;
-		composite.setLayoutData(data);
-		
-		Text text = new Text(composite, SWT.WRAP );
-		data = new GridData(GridData.FILL_HORIZONTAL);
-		data.horizontalSpan = 2;
-		text.setLayoutData(data);
-		text.setText(NLS.bind(UpdateUIMessages.MirrorsDialog_text, siteName));
-		text.setBackground(parent.getBackground());
-		text.setEditable(false);
-		// the text should not receive focus
-		text.addFocusListener(new FocusAdapter() {
-			public void focusGained(FocusEvent e) {
-				mirrorsList.setFocus();
-			}
-		});
-		
-		mirrorsList = new List(composite, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
-		data = new GridData(GridData.FILL_BOTH);
-		data.horizontalSpan = 2;
-		mirrorsList.setLayoutData(data);
-		
-		mirrorsList.add(siteName);
-		for (int i=0; i<mirrors.length; i++)
-			mirrorsList.add(mirrors[i].getAnnotation());
-
-		mirrorsList.select(0);
-		
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-		
-	protected void okPressed() {
-		int i = mirrorsList.getSelectionIndex();
-		// first entry is the site itself
-		if (i > 0)
-			mirrorSelected = mirrors[i-1];
-		super.okPressed();
-	}
-	
-	public IURLEntry getMirror() {
-		return mirrorSelected;
-	}
-
-   protected void configureShell(Shell shell) {
-       super.configureShell(shell);
-       shell.setText(UpdateUIMessages.MirrorsDialog_title);
-    }
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
deleted file mode 100644
index b477f54..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ModeSelectionPage.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogSettings;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.update.internal.operations.UpdateUtils;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.search.UpdateSearchRequest;
-
-/**
- */
-public class ModeSelectionPage extends BannerPage implements ISearchProvider {
-	private boolean updateMode=true;
-	private Button updatesButton;
-	private Button newFeaturesButton;
-	private UpdateSearchRequest searchRequest;
-	private static final String SECTION_ID = "ModeSelectionPage"; //$NON-NLS-1$
-	private static final String P_NEW_FEATURES_MODE = "new-features-mode"; //$NON-NLS-1$
-	
-	public ModeSelectionPage(UpdateSearchRequest searchRequest) {
-		super("modeSelection"); //$NON-NLS-1$
-		setTitle(UpdateUIMessages.ModeSelectionPage_title); 
-		setDescription(UpdateUIMessages.ModeSelectionPage_desc); 
-		this.searchRequest = searchRequest;
-	}
-	
-	public UpdateSearchRequest getSearchRequest() {
-		initializeSearch();
-		return searchRequest;
-	}
-	
-	private IDialogSettings getSettings() {
-		IDialogSettings master = UpdateUI.getDefault().getDialogSettings();
-		IDialogSettings section = master.getSection(SECTION_ID);
-		if (section==null)
-			section = master.addNewSection(SECTION_ID);
-		return section;
-	}
-
-	private void initializeSearch() {
-		if (searchRequest!=null) return;
-		searchRequest = UpdateUtils.createNewUpdatesRequest(null);
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.update.internal.ui.wizards.BannerPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		composite.setLayout(layout);
-		updatesButton = new Button(composite, SWT.RADIO);
-		updatesButton.setText(UpdateUIMessages.ModeSelectionPage_updates); 
-		updateMode = !getSettings().getBoolean(P_NEW_FEATURES_MODE);
-		updatesButton.setSelection(updateMode);
-		
-		final Label updatesText = new Label(composite, SWT.WRAP);
-		updatesText.setText(UpdateUIMessages.ModeSelectionPage_updatesText);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 100;
-		updatesText.setLayoutData(gd);
-		
-		updatesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateMode = true;
-                getWizard().getContainer().updateButtons();
-			}
-		});
-		// spacer
-		new Label(composite, SWT.NULL);
-		newFeaturesButton = new Button(composite, SWT.RADIO);
-		newFeaturesButton.setSelection(!updateMode);
-		newFeaturesButton.setText(UpdateUIMessages.ModeSelectionPage_newFeatures); 
-		newFeaturesButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				updateMode = false;
-                getWizard().getContainer().updateButtons();
-			}
-		});		
-
-		final Label newFeaturesText = new Label(composite, SWT.WRAP);
-		newFeaturesText.setText(UpdateUIMessages.ModeSelectionPage_newFeaturesText);
-		gd = new GridData(GridData.FILL_HORIZONTAL);
-		gd.widthHint = 100;
-		newFeaturesText.setLayoutData(gd);
-
-		/*
-		composite.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				Composite parent = (Composite)e.widget;
-				Rectangle carea = parent.getClientArea();
-				GridData gd = (GridData)updatesText.getLayoutData();
-				gd.widthHint = carea.width; 
-				gd = (GridData)newFeaturesText.getLayoutData();
-				gd.widthHint = carea.width; 
-			}
-		});
-		*/
-		
-		Dialog.applyDialogFont(parent);
-		
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(composite, "org.eclipse.update.ui.ModeSelectionPage"); //$NON-NLS-1$
-
-		return composite;
-	}
-	
-	public void saveSettings() {
-		boolean updateMode = updatesButton.getSelection();
-		getSettings().put(P_NEW_FEATURES_MODE, !updateMode);
-	}
-	
-	public boolean isUpdateMode() {
-		return updateMode;
-	}
-
-	public boolean isPageComplete() {
-		return updateMode && super.isPageComplete();
-	}
-
-	protected boolean isCurrentPage() {
-		return super.isCurrentPage();
-	}
-
-	public boolean canFlipToNextPage() {
-		return !updateMode;
-	}
-	
-	
-    
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdateSiteDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdateSiteDialog.java
deleted file mode 100644
index f4c7650..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewUpdateSiteDialog.java
+++ /dev/null
@@ -1,216 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLDecoder;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.IDialogConstants;
-import org.eclipse.jface.dialogs.StatusDialog;
-import org.eclipse.osgi.util.NLS;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ModifyEvent;
-import org.eclipse.swt.events.ModifyListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.model.SiteBookmark;
-import org.eclipse.update.internal.ui.model.UpdateModel;
-
-
-public class NewUpdateSiteDialog extends StatusDialog {
-	
-	protected Text name;
-	protected Text url;
-	private Button okButton;
-	private boolean enableOK = false;
-	private SiteBookmark[] siteBookmarks;
-	/**
-	 * @param parentShell
-	 */
-	public NewUpdateSiteDialog(Shell parentShell) {
-		super(parentShell);
-		enableOK = false;
-	}
-	
-	public NewUpdateSiteDialog(Shell parentShell, SiteBookmark[] siteBookmarks) {
-		
-		this(parentShell);		
-		this.siteBookmarks = siteBookmarks;
-	}
-	
-	public NewUpdateSiteDialog(Shell parentShell, boolean enableOkButtons) {
-		super(parentShell);
-		enableOK = enableOkButtons;
-	}
-	
-	public NewUpdateSiteDialog(Shell parentShell, boolean enableOkButtons, SiteBookmark[] siteBookmarks) {
-		this(parentShell, enableOkButtons);
-		this.siteBookmarks = siteBookmarks;
-	}
-	
-	protected void createButtonsForButtonBar(Composite parent) {
-		
-		//super.createButtonBar(parent);
-		okButton = createButton(
-				parent,
-				IDialogConstants.OK_ID,
-				IDialogConstants.OK_LABEL,
-				true);
-		createButton(
-			parent,
-			IDialogConstants.CANCEL_ID,
-			IDialogConstants.CANCEL_LABEL,
-			false);
-		
-		okButton.setEnabled(enableOK);
-		
-	}
-	
-	protected Control createDialogArea(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		composite.setLayout(layout);
-		GridData data = new GridData();
-		data.widthHint = 350;
-		composite.setLayoutData(data);
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(UpdateUIMessages.NewUpdateSiteDialog_name); 
-		
-		name = new Text(composite, SWT.BORDER);
-		name.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		name.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				verifyComplete();
-			}
-		});
-		
-		label = new Label(composite, SWT.NONE);
-		label.setText(UpdateUIMessages.NewUpdateSiteDialog_url); 
-		
-		url = new Text(composite, SWT.BORDER);
-		url.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
-		url.addModifyListener(new ModifyListener() {
-			public void modifyText(ModifyEvent e) {
-				verifyComplete();
-			}
-		});
-		
-		initializeFields();
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-	
-	protected void initializeFields() {
-		url.setText("http://"); //$NON-NLS-1$
-	}
-	
-	protected void okPressed() {
-		update();
-		super.okPressed();
-	}
-
-	protected void update() {
-		try {
-			UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-			SiteBookmark bookmark = new SiteBookmark(name.getText(), new URL(url.getText()), false);
-            bookmark.setSelected(true);
-			model.addBookmark(bookmark);
-			model.saveBookmarks();
-		} catch (MalformedURLException e) {
-		}
-	}
-	
-	private void verifyComplete() {
-			
-		if (okButton == null) {
-			return;		
-		}
-		
-		if (name.getText().trim().length() == 0 || url.getText().trim().length() == 0) {
-			okButton.setEnabled(false);
-			this.updateStatus( new Status(IStatus.ERROR, UpdateUI.getPluginId(), IStatus.OK, UpdateUIMessages.NewUpdateSiteDialog_error_nameOrUrlNotSpecified, null)); 
-			return;
-		}
-	
-		try {
-			URL newURL = new URL(URLDecoder.decode(url.getText().trim(), "UTF-8")); //$NON-NLS-1$
-			if (url.getEditable()) {
-				okButton.setEnabled(!newURL.getProtocol().equals("file")); //$NON-NLS-1$
-				if (newURL.getProtocol().equals("file")) { //$NON-NLS-1$
-					okButton.setEnabled(false);
-					this.updateStatus( new Status(IStatus.ERROR, UpdateUI.getPluginId(), IStatus.OK, UpdateUIMessages.NewUpdateSiteDialog_error_incorrectUrl, null)); 
-					return;
-				}
-			}
-		} catch (Exception e) {
-			okButton.setEnabled(false);
-			this.updateStatus( new Status(IStatus.ERROR, UpdateUI.getPluginId(), IStatus.OK, UpdateUIMessages.NewUpdateSiteDialog_error_incorrectUrl, null)); 
-			return;
-		}
-		
-		if (isDuplicate()) {
-			return;
-		} else {
-			okButton.setEnabled(true);
-			this.updateStatus( new Status(IStatus.OK, UpdateUI.getPluginId(), IStatus.OK, "", null));  //$NON-NLS-1$
-		}
-		
-		
-	}
-	
-	private boolean isDuplicate() {
-		
-		if ( siteBookmarks == null)
-			return false;
-		
-		for( int i = 0; i < this.siteBookmarks.length; i++) {
-			if ( !isCurrentlyEditedSiteBookmark(i)) {
-				if (siteBookmarks[i].getLabel().equals(name.getText().trim())) {
-					okButton.setEnabled(false);
-					this.updateStatus( new Status(IStatus.ERROR, UpdateUI.getPluginId(), IStatus.OK, UpdateUIMessages.NewUpdateSiteDialog_error_duplicateName, null)); 
-					return true;
-				} else if (siteBookmarks[i].getURL().toString().trim().equals(url.getText().trim())) {
-					okButton.setEnabled(false);
-					this.updateStatus( new Status(IStatus.ERROR, UpdateUI.getPluginId(), IStatus.OK, NLS.bind(UpdateUIMessages.NewUpdateSiteDialog_error_duplicateUrl, siteBookmarks[i].getLabel()), null)); 
-					return true;
-				}
-			}
-		}
-		return false;
-	}
-	
-	protected boolean isCurrentlyEditedSiteBookmark( int index) {
-		return false;
-	}
-	
-	
-	protected void updateButtonsEnableState(IStatus status) {
-		if (okButton != null && !okButton.isDisposed())
-			okButton.setEnabled(!status.matches(IStatus.ERROR));
-	}
-	
-
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewWebSiteDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewWebSiteDialog.java
deleted file mode 100644
index a2617b9..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/NewWebSiteDialog.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.net.*;
-
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-
-
-public class NewWebSiteDialog extends NewUpdateSiteDialog {
-
-	public NewWebSiteDialog(Shell parentShell) {
-		super(parentShell);
-	}
-	
-	protected void update() {
-		try {
-			UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-			SiteBookmark bookmark = new SiteBookmark(name.getText(), new URL(url.getText()), true);
-			model.addBookmark(bookmark);
-		} catch (MalformedURLException e) {
-		}
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/OptionalFeaturesPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/OptionalFeaturesPage.java
deleted file mode 100644
index ca3572a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/OptionalFeaturesPage.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-import java.util.ArrayList;
-import java.util.HashSet;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.update.configuration.IConfiguredSite;
-import org.eclipse.update.configuration.IInstallConfiguration;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.IFeatureReference;
-import org.eclipse.update.internal.operations.FeatureHierarchyElement;
-import org.eclipse.update.internal.operations.JobRoot;
-import org.eclipse.update.internal.operations.UpdateUtils;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIImages;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.parts.DefaultContentProvider;
-import org.eclipse.update.internal.ui.parts.SWTUtil;
-import org.eclipse.update.operations.IInstallFeatureOperation;
-
-public class OptionalFeaturesPage extends BannerPage implements IDynamicPage {
-	private CheckboxTreeViewer treeViewer;
-	private Button selectAllButton;
-	private Button deselectAllButton;
-	private IInstallConfiguration config;
-	private JobRoot[] jobRoots;
-
-	class TreeContentProvider
-		extends DefaultContentProvider
-		implements ITreeContentProvider {
-
-		public Object[] getChildren(Object parent) {
-			if (parent instanceof JobRoot) {
-				return ((JobRoot) parent).getElements();
-			}
-			if (parent instanceof FeatureHierarchyElement) {
-				FeatureHierarchyElement fe = (FeatureHierarchyElement) parent;
-				Object root = fe.getRoot();
-				boolean oldFeature = false;
-				if (root instanceof JobRoot) {
-					IInstallFeatureOperation job = ((JobRoot)root).getJob();
-					boolean patch = UpdateUtils.isPatch(job.getFeature());
-					oldFeature = job.getOldFeature() != null;
-					return fe.getChildren(oldFeature, patch, config);
-				}
-			}
-			return new Object[0];
-		}
-
-		public Object getParent(Object child) {
-			return null;
-		}
-
-		public boolean hasChildren(Object parent) {
-			return getChildren(parent).length > 0;
-		}
-
-		public Object[] getElements(Object input) {
-			if (jobRoots == null)
-				return new Object[0];
-			return jobRoots;
-		}
-	}
-
-	class TreeLabelProvider extends LabelProvider {
-		public String getText(Object obj) {
-			if (obj instanceof JobRoot) {
-				IFeature feature = ((JobRoot) obj).getJob().getFeature();
-				return feature.getLabel()
-					+ " " //$NON-NLS-1$
-					+ feature.getVersionedIdentifier().getVersion().toString();
-			}
-			if (obj instanceof FeatureHierarchyElement) {
-				String name = ((FeatureHierarchyElement) obj).getLabel();
-				if (name != null)
-					return name;
-			}
-
-			return super.getText(obj);
-		}
-		public Image getImage(Object obj) {
-			return UpdateUI.getDefault().getLabelProvider().get(
-				UpdateUIImages.DESC_FEATURE_OBJ);
-		}
-	}
-
-	/**
-	 * Constructor for ReviewPage2
-	 */
-	public OptionalFeaturesPage(IInstallConfiguration config) {
-		super("OptionalFeatures"); //$NON-NLS-1$
-		setTitle(UpdateUIMessages.InstallWizard_OptionalFeaturesPage_title);
-		setDescription(UpdateUIMessages.InstallWizard_OptionalFeaturesPage_desc);
-		this.config = config;
-		UpdateUI.getDefault().getLabelProvider().connect(this);
-	}
-
-	public void setJobs(IInstallFeatureOperation[] jobs) {
-		jobRoots = new JobRoot[jobs.length];
-		for (int i = 0; i < jobs.length; i++) {
-			jobRoots[i] = new JobRoot(jobs[i]);
-		}
-	}
-
-	public void dispose() {
-		UpdateUI.getDefault().getLabelProvider().disconnect(this);
-		super.dispose();
-	}
-
-
-	public Control createContents(Composite parent) {
-		Composite client = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = layout.marginHeight = 0;
-		client.setLayout(layout);
-
-		createCheckboxTreeViewer(client);
-
-		selectAllButton = new Button(client, SWT.PUSH);
-		selectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectAll(true);
-			}
-		});
-		selectAllButton.setText(UpdateUIMessages.InstallWizard_OptionalFeaturesPage_selectAll);
-		GridData gd =
-			new GridData(
-				GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		selectAllButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(selectAllButton);
-
-		deselectAllButton = new Button(client, SWT.PUSH);
-		deselectAllButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				selectAll(false);
-			}
-		});
-		deselectAllButton.setText(UpdateUIMessages.InstallWizard_OptionalFeaturesPage_deselectAll);
-		gd =
-			new GridData(
-				GridData.HORIZONTAL_ALIGN_FILL | GridData.VERTICAL_ALIGN_BEGINNING);
-		deselectAllButton.setLayoutData(gd);
-		SWTUtil.setButtonDimensionHint(deselectAllButton);
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.MultiOptionalFeaturesPage2"); //$NON-NLS-1$
-		
-		Dialog.applyDialogFont(parent);
-		
-		return client;
-	}
-
-	private void createCheckboxTreeViewer(Composite parent) {
-		Label label = new Label(parent, SWT.NULL);
-		label.setText(UpdateUIMessages.InstallWizard_OptionalFeaturesPage_treeLabel);
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-		treeViewer =
-			new CheckboxTreeViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		gd = new GridData(GridData.FILL_BOTH);
-		gd.verticalSpan = 2;
-		treeViewer.getTree().setLayoutData(gd);
-		treeViewer.setContentProvider(new TreeContentProvider());
-		treeViewer.setLabelProvider(new TreeLabelProvider());
-		treeViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent e) {
-				handleChecked(e.getElement(), e.getChecked());
-			}
-		});
-		treeViewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
-		treeViewer.setInput(this);
-	}
-
-	public void setVisible(boolean visible) {
-		if (visible) {
-			treeViewer.setInput(jobRoots);
-			initializeStates();
-		}
-		super.setVisible(visible);
-		if (visible) {
-			treeViewer.getTree().setFocus();
-		}		
-	}
-
-	private void initializeStates() {
-		ArrayList checked = new ArrayList();
-		ArrayList grayed = new ArrayList();
-		ArrayList editable = new ArrayList();
-
-		for (int i = 0; i < jobRoots.length; i++) {
-			checked.add(jobRoots[i]);
-			grayed.add(jobRoots[i]);
-			boolean update = jobRoots[i].getJob().getOldFeature() != null;
-			initializeStates(update, jobRoots[i].getElements(), checked, grayed, editable);
-		}
-		treeViewer.setCheckedElements(checked.toArray());
-		treeViewer.setGrayedElements(grayed.toArray());
-		selectAllButton.setEnabled(editable.size()>0);
-		deselectAllButton.setEnabled(editable.size()>0);
-	}
-
-	private void initializeStates(
-		boolean update,
-		Object[] elements,
-		ArrayList checked,
-		ArrayList grayed,
-		ArrayList editable) {
-
-		for (int i = 0; i < elements.length; i++) {
-			FeatureHierarchyElement element =
-				(FeatureHierarchyElement) elements[i];
-			if (element.isChecked())
-				checked.add(element);
-			if (!element.isEditable())
-				grayed.add(element);
-			else
-				editable.add(element);
-			initializeStates(update, element.getChildren(), checked, grayed, editable);
-		}
-	}
-
-	private void selectAll(boolean value) {
-		ArrayList selected = new ArrayList();
-		for (int i = 0; i < jobRoots.length; i++) {
-			IInstallFeatureOperation job = jobRoots[i].getJob();
-			selected.add(job);
-			Object[] elements = jobRoots[i].getElements();
-			for (int j = 0; j < elements.length; j++) {
-				FeatureHierarchyElement element = (FeatureHierarchyElement) elements[j];
-				selectAll(job.getOldFeature() != null, element, selected, value);
-			}
-		}
-		treeViewer.setCheckedElements(selected.toArray());
-	}
-
-	private void selectAll(
-		boolean update,
-		FeatureHierarchyElement ref,
-		ArrayList selected,
-		boolean value) {
-
-		if (!ref.isOptional()) {
-			selected.add(ref);
-		} else {
-			if (ref.isEditable()) {
-				ref.setChecked(value);
-				if (value)
-					selected.add(ref);
-			} else if (ref.isChecked()) {
-				selected.add(ref);
-			}
-		}
-		Object[] included = ref.getChildren();
-		for (int i = 0; i < included.length; i++) {
-			selectAll(update, (FeatureHierarchyElement) included[i], selected, value);
-		}
-	}
-
-	private void handleChecked(Object element, boolean checked) {
-		if (element instanceof JobRoot) {
-			treeViewer.setChecked(element, !checked);
-			return;
-		}
-		FeatureHierarchyElement fe = (FeatureHierarchyElement) element;
-
-		if (!fe.isEditable())
-			treeViewer.setChecked(element, !checked);
-		else {
-			// update the result
-			fe.setChecked(checked);
-		}
-	}
-	
-	public IFeature[] getUnconfiguredOptionalFeatures(IInstallFeatureOperation job, IConfiguredSite targetSite) {
-		for (int i = 0; i < jobRoots.length; i++) {
-			if (job.equals(jobRoots[i].getJob())) {
-				return jobRoots[i].getUnconfiguredOptionalFeatures(config, targetSite);
-			}
-		}
-		return new IFeature[0];
-	}
-	
-	public IFeatureReference[] getCheckedOptionalFeatures(IInstallFeatureOperation currentJob) {
-		HashSet set = new HashSet();
-		JobRoot jobRoot = null;
-
-		for (int i = 0; i < jobRoots.length; i++) {
-			if (currentJob.equals(jobRoots[i].getJob())) {
-				jobRoot = jobRoots[i];
-				break;
-			}
-		}
-		if (jobRoot == null)
-			return new IFeatureReference[0];
-
-		IInstallFeatureOperation job = jobRoot.getJob();
-		boolean update = job.getOldFeature() != null;
-		boolean patch = UpdateUtils.isPatch(job.getFeature());
-		FeatureHierarchyElement[] elements = jobRoot.getElements();
-		for (int i = 0; i < elements.length; i++) {
-			elements[i].addCheckedOptionalFeatures(update, patch, config, set);
-		}
-		return (IFeatureReference[]) set.toArray(new IFeatureReference[set.size()]);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizard.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizard.java
deleted file mode 100644
index 8622831..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizard.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.jface.wizard.Wizard;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.internal.ui.UpdateUIImages;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-
-
-public class ReplaceFeatureVersionWizard extends Wizard {
-	private ReplaceFeatureVersionWizardPage page;
-
-	public ReplaceFeatureVersionWizard(IFeature currentFeature, IFeature[] features) {
-		setWindowTitle(UpdateUIMessages.SwapFeatureWizard_title); 
-		setDefaultPageImageDescriptor(UpdateUIImages.DESC_UPDATE_WIZ);
-		page = new ReplaceFeatureVersionWizardPage(currentFeature, features);
-	}
-
-	public void addPages() {
-		addPage(page);
-	}
-	
-	public boolean performFinish() {
-		return page.performFinish();
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizardPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizardPage.java
deleted file mode 100644
index db962fe..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReplaceFeatureVersionWizardPage.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.lang.reflect.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.operation.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.operations.*;
-
-
-public class ReplaceFeatureVersionWizardPage extends WizardPage {
-	
-	private IFeature currentFeature;
-	private IFeature[] features;
-	private TableViewer tableViewer;
-
-	public ReplaceFeatureVersionWizardPage(IFeature currentFeature, IFeature[] features) {
-		super("SwapFeature"); //$NON-NLS-1$
-		setTitle(UpdateUIMessages.SwapFeatureWizardPage_title); 
-		setDescription(UpdateUIMessages.SwapFeatureWizardPage_desc); 
-		this.currentFeature = currentFeature;
-		this.features = features;
-	}
-
-	public void createControl(Composite parent) {
-		Composite tableContainer = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = layout.marginWidth = 0;
-		tableContainer.setLayout(layout);
-
-		Label label = new Label(tableContainer, SWT.NONE);
-		label.setText(UpdateUIMessages.SwapFeatureWizardPage_label); 
-
-		Table table = new Table(tableContainer, SWT.BORDER | SWT.SINGLE | SWT.V_SCROLL);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		tableViewer = new TableViewer(table);
-		tableViewer.setLabelProvider(new LabelProvider() {
-			public Image getImage(Object element) {
-				UpdateLabelProvider provider =
-					UpdateUI.getDefault().getLabelProvider();
-				return provider.get(UpdateUIImages.DESC_UNCONF_FEATURE_OBJ, 0);
-			}
-			public String getText(Object element) {
-				IFeature feature = (IFeature) element;
-				return feature.getLabel() + " " + feature.getVersionedIdentifier().getVersion().toString(); //$NON-NLS-1$
-			}
-		});
-		
-		tableViewer.setContentProvider(new IStructuredContentProvider() {
-			public Object[] getElements(Object element) {
-				return features;
-			}
-			public void dispose() {
-			}
-			public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
-			}
-		});
-		
-		tableViewer.setSorter(new ViewerSorter() {
-			public int compare(Viewer viewer, Object e1, Object e2) {
-				PluginVersionIdentifier v1 = ((IFeature)e1).getVersionedIdentifier().getVersion();
-				PluginVersionIdentifier v2 = ((IFeature)e2).getVersionedIdentifier().getVersion();
-				return v1.isGreaterOrEqualTo(v2) ? -1 : 1;
-			}
-		});
-		
-		tableViewer.addFilter(new ViewerFilter() {
-			public boolean select(Viewer viewer, Object parentElement, Object element) {
-				String version =
-					((IFeature) element).getVersionedIdentifier().getVersion().toString();
-				return !version.equals(
-					currentFeature.getVersionedIdentifier().getVersion().toString());
-			}
-		});
-
-		tableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection ssel = (IStructuredSelection)tableViewer.getSelection();
-				if (ssel == null)
-					return;
-				IFeature chosenFeature = (IFeature)ssel.getFirstElement();
-				IStatus validationStatus =
-					OperationsManager.getValidator().validatePendingReplaceVersion(currentFeature, chosenFeature);
-				setPageComplete(validationStatus == null || validationStatus.getCode() == IStatus.WARNING);
-		
-				if (validationStatus == null) {
-					setErrorMessage(null);
-				} else if (validationStatus.getCode() == IStatus.WARNING) {
-					setErrorMessage(null);
-					setMessage(validationStatus.getMessage(), IMessageProvider.WARNING);
-				} else {
-					setErrorMessage(validationStatus.getMessage());
-				}
-			}
-		});
-		
-		tableViewer.setInput(currentFeature);
-		tableViewer.getTable().select(0);
-		setControl(tableContainer);
-		
-		Dialog.applyDialogFont(tableContainer);
-	}
-
-	public boolean performFinish() {
-		IStructuredSelection ssel = (IStructuredSelection)tableViewer.getSelection();
-		IFeature chosenFeature = (IFeature)ssel.getFirstElement();
-		
-		return swap(currentFeature, chosenFeature);
-	}
-	
-	private boolean swap(final IFeature currentFeature, final IFeature anotherFeature) {
-//		IStatus status =
-//			OperationsManager.getValidator().validatePendingReplaceVersion(currentFeature, anotherFeature);
-//		if (status != null) {
-//			ErrorDialog.openError(
-//				UpdateUI.getActiveWorkbenchShell(),
-//				null,
-//				null,
-//				status);
-//			return false;
-//		}
-
-		IRunnableWithProgress operation = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-				throws InvocationTargetException {
-				IOperation revertOperation =
-					OperationsManager
-						.getOperationFactory()
-						.createReplaceFeatureVersionOperation(currentFeature, anotherFeature);
-				try {
-					boolean restartNeeded = revertOperation.execute(monitor, null);
-					UpdateUI.requestRestart(restartNeeded);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		try {
-			getContainer().run(false, true, operation);
-			return true;
-		} catch (InvocationTargetException e) {
-			Throwable targetException = e.getTargetException();
-			if (targetException instanceof InstallAbortedException) {
-				return true;
-			} else {
-				UpdateUI.logException(e);
-			}
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		}
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ResizableInstallWizardDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ResizableInstallWizardDialog.java
deleted file mode 100644
index 3ed230a..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ResizableInstallWizardDialog.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.ui.parts.*;
-import org.eclipse.update.operations.*;
-
-public class ResizableInstallWizardDialog extends WizardDialog {
-	private String title;
-	
-	/**
-	 * Creates a new resizable wizard dialog.
-	 */
-	public ResizableInstallWizardDialog(Shell parent, IWizard wizard, String title) {
-		super(parent, wizard);
-		setShellStyle(getShellStyle() | SWT.RESIZE);
-		this.title = title;
-	}	
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#create()
-	 */
-	public void create() {
-		super.create();
-		
-		getShell().setText(title);
-		SWTUtil.setDialogSize(this, 600, 500);
-	}
-	
-	
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.window.Window#open()
-	 */
-	public int open() {
-		IStatus status = OperationsManager.getValidator().validatePlatformConfigValid();
-		if (status != null) {
-			ErrorDialog.openError(
-					getShell(),
-					null,
-					null,
-					status);
-			return IDialogConstants.ABORT_ID;
-		}
-		
-		return super.open();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizard.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizard.java
deleted file mode 100644
index d67a53b..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizard.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.jface.wizard.*;
-import org.eclipse.update.internal.ui.*;
-
-/**
- * @author Wassim Melhem
- */
-public class RevertConfigurationWizard extends Wizard {
-	
-	RevertConfigurationWizardPage page;
-
-	public RevertConfigurationWizard() {
-		super();
-		setWindowTitle(UpdateUIMessages.RevertConfigurationWizard_wtitle); 
-		setDefaultPageImageDescriptor(UpdateUIImages.DESC_CONFIG_WIZ);
-	}
-	
-	public void addPages() {
-		page = new RevertConfigurationWizardPage();
-		addPage(page);
-	}
-
-	public boolean performFinish() {
-		return page.performFinish();
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizardPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizardPage.java
deleted file mode 100644
index bcb01af..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/RevertConfigurationWizardPage.java
+++ /dev/null
@@ -1,263 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.lang.reflect.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.operation.*;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.core.model.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.operations.*;
-
-
-public class RevertConfigurationWizardPage extends WizardPage {
-
-	private TableViewer activitiesViewer;
-	private TableViewer configViewer;
-	public static Color blueBGColor;
-	private SashForm sashForm;
-
-	public RevertConfigurationWizardPage() {
-		super("RevertConfiguration"); //$NON-NLS-1$
-		setTitle(UpdateUIMessages.RevertConfigurationWizardPage_title); 
-		setDescription(UpdateUIMessages.RevertConfigurationWizardPage_desc); 
-		blueBGColor = new Color(null, 238,238,255);
-		
-	}
-
-	public void createControl(Composite parent) {
-		sashForm = new SashForm(parent, SWT.VERTICAL);
-		sashForm.setLayout(new GridLayout());
-		sashForm.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		createConfigurationsSection(sashForm);
-		createActivitiesSection(sashForm);
-		setControl(sashForm);
-
-		Object element = configViewer.getElementAt(0);
-		if (element != null)
-			configViewer.setSelection(new StructuredSelection(element));
-		Dialog.applyDialogFont(sashForm);
-	}
-
-	private void createConfigurationsSection(Composite parent) {
-		Composite tableContainer = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.marginHeight = layout.marginWidth = 0;
-		tableContainer.setLayout(layout);
-		tableContainer.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Label label = new Label(tableContainer, SWT.NONE);
-		label.setText(UpdateUIMessages.RevertConfigurationWizardPage_label); 
-
-		Table table = new Table(tableContainer, SWT.BORDER | SWT.V_SCROLL);
-		table.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		configViewer = new TableViewer(table);
-		configViewer.setLabelProvider(new LabelProvider() {
-			public Image getImage(Object element) {
-				UpdateLabelProvider provider =
-					UpdateUI.getDefault().getLabelProvider();
-				return provider.get(UpdateUIImages.DESC_CONFIG_OBJ, 0);
-			}
-			public String getText(Object element) {
-				return Utilities.format(
-					((IInstallConfiguration) element).getCreationDate());
-			}
-
-		});
-		configViewer.setContentProvider(new IStructuredContentProvider() {
-			public Object[] getElements(Object element) {
-				ArrayList result = new ArrayList();
-				ILocalSite localSite = (ILocalSite) element;
-				IInstallConfiguration current =	localSite.getCurrentConfiguration();
-				IInstallConfiguration[] configurations = localSite.getConfigurationHistory();
-				for (int i = configurations.length - 1; i >= 0; i--) {
-					if (!current.equals(configurations[i])) {
-						result.add(configurations[i]);
-					}
-				}
-				return result.toArray();
-			}
-			
-			public void dispose() {
-			}
-
-			public void inputChanged(
-				Viewer viewer,
-				Object oldInput,
-				Object newInput) {
-			}
-
-		});
-
-		configViewer
-			.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent e) {
-				IStructuredSelection ssel =	(IStructuredSelection) e.getSelection();
-				InstallConfiguration currentConfig = (InstallConfiguration)ssel.getFirstElement();
-				activitiesViewer.setInput(currentConfig);
-				activitiesViewer.refresh();
-				TableItem[] items = activitiesViewer.getTable().getItems();
-				for (int i =0; i<items.length; i++){
-					IActivity activity = (IActivity)items[i].getData();
-					// for now, we test exact config match. If needed, we can also compare dates, etc.
-					if (((InstallConfiguration)activity.getInstallConfiguration()).equals(currentConfig))
-						items[i].setBackground(blueBGColor);
-					else
-						items[i].setBackground(activitiesViewer.getControl().getBackground());
-				}
-			}
-		});
-
-		try {
-			configViewer.setInput(SiteManager.getLocalSite());
-		} catch (CoreException e1) {
-		}
-	}
-
-	private void createActivitiesSection(Composite parent) {
-		final Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.marginHeight = gridLayout.marginWidth = 0;
-		composite.setLayout(gridLayout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		composite.setLayoutData(gd);
-
-
-
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(
-			UpdateUIMessages.RevertConfigurationWizardPage_activities); 
-
-		TableLayoutComposite tlComposite= new TableLayoutComposite(composite, SWT.NONE);
-		tlComposite.setLayoutData(new GridData(GridData.FILL_BOTH));
-		activitiesViewer = ActivitiesTableViewer.createViewer(tlComposite, false);
-
-		tlComposite.addColumnData(new ColumnPixelData(20, true));
-		tlComposite.addColumnData(new ColumnWeightData(2, 150, true));
-		tlComposite.addColumnData(new ColumnWeightData(5, 200, true));
-		tlComposite.addColumnData(new ColumnWeightData(4, 100, true));
-
-		//activitiesViewer.getTable().setLayout(layout);
-
-		TableItem[] configs = configViewer.getTable().getItems();
-		if (configs.length >0)
-			activitiesViewer.setInput(configs[0].getData());
-		
-		composite.addControlListener(new ControlAdapter() {
-			public void controlResized(ControlEvent e) {
-				int sashHeight = getSashForm().getSize().y;
-				int sashWidth = getSashForm().getSize().x;
-				if (composite.getSize().y > (sashHeight*0.85) && composite.getSize().x > (sashWidth*0.5)){
-					getSashForm().setOrientation(SWT.HORIZONTAL);
-				} else {
-					getSashForm().setOrientation(SWT.VERTICAL);
-				}
-			}
-		});
-	}
-
-	/* (non-Javadoc)
-	 * @see org.eclipse.jface.dialogs.IDialogPage#dispose()
-	 */
-	public void dispose() {
-		blueBGColor.dispose();
-	}
-	
-	public SashForm getSashForm(){
-		return sashForm;
-	}
-	public boolean performFinish() {
-		Shell shell = getContainer().getShell();
-		boolean result =
-			MessageDialog.openQuestion(
-				shell,
-				shell.getText(),
-				UpdateUIMessages.RevertConfigurationWizardPage_question); 
-		if (!result)
-			return false;
-
-		boolean finish = performRevert();
-		if (finish) {
-			PlatformUI.getWorkbench().restart();
-		}
-		return finish;
-	}
-
-	public boolean performRevert() {
-
-		IStructuredSelection ssel =
-			(IStructuredSelection) configViewer.getSelection();
-		final IInstallConfiguration target =
-			(IInstallConfiguration) ssel.getFirstElement();
-
-		IStatus status =
-			OperationsManager.getValidator().validatePendingRevert(target);
-		if (status != null && status.getCode() == IStatus.ERROR) {
-			ErrorDialog.openError(
-				UpdateUI.getActiveWorkbenchShell(),
-				null,
-				null,
-				status);
-			return false;
-		}
-
-		IRunnableWithProgress operation = new IRunnableWithProgress() {
-			public void run(IProgressMonitor monitor)
-				throws InvocationTargetException {
-				IOperation revertOperation =
-					OperationsManager
-						.getOperationFactory()
-						.createRevertConfigurationOperation(
-						target,
-						new UIProblemHandler());
-				try {
-					revertOperation.execute(monitor, null);
-				} catch (CoreException e) {
-					throw new InvocationTargetException(e);
-				} finally {
-					monitor.done();
-				}
-			}
-		};
-		try {
-			getContainer().run(false, true, operation);
-			return true;
-		} catch (InvocationTargetException e) {
-			Throwable targetException = e.getTargetException();
-			if (targetException instanceof InstallAbortedException) {
-				return true;
-			} else {
-				UpdateUI.logException(e);
-			}
-			return false;
-		} catch (InterruptedException e) {
-			return false;
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReviewPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReviewPage.java
deleted file mode 100644
index c3bf515..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ReviewPage.java
+++ /dev/null
@@ -1,1371 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.wizards;

-

-import java.lang.reflect.InvocationTargetException;

-import java.net.URL;

-import java.util.ArrayList;

-import java.util.Collection;

-import java.util.HashSet;

-import java.util.Iterator;

-import java.util.Set;

-

-import org.eclipse.core.runtime.CoreException;

-import org.eclipse.core.runtime.IProgressMonitor;

-import org.eclipse.core.runtime.IStatus;

-import org.eclipse.jface.dialogs.Dialog;

-import org.eclipse.jface.dialogs.ErrorDialog;

-import org.eclipse.jface.dialogs.IDialogConstants;

-import org.eclipse.jface.dialogs.IMessageProvider;

-import org.eclipse.jface.operation.IRunnableWithProgress;

-import org.eclipse.jface.viewers.CheckStateChangedEvent;

-import org.eclipse.jface.viewers.ICheckStateListener;

-import org.eclipse.jface.viewers.ISelectionChangedListener;

-import org.eclipse.jface.viewers.ISelectionProvider;

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.viewers.ITreeContentProvider;

-import org.eclipse.jface.viewers.SelectionChangedEvent;

-import org.eclipse.jface.viewers.StructuredSelection;

-import org.eclipse.jface.viewers.Viewer;

-import org.eclipse.jface.viewers.ViewerFilter;

-import org.eclipse.osgi.util.NLS;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.custom.BusyIndicator;

-import org.eclipse.swt.custom.SashForm;

-import org.eclipse.swt.events.SelectionAdapter;

-import org.eclipse.swt.events.SelectionEvent;

-import org.eclipse.swt.graphics.Image;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Button;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.widgets.Control;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Shell;

-import org.eclipse.swt.widgets.TreeItem;

-import org.eclipse.ui.PlatformUI;

-import org.eclipse.ui.dialogs.PropertyDialogAction;

-import org.eclipse.ui.forms.HyperlinkSettings;

-import org.eclipse.ui.forms.widgets.ScrolledFormText;

-import org.eclipse.update.core.ICategory;

-import org.eclipse.update.core.IFeature;

-import org.eclipse.update.core.IFeatureReference;

-import org.eclipse.update.core.IImport;

-import org.eclipse.update.core.ISiteFeatureReference;

-import org.eclipse.update.core.IURLEntry;

-import org.eclipse.update.core.Utilities;

-import org.eclipse.update.core.VersionedIdentifier;

-import org.eclipse.update.internal.core.UpdateCore;

-import org.eclipse.update.internal.core.UpdateManagerUtils;

-import org.eclipse.update.internal.operations.FeatureStatus;

-import org.eclipse.update.internal.operations.UpdateUtils;

-import org.eclipse.update.internal.ui.UpdateUI;

-import org.eclipse.update.internal.ui.UpdateUIImages;

-import org.eclipse.update.internal.ui.UpdateUIMessages;

-import org.eclipse.update.internal.ui.model.FeatureReferenceAdapter;

-import org.eclipse.update.internal.ui.model.SimpleFeatureAdapter;

-import org.eclipse.update.internal.ui.model.SiteBookmark;

-import org.eclipse.update.internal.ui.model.SiteCategory;

-import org.eclipse.update.internal.ui.parts.DefaultContentProvider;

-import org.eclipse.update.internal.ui.parts.SWTUtil;

-import org.eclipse.update.internal.ui.parts.SharedLabelProvider;

-import org.eclipse.update.operations.IInstallFeatureOperation;

-import org.eclipse.update.operations.IUpdateModelChangedListener;

-import org.eclipse.update.operations.OperationsManager;

-import org.eclipse.update.internal.operations.OperationValidator;

-import org.eclipse.update.internal.operations.OperationValidator.InternalImport;

-import org.eclipse.update.internal.operations.OperationValidator.RequiredFeaturesResult;

-import org.eclipse.update.search.IUpdateSearchSite;

-import org.eclipse.update.search.UpdateSearchRequest;

-

-public class ReviewPage	extends BannerPage {

-

-	private Label label;

-	private ArrayList jobs;

-	private Label counterLabel;

-	private IStatus validationStatus;

-	private Collection problematicFeatures = new HashSet();

-	// feature that was recently selected or null

-	private IFeature newlySelectedFeature;

-	// 

-	private FeatureStatus lastDisplayedStatus;

-	private PropertyDialogAction propertiesAction;

-	private ScrolledFormText descLabel;

-	private Button statusButton;

-	private Button moreInfoButton;

-	private Button propertiesButton;

-	private Button selectRequiredFeaturesButton;

-	private Button filterCheck;

-	private Button filterOlderVersionCheck;

-	private ContainmentFilter filter = new ContainmentFilter();

-	private LatestVersionFilter olderVersionFilter = new LatestVersionFilter();

-	private UpdateSearchRequest searchRequest;

-	//private int LABEL_ORDER = 1;

-	//private int VERSION_ORDER = 1;

-	//private int PROVIDER_ORDER = 1;

-    private ContainerCheckedTreeViewer treeViewer;

-    private boolean initialized;

-    private boolean isUpdateSearch;

-    

-    class TreeContentProvider extends DefaultContentProvider implements

-            ITreeContentProvider {

-

-        public Object[] getElements(Object parent) {

-            return getSites();

-        }

-

-        public Object[] getChildren(final Object parent) {

-            if (parent instanceof SiteBookmark) {

-                SiteBookmark bookmark = (SiteBookmark) parent;

-                bookmark.getSite(null); // triggers catalog creation

-                Object[] children = bookmark.getCatalog(true,null);

-                ArrayList nonEmptyCategories = new ArrayList(children.length);

-                for (int i=0; i<children.length; i++)

-                    if (hasChildren(children[i]))

-                        nonEmptyCategories.add(children[i]);

-                return nonEmptyCategories.toArray();

-            } else if (parent instanceof SiteCategory) {

-                SiteCategory category = (SiteCategory)parent;

-                //return category.getChildren();

-                Object[] children = category.getChildren();

-                ArrayList list = new ArrayList(children.length);

-                for (int i=0; i<children.length; i++) {

-                    if (children[i] instanceof FeatureReferenceAdapter) {

-                        try {

-                            IInstallFeatureOperation job = findJob((FeatureReferenceAdapter)children[i]);

-                            if (job != null)

-                                list.add(job);

-                        } catch (CoreException e) {

-                            UpdateCore.log(e.getStatus());

-                        }

-                    }

-                }

-                return list.toArray();

-            }

-            return new Object[0];

-        }

-

-        public Object getParent(Object element) {

-            if (element instanceof SiteCategory)

-                return ((SiteCategory) element).getBookmark();

-            if (element instanceof IInstallFeatureOperation) {

-                IFeature f = ((IInstallFeatureOperation)element).getFeature();

-                ISiteFeatureReference fr = f.getSite().getFeatureReference(f);

-                ICategory[] categories = fr.getCategories();

-//                if (categories != null && categories.length > 0)

-//                    return categories[0];

-                SiteBookmark[] sites = (SiteBookmark[])((ITreeContentProvider)treeViewer.getContentProvider()).getElements(null);

-                for (int i=0; i<sites.length; i++) {

-                    if (sites[i].getSite(false, null) != f.getSite())

-                        continue;

-                    Object[] children = sites[i].getCatalog(true, null);

-                    for (int j = 0; j<children.length; j++) {

-                        if (!(children[j] instanceof SiteCategory))

-                            continue;

-                        for (int c=0; c < categories.length; c++)

-                            if (categories[c].getName().equals(((SiteCategory)children[j]).getName()))

-                                return children[j];

-                    }

-                }

-            }

-

-            return null;

-        }

-

-        public boolean hasChildren(Object element) {

-            return (element instanceof SiteBookmark || (

-                    element instanceof SiteCategory && getChildren(element).length > 0));

-        }

-

-        private SiteBookmark[] getSites() {

-            if (searchRequest == null)

-                return new SiteBookmark[0];

-            else if (searchRequest.getScope().getSearchSites() == null ||

-                searchRequest.getScope().getSearchSites().length == 0) {

-                // this is an update search, so see if there are any jobs first,

-                // and get their sites

-                if (jobs != null) {

-                    ArrayList sitesList = new ArrayList(jobs.size());

-                    for (int i = 0; i < jobs.size(); i++) {

-                        IInstallFeatureOperation op = (IInstallFeatureOperation) jobs

-                                .get(i);

-                        // we need a label for the site, so try to get it from the old

-                        // feature update url

-                        String label = null;

-                        IFeature[] existingFeatures = UpdateUtils

-                                .getInstalledFeatures(op.getFeature(), true);

-                        if (existingFeatures != null

-                                && existingFeatures.length > 0) {

-                            IURLEntry entry = op.getFeature()

-                                    .getUpdateSiteEntry();

-                            label = entry.getAnnotation();

-                        }

-                        if (label == null)

-                            label = op.getFeature().getSite().getURL().toExternalForm();

-                                    

-                        SiteBookmark bookmark = new SiteBookmark(label,

-                                op.getFeature().getSite().getURL(), false);

-                        if (sitesList.contains(bookmark))

-                            continue;

-                        else

-                            sitesList.add(bookmark);

-                        

-                    }

-                    if (!sitesList.isEmpty())

-                        return (SiteBookmark[]) sitesList

-                                .toArray(new SiteBookmark[sitesList.size()]);

-                }

-                return new SiteBookmark[0];

-            } else {

-                // search for features

-                IUpdateSearchSite[] sites = searchRequest.getScope().getSearchSites();

-                SiteBookmark[] siteBookmarks = new SiteBookmark[sites.length];

-                for (int i = 0; i < sites.length; i++)

-                    siteBookmarks[i] = new SiteBookmark(sites[i].getLabel(),

-                            sites[i].getURL(), false);

-                return siteBookmarks;

-            }

-        }

-    }

-

-    class TreeLabelProvider extends SharedLabelProvider {

-

-        public Image getImage(Object obj) {

-            if (obj instanceof SiteBookmark)

-                return UpdateUI.getDefault().getLabelProvider().get(

-                        UpdateUIImages.DESC_SITE_OBJ);

-            if (obj instanceof SiteCategory)

-                return UpdateUI.getDefault().getLabelProvider().get(

-                        UpdateUIImages.DESC_CATEGORY_OBJ);

-            if (obj instanceof IInstallFeatureOperation) {

-                IFeature feature = ((IInstallFeatureOperation) obj).getFeature();

-                boolean patch = feature.isPatch();

-                

-                //boolean problematic=problematicFeatures.contains(feature) && treeViewer.getChecked(obj);

-                boolean problematic=treeViewer.getChecked(obj) && isFeatureProblematic(feature);

-                

-                

-                if (patch) {

-                    return get(UpdateUIImages.DESC_EFIX_OBJ, problematic? F_ERROR : 0);

-                } else {

-                    return get(UpdateUIImages.DESC_FEATURE_OBJ, problematic? F_ERROR : 0);

-                }

-            }

-            return super.getImage(obj);

-

-        }

-

-        public String getText(Object obj) {

-            if (obj instanceof SiteBookmark) 

-                return ((SiteBookmark) obj).getLabel();

-            if (obj instanceof SiteCategory)

-                return ((SiteCategory)obj).getName();

-            if (obj instanceof IInstallFeatureOperation) {

-                IInstallFeatureOperation job = (IInstallFeatureOperation) obj;

-                IFeature feature = job.getFeature();

-                return feature.getLabel() + " " + feature //$NON-NLS-1$

-                            .getVersionedIdentifier()

-                            .getVersion()

-                            .toString();

-            }

-            return super.getText(obj);

-        }

-    }

-

-    class ModelListener implements IUpdateModelChangedListener {

-        public void objectChanged(Object object, String property) {

-            treeViewer.refresh();

-            checkItems();

-        }

-

-        public void objectsAdded(Object parent, Object[] children) {

-            treeViewer.refresh();

-            checkItems();

-        }

-

-        public void objectsRemoved(Object parent, Object[] children) {

-            treeViewer.refresh();

-            checkItems();

-        }

-        

-        private void checkItems() {

-            TreeItem[] items = treeViewer.getTree().getItems();

-            for (int i = 0; i < items.length; i++) {

-                SiteBookmark bookmark = (SiteBookmark) items[i].getData();

-                treeViewer.setChecked(bookmark, bookmark.isSelected());

-                String[] ignoredCats = bookmark.getIgnoredCategories();

-                treeViewer.setGrayed(bookmark, ignoredCats.length > 0

-                        && bookmark.isSelected());

-            }

-        }

-    }

-

-	class ContainmentFilter extends ViewerFilter {

-		public boolean select(Viewer v, Object parent, Object child) {

-            if (child instanceof IInstallFeatureOperation)

-                return !isContained((IInstallFeatureOperation) child);

-            else

-                return true;

-		}

-		private boolean isContained(IInstallFeatureOperation job) {

-			VersionedIdentifier vid = job.getFeature().getVersionedIdentifier();

-

-			for (int i = 0; i < jobs.size(); i++) {

-				IInstallFeatureOperation candidate = (IInstallFeatureOperation) jobs.get(i);

-				if (candidate.equals(job))

-					continue;

-				IFeature feature = candidate.getFeature();

-				if (includes(feature, vid,null))

-					return true;

-			}

-			return false;

-		}

-		private boolean includes(IFeature feature, VersionedIdentifier vid, ArrayList cycleCandidates) {

-			try {

-				if (cycleCandidates == null)

-					cycleCandidates = new ArrayList();

-				if (cycleCandidates.contains(feature))

-					throw Utilities.newCoreException(NLS.bind(UpdateUIMessages.InstallWizard_ReviewPage_cycle, feature.getVersionedIdentifier().toString()), null);

-				else

-					cycleCandidates.add(feature);

-				IFeatureReference[] irefs =

-					feature.getIncludedFeatureReferences();

-				for (int i = 0; i < irefs.length; i++) {

-					IFeatureReference iref = irefs[i];

-					IFeature ifeature = iref.getFeature(null);

-					VersionedIdentifier ivid =

-						ifeature.getVersionedIdentifier();

-					if (ivid.equals(vid))

-						return true;

-					if (includes(ifeature, vid, cycleCandidates))

-						return true;

-				}

-				return false;

-			} catch (CoreException e) {

-				return false;

-			} finally {

-				// after this feature has been DFS-ed, it is no longer a cycle candidate

-				cycleCandidates.remove(feature);

-			}

-		}

-	}

-

-	class LatestVersionFilter extends ViewerFilter {

-		public boolean select(Viewer v, Object parent, Object child) {

-            if (child instanceof IInstallFeatureOperation)

-                return isLatestVersion((IInstallFeatureOperation) child);

-            else

-                return true;

-		}

-		private boolean isLatestVersion(IInstallFeatureOperation job) {

-			IFeature feature = job.getFeature();

-			for (int i = 0; i < jobs.size(); i++) {

-				IInstallFeatureOperation candidateJob = (IInstallFeatureOperation) jobs.get(i);

-				if (candidateJob.equals(job))

-					continue;

-				IFeature candidate = candidateJob.getFeature();

-				if (feature.getSite() != job.getFeature().getSite())

-					continue;

-				if (!feature.getVersionedIdentifier().getIdentifier().equals(candidate.getVersionedIdentifier().getIdentifier()))

-					continue;

-				if (!feature.getVersionedIdentifier().getVersion().isGreaterThan(candidate.getVersionedIdentifier().getVersion()))

-					return false;

-			}

-			return true;

-		}

-	}

-	

-	class FeaturePropertyDialogAction extends PropertyDialogAction {

-		private IStructuredSelection selection;

-

-		public FeaturePropertyDialogAction(

-			Shell shell,

-			ISelectionProvider provider) {

-			super(shell, provider);

-		}

-

-		public IStructuredSelection getStructuredSelection() {

-			return selection;

-		}

-

-		public void selectionChanged(IStructuredSelection selection) {

-			this.selection = selection;

-		}

-

-	}

-	/**

-	 * Constructor for ReviewPage2

-	 */

-	public ReviewPage(boolean isUpdateSearch, UpdateSearchRequest searchRequest, ArrayList jobs) {

-		super("Review"); //$NON-NLS-1$

-        this.isUpdateSearch = isUpdateSearch;

-        this.jobs = jobs;

-        if (this.jobs==null) this.jobs = new ArrayList();

-        this.searchRequest = searchRequest;

-        

-		setTitle(UpdateUIMessages.InstallWizard_ReviewPage_title); 

-		setDescription(UpdateUIMessages.InstallWizard_ReviewPage_desc); 

-		UpdateUI.getDefault().getLabelProvider().connect(this);

-		setBannerVisible(false);

-	}

-

-	public void dispose() {

-		UpdateUI.getDefault().getLabelProvider().disconnect(this);

-		super.dispose();

-	}

-

-	public void setVisible(boolean visible) {

-		super.setVisible(visible);

-		

-		// when searching for updates, only nested patches can be shown.

-		// when searching for features, features and patches can be shown

-		String filterText = filterCheck.getText();

-		String filterFeatures = UpdateUIMessages.InstallWizard_ReviewPage_filterFeatures; 

-		String filterPatches = UpdateUIMessages.InstallWizard_ReviewPage_filterPatches; 

-

-		if (isUpdateSearch && filterText.equals(filterFeatures))

-			filterCheck.setText(filterPatches);

-		else if ( !isUpdateSearch && filterText.equals(filterPatches))

-			filterCheck.setText(filterFeatures);

-		

-		if (visible && !initialized) {

-            initialized = true;

-//			jobs.clear();

-

-//			setDescription(UpdateUI.getString("InstallWizard.ReviewPage.searching")); //$NON-NLS-1$;

-//			label.setText(UpdateUI.getString("")); //$NON-NLS-1$

-

-			getShell().getDisplay().asyncExec(new Runnable() {

-				public void run() {

-//					searchRunner.runSearch();

-					performPostSearchProcessing();

-				}

-			});

-		}

-	}

-

-	private void performPostSearchProcessing() {

-		BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {

-			public void run() {

-				if (treeViewer != null) {

-//                    treeViewer.refresh();

-//                    treeViewer.getTree().layout(true);

-					if (isUpdateSearch) {

-						selectTrueUpdates();

-					}

-				}

-				pageChanged();

-				

-				int totalCount = jobs != null ? jobs.size(): 0;

-				if(totalCount >0) {

-					setDescription(UpdateUIMessages.InstallWizard_ReviewPage_desc); 

-					label.setText(UpdateUIMessages.InstallWizard_ReviewPage_label); 

-				} else {

-					if (isUpdateSearch)

-						setDescription(UpdateUIMessages.InstallWizard_ReviewPage_zeroUpdates); 

-					else

-						setDescription(UpdateUIMessages.InstallWizard_ReviewPage_zeroFeatures); 

-					label.setText(""); //$NON-NLS-1$

-				}

-			}

-		});

-	}

-	

-	private void selectTrueUpdates() {

-		ArrayList trueUpdates = new ArrayList();

-		for (int i=0; i<jobs.size(); i++) {

-			IInstallFeatureOperation job = (IInstallFeatureOperation)jobs.get(i);

-			if (!UpdateUtils.isPatch(job.getFeature()))

-				trueUpdates.add(job);

-		}

-		treeViewer.setCheckedElements(trueUpdates.toArray()); 

-	}	

-

-	/**

-	 * @see DialogPage#createControl(Composite)

-	 */

-	public Control createContents(Composite parent) {

-		Composite client = new Composite(parent, SWT.NULL);

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 2;

-		layout.marginWidth = layout.marginHeight = 0;

-		client.setLayout(layout);

-		label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIMessages.InstallWizard_ReviewPage_label); 

-		GridData gd = new GridData();

-		gd.horizontalSpan = 2;

-		label.setLayoutData(gd);

-

-        createTreeViewer(client);

-

-		Composite comp = new Composite(client, SWT.NONE);

-		layout = new GridLayout();

-		layout.marginWidth = layout.marginHeight = 0;

-		comp.setLayout(layout);

-		comp.setLayoutData(new GridData(GridData.FILL_VERTICAL));

-				

-		Composite buttonContainer = new Composite(comp, SWT.NULL);

-		gd = new GridData(GridData.FILL_VERTICAL);

-		buttonContainer.setLayoutData(gd);

-		layout = new GridLayout();

-		layout.marginWidth = 0;

-		layout.marginHeight = 0; //30?

-		buttonContainer.setLayout(layout);

-		buttonContainer.setLayoutData(new GridData(GridData.FILL_BOTH));

-

-//		Button button = new Button(buttonContainer, SWT.PUSH);

-//		button.setText(UpdateUI.getString("InstallWizard.ReviewPage.selectAll")); //$NON-NLS-1$

-//		gd =

-//			new GridData(

-//				GridData.HORIZONTAL_ALIGN_FILL

-//					| GridData.VERTICAL_ALIGN_BEGINNING);

-//		button.setLayoutData(gd);

-//		SWTUtil.setButtonDimensionHint(button);

-//		button.addSelectionListener(new SelectionAdapter() {

-//			public void widgetSelected(SelectionEvent e) {

-//				handleSelectAll(true);

-//			}

-//		});

-

-		Button button = new Button(buttonContainer, SWT.PUSH);

-		button.setText(UpdateUIMessages.InstallWizard_ReviewPage_deselectAll); 

-		gd =

-			new GridData(

-				GridData.HORIZONTAL_ALIGN_FILL

-					| GridData.VERTICAL_ALIGN_BEGINNING);

-		button.setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(button);

-		button.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				handleDeselectAll();

-			}

-		});

-

-		moreInfoButton = new Button(buttonContainer, SWT.PUSH);

-		moreInfoButton.setText(UpdateUIMessages.InstallWizard_ReviewPage_moreInfo); 

-		gd =

-			new GridData(

-				GridData.HORIZONTAL_ALIGN_FILL

-					| GridData.VERTICAL_ALIGN_BEGINNING);

-		moreInfoButton.setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(moreInfoButton);

-		moreInfoButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				handleMoreInfo();

-			}

-		});

-		moreInfoButton.setEnabled(false);

-		

-		

-		propertiesButton = new Button(buttonContainer, SWT.PUSH);

-		propertiesButton.setText(UpdateUIMessages.InstallWizard_ReviewPage_properties); 

-		gd =

-			new GridData(

-				GridData.HORIZONTAL_ALIGN_FILL

-					| GridData.VERTICAL_ALIGN_BEGINNING);

-		propertiesButton.setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(propertiesButton);

-		propertiesButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				handleProperties();

-			}

-		});

-		propertiesButton.setEnabled(false);

-

-		selectRequiredFeaturesButton = new Button(buttonContainer, SWT.PUSH);

-		selectRequiredFeaturesButton.setText(UpdateUIMessages.InstallWizard_ReviewPage_selectRequired);

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL

-				| GridData.VERTICAL_ALIGN_BEGINNING);

-		selectRequiredFeaturesButton.setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(selectRequiredFeaturesButton);

-		selectRequiredFeaturesButton

-				.addSelectionListener(new SelectionAdapter() {

-					public void widgetSelected(SelectionEvent e) {

-						selectRequiredFeatures();

-						updateItemCount();

-					}

-				});

-

-		statusButton = new Button(buttonContainer, SWT.PUSH);

-		statusButton.setText(UpdateUIMessages.InstallWizard_ReviewPage_showStatus); 

-		gd =

-			new GridData(

-				GridData.HORIZONTAL_ALIGN_FILL

-					| GridData.VERTICAL_ALIGN_BEGINNING);

-		statusButton.setLayoutData(gd);

-		SWTUtil.setButtonDimensionHint(statusButton);

-		statusButton.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				showStatus();

-			}

-		});

-

-		//new Label(client, SWT.NULL);

-

-		counterLabel = new Label(client, SWT.NULL);

-		gd = new GridData();

-		gd.horizontalSpan = 2;

-		counterLabel.setLayoutData(gd);

-

-		filterOlderVersionCheck = new Button(client, SWT.CHECK);

-		filterOlderVersionCheck.setText(UpdateUIMessages.InstallWizard_ReviewPage_filterOlderFeatures); 

-		filterOlderVersionCheck.setSelection(true);

-		treeViewer.addFilter(olderVersionFilter);

-		filterOlderVersionCheck.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				if (filterOlderVersionCheck.getSelection())

-					treeViewer.addFilter(olderVersionFilter);

-				else 

-					treeViewer.removeFilter(olderVersionFilter);

-				

-				pageChanged();

-			}

-		});

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);

-		gd.horizontalSpan = 2;

-		filterOlderVersionCheck.setLayoutData(gd);

-		

-		filterCheck = new Button(client, SWT.CHECK);

-		filterCheck.setText(UpdateUIMessages.InstallWizard_ReviewPage_filterFeatures); 

-		filterCheck.setSelection(false);

-		//tableViewer.addFilter(filter);

-		filterCheck.addSelectionListener(new SelectionAdapter() {

-			public void widgetSelected(SelectionEvent e) {

-				if (filterCheck.getSelection()) {

-					// make sure model is local

-					if (downloadIncludedFeatures()) {

-						treeViewer.addFilter(filter);

-					} else {

-						filterCheck.setSelection(false);

-					}

-				} else {

-					treeViewer.removeFilter(filter);

-				}

-				pageChanged();

-			}

-		});

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);

-		gd.horizontalSpan = 2;

-		filterCheck.setLayoutData(gd);

-		

-		pageChanged();

-

-		PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.MultiReviewPage2"); //$NON-NLS-1$

-

-		Dialog.applyDialogFont(parent);

-

-		return client;

-	}

-

-    private void createTreeViewer(Composite parent) {

-        SashForm sform = new SashForm(parent, SWT.VERTICAL);

-        GridData gd = new GridData(GridData.FILL_BOTH);

-        gd.widthHint = 250;

-        gd.heightHint =100;

-        sform.setLayoutData(gd);

-        

-        treeViewer = new ContainerCheckedTreeViewer(sform, SWT.H_SCROLL | SWT.V_SCROLL

-                | SWT.BORDER);

-        treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));

-        treeViewer.setContentProvider(new TreeContentProvider());

-        treeViewer.setLabelProvider(new TreeLabelProvider());

-        treeViewer.setInput(UpdateUI.getDefault().getUpdateModel());

-

-        treeViewer

-            .addSelectionChangedListener(new ISelectionChangedListener() {

-            public void selectionChanged(SelectionChangedEvent e) {

-                handleSelectionChanged((IStructuredSelection) e.getSelection());

-            }

-        });

-        

-        treeViewer.addCheckStateListener(new ICheckStateListener() {

-            public void checkStateChanged(CheckStateChangedEvent event) {

-                validateSelection();

-                Object site = getSite(event.getElement());

-                ArrayList descendants = new ArrayList();

-                collectDescendants(site, descendants);

-                Object[] nodes = new Object[descendants.size()];

-                for (int i=0; i<nodes.length; i++)

-                    nodes[i] = descendants.get(i);

-                treeViewer.update(nodes, null);

-                updateItemCount();

-            }

-        });

-

-//      treeViewer.addFilter(new ViewerFilter() {

-//          public boolean select(

-//              Viewer viewer,

-//              Object parentElement,

-//              Object element) {

-//              if (element instanceof SiteBookmark)

-//                  return !((SiteBookmark) element).isWebBookmark();

-//              return true;

-//          }

-//      });

-        

-      descLabel = new ScrolledFormText(sform, true);

-      descLabel.setText(""); //$NON-NLS-1$

-      descLabel.setBackground(parent.getBackground());

-      HyperlinkSettings settings = new HyperlinkSettings(parent.getDisplay());

-      descLabel.getFormText().setHyperlinkSettings(settings);

-      

-      gd = new GridData(SWT.FILL, SWT.FILL, true, true);

-      gd.horizontalSpan = 1;

-      descLabel.setLayoutData(gd);

-      

-      sform.setWeights(new int[] {10, 2});

-    }

-    

-    

-//    private void handleSiteChecked(SiteBookmark bookmark, boolean checked) {

-//

-//        bookmark.setSelected(checked);

-//        if (checked)

-//            bookmark.setIgnoredCategories(new String[0]);

-//            

-//        if (checked || bookmark.isSiteConnected())

-//            treeViewer.setSubtreeChecked(bookmark, checked);

-//   

-//        treeViewer.setGrayed(bookmark, false);

-//    }

-//    

-//    private void handleCategoryChecked(SiteCategory category, boolean checked) {

-//        SiteBookmark bookmark = category.getBookmark();

-//

-//        ArrayList array = new ArrayList();

-//

-//        if (bookmark.isSelected()) {

-//            String[] ignored = bookmark.getIgnoredCategories();

-//            for (int i = 0; i < ignored.length; i++)

-//                array.add(ignored[i]);

-//        } else {

-//            Object[] categs = bookmark.getCatalog(true, null);

-//            for (int i = 0; i < categs.length; i++)

-//                array.add(((SiteCategory) categs[i]).getFullName());

-//        }

-//

-//        if (checked) {

-//            array.remove(category.getFullName());

-//        } else {

-//            array.add(category.getFullName());

-//        }

-//

-//        bookmark.setIgnoredCategories((String[]) array.toArray(new String[array

-//                .size()]));

-//

-//        Object[] children = ((TreeContentProvider) treeViewer

-//                .getContentProvider()).getChildren(category.getBookmark());

-//        treeViewer.setChecked(bookmark, array.size() < children.length);

-//        bookmark.setSelected(array.size() < children.length);

-//        

-//        if (checked)

-//            treeViewer.setSubtreeChecked(bookmark, checked);

-//        

-//        treeViewer.setGrayed(bookmark, array.size() > 0

-//                && array.size() < children.length);

-//    }

-//

-//    private void handleFeatureChecked(IInstallFeatureOperation job, boolean checked) {

-//        treeViewer.setGrayed(job, false);

-//    }

-    

-    private void handleSelectionChanged(IStructuredSelection ssel) {

-        //boolean enable = false;

-        Object item = ssel.getFirstElement();

-        String description = null;

-        if (item instanceof SiteBookmark) {

-            //enable = !((SiteBookmark) item).isReadOnly();

-            description = ((SiteBookmark)item).getDescription();

-        } else if (item instanceof SiteCategory) {

-            IURLEntry descEntry = ((SiteCategory)item).getCategory().getDescription();

-            if (descEntry != null)

-                description = descEntry.getAnnotation();

-        } else if (item instanceof IInstallFeatureOperation) {

-            jobSelected(ssel);

-//            IURLEntry descEntry = ((IInstallFeatureOperation)item).getFeature().getDescription();

-//            if (descEntry != null)

-//                description = descEntry.getAnnotation();

-            return;

-        }

-

-        if (description == null)

-            description = ""; //$NON-NLS-1$

-        descLabel.setText(UpdateManagerUtils.getWritableXMLString(description));

-        propertiesButton.setEnabled(false);

-        moreInfoButton.setEnabled(false);

-    }

-

-/*	

-	private void fillContextMenu(IMenuManager manager) {

-		if (treeViewer.getSelection().isEmpty()) return;

-		Action action = new Action(UpdateUIMessages.InstallWizard_ReviewPage_prop) { 

-			public void run() {

-				handleProperties();

-			}

-		};

-		manager.add(action);

-	}

-*/

-

-	private void jobSelected(IStructuredSelection selection) {

-		IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();

-		IFeature feature = job != null ? job.getFeature() : null;

-		IURLEntry descEntry = feature != null ? feature.getDescription() : null;

-		String desc = null;

-		if (descEntry != null)

-			desc = descEntry.getAnnotation();

-		if (desc == null)

-			desc = ""; //$NON-NLS-1$

-		descLabel.setText(UpdateManagerUtils.getWritableXMLString(desc));

-		propertiesButton.setEnabled(feature != null);

-		moreInfoButton.setEnabled(job != null && getMoreInfoURL(job) != null);

-	}

-	

-	private void pageChanged() {

-		Object[] checked = getSelectedJobs();

-		updateItemCount();

-		if (checked.length > 0) {

-			validateSelection();

-		} else {

-			lastDisplayedStatus = null;

-			setErrorMessage(null);

-			setPageComplete(false);

-			validationStatus = null;

-			problematicFeatures.clear();

-		}

-		treeViewer.update(jobs.toArray(), null);

-		statusButton.setEnabled(validationStatus != null);

-        treeViewer.refresh();

-	}

-	

-	private void updateItemCount() {

-		updateItemCount(-1, -1);

-	}

-

-	private void updateItemCount(int checkedCount, int totalCount) {

-		if (checkedCount == -1) {

-			Object[] checkedElements = getSelectedJobs();

-			checkedCount = checkedElements.length;

-		}

-		if (totalCount == -1) {

-			totalCount = jobs.size();

-		}

-		String total = "" + totalCount; //$NON-NLS-1$

-		String selected = "" + checkedCount; //$NON-NLS-1$

-		counterLabel.setText(

-			NLS.bind(UpdateUIMessages.InstallWizard_ReviewPage_counter, (new String[] { selected, total })));	

-        counterLabel.getParent().layout();

-	}

-

-//	private void handleSelectAll(boolean select) {

-//		treeViewer.setAllChecked(select);

-////		 make sure model is local (download using progress monitor from container)

-//		downloadIncludedFeatures(); 

-//			

-//		treeViewer.getControl().getDisplay().asyncExec(new Runnable() {

-//			public void run() {

-//				pageChanged();

-//			}

-//		});

-//	}

-

-//  private void handleSelectAll(boolean select) {

-//  treeViewer.setAllChecked(select);

-////     make sure model is local (download using progress monitor from container)

-//  downloadIncludedFeatures(); 

-//      

-//  treeViewer.getControl().getDisplay().asyncExec(new Runnable() {

-//      public void run() {

-//          pageChanged();

-//      }

-//  });

-//}

-

-   private void handleDeselectAll() {

-        treeViewer.setCheckedElements(new Object[0]);

-        // make sure model is local (download using progress monitor from

-        // container)

-//        downloadIncludedFeatures();

-

-        treeViewer.getControl().getDisplay().asyncExec(new Runnable() {

-            public void run() {

-                pageChanged();

-            }

-        });

-}

-    

-	private void handleProperties() {

-		final IStructuredSelection selection =

-			(IStructuredSelection) treeViewer.getSelection();

-

-		final IInstallFeatureOperation job =

-			(IInstallFeatureOperation) selection.getFirstElement();

-		if (propertiesAction == null) {

-			propertiesAction =

-				new FeaturePropertyDialogAction(getShell(), treeViewer);

-		}

-

-		BusyIndicator

-			.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {

-			public void run() {

-				SimpleFeatureAdapter adapter =

-					new SimpleFeatureAdapter(job.getFeature());

-				propertiesAction.selectionChanged(

-					new StructuredSelection(adapter));

-				propertiesAction.run();

-			}

-		});

-	}

-

-	private String getMoreInfoURL(IInstallFeatureOperation job) {

-		IURLEntry desc = job.getFeature().getDescription();

-		if (desc != null) {

-			URL url = desc.getURL();

-			return (url == null) ? null : url.toString();

-		}

-		return null;

-	}

-

-	private void handleMoreInfo() {

-		IStructuredSelection selection =

-			(IStructuredSelection) treeViewer.getSelection();

-		final IInstallFeatureOperation selectedJob =

-			(IInstallFeatureOperation) selection.getFirstElement();

-		BusyIndicator

-			.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {

-			public void run() {

-				String urlName = getMoreInfoURL(selectedJob);

-				UpdateUI.showURL(urlName);

-			}

-		});

-	}

-

-	private IStatus selectRequiredFeatures() {

-		

-		IInstallFeatureOperation[] jobs = getSelectedJobs();

-		RequiredFeaturesResult requiredFeaturesResult = ((OperationValidator)OperationsManager

-				.getValidator()).getRequiredFeatures(jobs);

-		validationStatus = requiredFeaturesResult.getStatus();

-		Set requiredFeatures = requiredFeaturesResult.getRequiredFeatures();

-		problematicFeatures.clear();

-

-		Iterator requiredFeaturesIterator = requiredFeatures.iterator();

-		ArrayList toBeInstalled = new ArrayList();

-		

-		while (requiredFeaturesIterator.hasNext()) {

-			IImport requiredFeature = ((InternalImport)requiredFeaturesIterator.next()).getImport();

-

-			IInstallFeatureOperation currentFeatureSelected = null;

-			TreeItem[] items = treeViewer.getTree().getItems();

-			for (int i = 0; i < items.length; i++) {

-				TreeItem[] siteRootContent = items[i].getItems();

-				for (int j = 0; j < siteRootContent.length; j++) {

-					if (siteRootContent[j].getData() instanceof SiteCategory) {

-						

-						if ( !treeViewer.getChecked(siteRootContent[j].getData())) {

-							// this category has not been checked at all so we have to create its features

-							treeViewer.createChildren(siteRootContent[j]);

-						}

-						TreeItem[] features = siteRootContent[j].getItems();

-						if ((features.length > 0) && (features[0].getData() == null)) {

-							// this category has been checked but not visited yet so restore the features in it

-							treeViewer.createChildren(siteRootContent[j]);

-							treeViewer.updateChildrenItems(siteRootContent[j]);

-							features = siteRootContent[j].getItems();

-						}

-						

-						for (int k = 0; k < features.length; k++) {

-							currentFeatureSelected = decideOnFeatureSelection(

-									requiredFeature,

-									(IInstallFeatureOperation) features[k]

-											.getData(), currentFeatureSelected);

-						}

-					} else if (siteRootContent[j].getData() instanceof IInstallFeatureOperation) {

-						currentFeatureSelected = decideOnFeatureSelection(

-								requiredFeature,

-								(IInstallFeatureOperation) siteRootContent[j]

-										.getData(), currentFeatureSelected);

-					}

-				}

-			}

-

-			if (currentFeatureSelected != null)

-				toBeInstalled.add(currentFeatureSelected);

-		}

-

-		if (!toBeInstalled.isEmpty()) {

-			//System.out.println("and to be installed:"+ toBeInstalled.size());

-			Iterator toBeInstalledIterator = toBeInstalled.iterator();

-			while (toBeInstalledIterator.hasNext()) {

-				treeViewer.setChecked(toBeInstalledIterator.next(), true);			

-			}

-			return selectRequiredFeatures();

-		} else {

-			problematicFeatures.clear();

-			if (validationStatus != null) {

-				IStatus[] status = validationStatus.getChildren();

-				for (int i = 0; i < status.length; i++) {

-					IStatus singleStatus = status[i];

-					if (isSpecificStatus(singleStatus)) {

-						IFeature f = ((FeatureStatus) singleStatus)

-								.getFeature();

-						problematicFeatures.add(f);

-					}

-				}

-			}

-

-			setPageComplete(validationStatus == null

-					|| validationStatus.getCode() == IStatus.WARNING);

-

-			updateWizardMessage();

-			

-			treeViewer.update(getSelectedJobs(), null);

-			statusButton.setEnabled(validationStatus != null && validationStatus.getCode() != IStatus.OK);

-

-			//System.out.println("# of jobs selected: " + getSelectedJobs().length);

-			return validationStatus;

-		}

-	}

-

-	public IInstallFeatureOperation[] getSelectedJobs() {      

-        Object[] selected = treeViewer.getCheckedElements();

-        ArrayList selectedJobs = new ArrayList(selected.length);

-        for (int i=0; i<selected.length; i++)

-            if (selected[i] instanceof IInstallFeatureOperation)

-                selectedJobs.add(selected[i]);

-        return (IInstallFeatureOperation[])selectedJobs.toArray(new IInstallFeatureOperation[selectedJobs.size()]);

-	}

-

-	public void validateSelection() {

-		IInstallFeatureOperation[] jobs = getSelectedJobs();

-		validationStatus =

-			OperationsManager.getValidator().validatePendingChanges(jobs);

-		problematicFeatures.clear();

-		if (validationStatus != null) {

-			IStatus[] status = validationStatus.getChildren();

-			for (int i = 0; i < status.length; i++) {

-				IStatus singleStatus = status[i];

-				if(isSpecificStatus(singleStatus)){

-					IFeature f = ((FeatureStatus) singleStatus).getFeature();

-					problematicFeatures.add(f);				

-				}

-			}

-		}

-

-		setPageComplete(validationStatus == null || validationStatus.getCode() == IStatus.WARNING);

-		

-		statusButton.setEnabled(validationStatus != null && validationStatus.getCode() != IStatus.OK);

-		

-		updateWizardMessage();

-	}

-

-	private void showStatus() {

-		if (validationStatus != null) {

-			new StatusDialog().open();

-		}

-

-	}

-	/**

-	 * Check whether status is relevant to show for

-	 * a specific feature or is a other problem

-	 * @param status

-	 * @return true if status is FeatureStatus with

-	 * specified feature and certain error codes

-	 */

-	private boolean isSpecificStatus(IStatus status){

-		if(!(status instanceof FeatureStatus)){

-			return false;

-		}

-		if(status.getSeverity()!=IStatus.ERROR){

-			return false;

-		}

-		FeatureStatus featureStatus = (FeatureStatus) status;

-		if(featureStatus.getFeature()==null){

-			return false;

-		}

-		return 0!= (featureStatus.getCode()

-				& FeatureStatus.CODE_CYCLE

-				+ FeatureStatus.CODE_ENVIRONMENT

-				+ FeatureStatus.CODE_EXCLUSIVE

-				+ FeatureStatus.CODE_OPTIONAL_CHILD

-				+ FeatureStatus.CODE_PREREQ_FEATURE

-				+ FeatureStatus.CODE_PREREQ_PLUGIN);

-	}

-	/**

-	 * Update status in the wizard status area

-	 */

-	private void updateWizardMessage() {

-		if (validationStatus == null) {

-			lastDisplayedStatus=null;

-			setErrorMessage(null);

-		} else if (validationStatus.getCode() == IStatus.WARNING) {

-			lastDisplayedStatus=null;

-			setErrorMessage(null);

-			setMessage(validationStatus.getMessage(), IMessageProvider.WARNING);

-		} else {

-			// 1.  Feature selected, creating a problem for it, show status for it

-			if(newlySelectedFeature !=null){

-				IStatus[] status = validationStatus.getChildren();

-				for(int s =0; s< status.length; s++){

-					if(isSpecificStatus(status[s])){

-						FeatureStatus featureStatus = (FeatureStatus)status[s];

-						if(newlySelectedFeature.equals(featureStatus.getFeature())){

-							lastDisplayedStatus=featureStatus;

-							setErrorMessage(featureStatus.getMessage());

-							return;

-						}

-					}

-				}

-			}

-			

-			// 2.  show old status if possible (it is still valid)

-			if(lastDisplayedStatus !=null){

-				IStatus[] status = validationStatus.getChildren();

-				for(int i=0; i<status.length; i++){

-					if(lastDisplayedStatus.equals(status[i])){

-						//lastDisplayedStatus=lastDisplayedStatus;

-						//setErrorMessage(status[i].getMessage());

-						return;

-					}

-				}

-				lastDisplayedStatus = null;

-			}

-			

-			// 3.  pick the first problem that is specific to some feature

-			IStatus[] status = validationStatus.getChildren();

-			for(int s =0; s< status.length; s++){

-				if(isSpecificStatus(status[s])){

-					lastDisplayedStatus = (FeatureStatus)status[s];

-					setErrorMessage(status[s].getMessage());

-					return;

-				}

-			}

-				

-			// 4.  display the first problem (no problems specify a feature)

-			if(status.length>0){

-				IStatus singleStatus=status[0];

-				setErrorMessage(singleStatus.getMessage());

-			}else{

-			// 5. not multi or empty multi status

-				setErrorMessage(UpdateUIMessages.InstallWizard_ReviewPage_invalid_long); 

-			}

-		}

-	}

-

-	class StatusDialog extends ErrorDialog {

-//		Button detailsButton;

-		public StatusDialog() {

-			super(getContainer().getShell(), UpdateUIMessages.InstallWizard_ReviewPage_invalid_short, null, //$NON-NLS-1$

-					validationStatus, IStatus.OK | IStatus.INFO

-							| IStatus.WARNING | IStatus.ERROR);

-		}

-//		protected Button createButton(

-//				Composite parent,

-//				int id,

-//				String label,

-//				boolean defaultButton) {

-//			Button b = super.createButton(parent, id, label, defaultButton);

-//			if(IDialogConstants.DETAILS_ID == id){

-//				detailsButton = b;

-//			}

-//			return b;

-//		}

-		public void create() {

-			super.create();

-			buttonPressed(IDialogConstants.DETAILS_ID);

-//			if(detailsButton!=null){

-//				detailsButton.dispose();

-//			}

-		}

-	}

-

-	/**

-	 * @return true, if completed, false if canceled by the user

-	 */

-	private boolean downloadIncludedFeatures() {

-		try {

-			Downloader downloader = new Downloader(jobs);

-			getContainer().run(true, true, downloader);

-			return !downloader.isCanceled();

-		} catch (InvocationTargetException ite) {

-		} catch (InterruptedException ie) {

-		}

-		return true;

-	}

-	/**

-	 * Runnable to resolve included feature references.

-	 */

-	class Downloader implements IRunnableWithProgress {

-		boolean canceled = false;

-		/**

-		 * List of IInstallFeatureOperation

-		 */

-		ArrayList operations;

-		public Downloader(ArrayList installOperations) {

-			operations = installOperations;

-		}

-		public boolean isCanceled() {

-			return canceled;

-		}

-		public void run(IProgressMonitor monitor)

-				throws InvocationTargetException, InterruptedException {

-			for (int i = 0; i < operations.size(); i++) {

-				IInstallFeatureOperation candidate = (IInstallFeatureOperation) operations

-						.get(i);

-				IFeature feature = candidate.getFeature();

-				try {

-					IFeatureReference[] irefs = feature

-							.getRawIncludedFeatureReferences();

-					for (int f = 0; f < irefs.length; f++) {

-						if (monitor.isCanceled()) {

-							canceled = true;

-							return;

-						}

-						IFeatureReference iref = irefs[f];

-						iref.getFeature(monitor);

-					}

-				} catch (CoreException e) {

-				}

-			}

-			if (monitor.isCanceled()) {

-				canceled = true;

-			}

-		}

-	}

-    

-    private IInstallFeatureOperation findJob(FeatureReferenceAdapter feature)

-            throws CoreException {

-        if (jobs == null)

-            return null;

-        for (int i = 0; i < jobs.size(); i++)

-            if (((IInstallFeatureOperation) jobs.get(i)).getFeature()

-                    .getVersionedIdentifier().equals(feature.getFeatureReference()

-                    .getVersionedIdentifier()))

-                return (IInstallFeatureOperation) jobs.get(i);

-

-        return null;

-    }

-    

-    private Object getSite(Object object) {

-        ITreeContentProvider provider = (ITreeContentProvider)treeViewer.getContentProvider();

-        while (object != null && !(object instanceof SiteBookmark)) {

-            object = provider.getParent(object);

-        }

-        return object;

-    }

-    

-    private void collectDescendants(Object root, ArrayList list) {

-        ITreeContentProvider provider = (ITreeContentProvider)treeViewer.getContentProvider();

-        Object[] children = provider.getChildren(root);

-        if (children != null && children.length > 0)

-            for (int i=0; i<children.length; i++) {

-                list.add(children[i]);

-                collectDescendants(children[i], list);

-            }

-    }

-

-	public boolean isFeatureGood(IImport requiredFeature,

-			IInstallFeatureOperation feature) {

-

-		if (!requiredFeature.getVersionedIdentifier().getIdentifier().equals(

-				feature.getFeature().getVersionedIdentifier().getIdentifier())) {

-			return false;

-		}

-

-		int rule = (requiredFeature.getRule() != IImport.RULE_NONE) ? requiredFeature

-				.getRule()

-				: IImport.RULE_COMPATIBLE;

-

-		switch (rule) {

-		case IImport.RULE_PERFECT:

-			return feature.getFeature().getVersionedIdentifier().getVersion()

-					.isPerfect(

-							requiredFeature.getVersionedIdentifier()

-									.getVersion());

-		case IImport.RULE_EQUIVALENT:

-			return feature.getFeature().getVersionedIdentifier().getVersion()

-					.isEquivalentTo(

-							requiredFeature.getVersionedIdentifier()

-									.getVersion());

-		case IImport.RULE_COMPATIBLE:

-			return feature.getFeature().getVersionedIdentifier().getVersion()

-					.isCompatibleWith(

-							requiredFeature.getVersionedIdentifier()

-									.getVersion());

-		case IImport.RULE_GREATER_OR_EQUAL:

-			return feature.getFeature().getVersionedIdentifier().getVersion()

-					.isGreaterOrEqualTo(

-							requiredFeature.getVersionedIdentifier()

-									.getVersion());

-		}

-

-		return false;

-	}

-

-	public boolean isFeatureBetter(IInstallFeatureOperation feature,

-			IInstallFeatureOperation currentFeatureSelected) {

-

-		if (currentFeatureSelected == null)

-			return true;

-

-		return !currentFeatureSelected.getFeature().getVersionedIdentifier()

-				.getVersion().isGreaterOrEqualTo(

-						feature.getFeature().getVersionedIdentifier()

-								.getVersion());

-	}

-

-	public IInstallFeatureOperation decideOnFeatureSelection(

-			IImport requiredFeature, IInstallFeatureOperation feature,

-			IInstallFeatureOperation currentFeatureSelected) {

-

-		if (isFeatureGood(requiredFeature, feature)

-				&& isFeatureBetter(feature, currentFeatureSelected)) {

-			return feature;

-		} else {

-			return currentFeatureSelected;

-		}

-	}

-	

-	private boolean isFeatureProblematic(IFeature feature) {

-		

-		if ( problematicFeatures.contains(feature) )

-			return true;

-		

-		IImport[] iimports = feature.getImports();

-		

-		for(int i = 0; i < iimports.length; i++) {

-			Iterator problematicFeatures = this.problematicFeatures.iterator();

-			while(problematicFeatures.hasNext()) {

-				if (iimports[i].getVersionedIdentifier().equals( ((IFeature)problematicFeatures.next()).getVersionedIdentifier()) ) {

-					return true;

-				}

-			}

-		}

-		try {

-			Iterator includedFeatures = OperationValidator.computeFeatureSubtree(feature, null, null, false, new ArrayList(), null ).iterator();

-			while (includedFeatures.hasNext()) {

-				Iterator problematicFeatures = this.problematicFeatures.iterator();		

-				VersionedIdentifier currentIncludedFeaturesVI = ((IFeature)includedFeatures.next()).getVersionedIdentifier();

-				while (problematicFeatures.hasNext()) {

-					Object currentProblematicFeatures = problematicFeatures.next();

-					if (currentProblematicFeatures instanceof IFeature) {

-						VersionedIdentifier currentProblematicFeaturesVI = ((IFeature)currentProblematicFeatures).getVersionedIdentifier();						

-						if (currentProblematicFeaturesVI.equals( currentIncludedFeaturesVI) ) {

-							return true;

-						}

-					}

-				}

-			}

-		} catch (CoreException ce) {

-		}

- 		return false;

-	}

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java
deleted file mode 100644
index 4a3ea65..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/ShowActivitiesDialog.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.text.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.core.*;
-import org.eclipse.update.internal.ui.*;
-
-
-
-public class ShowActivitiesDialog extends Dialog {
-	private TableViewer activitiesViewer;
-
-	// location configuration
-	private IDialogSettings dialogSettings;
-	private Point dialogLocation;
-	private Point dialogSize;
-
-	/**
-	 * @param parentShell
-	 */
-	public ShowActivitiesDialog(Shell parentShell) {
-		super(parentShell);
-		setShellStyle(SWT.RESIZE | SWT.MIN | SWT.MAX | SWT.APPLICATION_MODAL);
-		readConfiguration();
-	}
-	
-	public void create() {
-		super.create();
-		// dialog location 
-		if (dialogLocation != null)
-			getShell().setLocation(dialogLocation);
-		
-		// dialog size
-		if (dialogSize != null)
-			getShell().setSize(dialogSize);
-		else
-			getShell().setSize(500,500);
-		
-		
-		applyDialogFont(buttonBar);
-		getButton(IDialogConstants.OK_ID).setFocus();
-	}
-
-	protected Control createDialogArea(Composite parent) {
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 1;
-		layout.makeColumnsEqualWidth = false;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.grabExcessHorizontalSpace = true;
-		gd.grabExcessVerticalSpace = true;
-		container.setLayoutData(gd);
-		createDescriptionSection(container);
-		createActivitiesViewer(container);
-		Dialog.applyDialogFont(container);
-		return container;
-	}
-
-	protected Control createDescriptionSection(Composite parent){
-		Composite container = new Composite(parent, SWT.NONE);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.makeColumnsEqualWidth = false;
-		container.setLayout(layout);
-		GridData gd = new GridData(GridData.FILL_HORIZONTAL);
-		container.setLayoutData(gd);
-		try {
-			Label targetLabel = new Label(container, SWT.NONE);
-			targetLabel.setText(UpdateUIMessages.ShowActivitiesDialog_date); 
-			Label target = new Label(container, SWT.NONE);
-			DateFormat df = DateFormat.getDateTimeInstance();
-			String localizedDate = df.format(SiteManager.getLocalSite().getCurrentConfiguration().getCreationDate());
-			target.setText(localizedDate);
-			
-			Label urlLabel = new Label(container, SWT.NONE);
-			urlLabel.setText(UpdateUIMessages.ShowActivitiesDialog_loc); 
-			Label url = new Label(container, SWT.NONE);
-			url.setText(((InstallConfiguration)SiteManager.getLocalSite().getCurrentConfiguration()).getURL().getFile());
-			
-			
-		} catch (CoreException e) {
-			UpdateUI.logException(e);
-		}
-		return container;
-	}
-	protected Control createActivitiesViewer(Composite parent) {
-		Composite composite = new Composite(parent, SWT.NONE);
-		GridLayout gridLayout = new GridLayout();
-		gridLayout.marginHeight = gridLayout.marginWidth = 4;
-		composite.setLayout(gridLayout);
-
-		GridData gd = new GridData(GridData.FILL_BOTH);
-//		gd.grabExcessHorizontalSpace = true;
-//		gd.grabExcessVerticalSpace = true;
-
-		composite.setLayoutData(gd);
-
-		
-		Label label = new Label(composite, SWT.NONE);
-		label.setText(UpdateUIMessages.ShowActivitiesDialog_label); 
-		activitiesViewer = ActivitiesTableViewer.createViewer(composite, true);
-
-		TableLayout layout = new TableLayout();
-		layout.addColumnData(new ColumnWeightData(8, 20, false));
-		layout.addColumnData(new ColumnWeightData(50, 160, true));
-		layout.addColumnData(new ColumnWeightData(50, 183, true));
-		layout.addColumnData(new ColumnWeightData(50, 100, true));
-
-		activitiesViewer.getTable().setLayout(layout);
-		try {
-			activitiesViewer.setInput(SiteManager.getLocalSite().getCurrentConfiguration());
-		} catch (CoreException e) {
-		}
-		Dialog.applyDialogFont(composite);
-		return composite;
-	}
-
-	protected void createButtonsForButtonBar(Composite parent) {
-		// create OK button only by default
-		createButton(parent, IDialogConstants.OK_ID, IDialogConstants.OK_LABEL, true);
-	}
-
-	public boolean close() {
-		storeSettings();
-		return super.close();
-	}
-	
-	/**
-	 * Stores the current state in the dialog settings.
-	 * @since 2.0
-	 */
-	private void storeSettings() {
-		writeConfiguration();
-	}
-	/**
-	 * Returns the dialog settings object used to share state
-	 * between several event detail dialogs.
-	 * 
-	 * @return the dialog settings to be used
-	 */
-	private IDialogSettings getDialogSettings() {
-		IDialogSettings settings = UpdateUI.getDefault().getDialogSettings();
-		dialogSettings = settings.getSection(getClass().getName());
-		if (dialogSettings == null)
-			dialogSettings= settings.addNewSection(getClass().getName());
-		return dialogSettings;
-	}
-
-	/**
-	 * Initializes itself from the dialog settings with the same state
-	 * as at the previous invocation.
-	 */
-	private void readConfiguration() {
-		IDialogSettings s= getDialogSettings();
-		try {
-			int x= s.getInt("x"); //$NON-NLS-1$
-			int y= s.getInt("y"); //$NON-NLS-1$
-			dialogLocation= new Point(x, y);
-			
-			x = s.getInt("width"); //$NON-NLS-1$
-			y = s.getInt("height"); //$NON-NLS-1$
-			dialogSize = new Point(x,y);
-		} catch (NumberFormatException e) {
-			dialogLocation= null;
-			dialogSize = null;
-		}
-	}
-	
-	private void writeConfiguration(){
-		IDialogSettings s = getDialogSettings();
-		Point location = getShell().getLocation();
-		s.put("x", location.x); //$NON-NLS-1$
-		s.put("y", location.y); //$NON-NLS-1$
-		
-		Point size = getShell().getSize();
-		s.put("width", size.x); //$NON-NLS-1$
-		s.put("height", size.y); //$NON-NLS-1$
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java
deleted file mode 100644
index 2ddbfa9..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitePage.java
+++ /dev/null
@@ -1,572 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2003, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.net.URL;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.CheckStateChangedEvent;
-import org.eclipse.jface.viewers.CheckboxTreeViewer;
-import org.eclipse.jface.viewers.ICheckStateListener;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.IStructuredSelection;
-import org.eclipse.jface.viewers.ITreeContentProvider;
-import org.eclipse.jface.viewers.LabelProvider;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.TreeItem;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.HyperlinkSettings;
-import org.eclipse.ui.forms.widgets.ScrolledFormText;
-import org.eclipse.update.internal.core.UpdateManagerUtils;
-import org.eclipse.update.internal.ui.UpdateUI;
-import org.eclipse.update.internal.ui.UpdateUIImages;
-import org.eclipse.update.internal.ui.UpdateUIMessages;
-import org.eclipse.update.internal.ui.model.DiscoveryFolder;
-import org.eclipse.update.internal.ui.model.SiteBookmark;
-import org.eclipse.update.internal.ui.model.SiteCategory;
-import org.eclipse.update.internal.ui.model.UpdateModel;
-import org.eclipse.update.internal.ui.parts.DefaultContentProvider;
-import org.eclipse.update.internal.ui.parts.SWTUtil;
-import org.eclipse.update.operations.IUpdateModelChangedListener;
-import org.eclipse.update.search.EnvironmentFilter;
-import org.eclipse.update.search.UpdateSearchRequest;
-import org.eclipse.update.search.UpdateSearchScope;
-
-public class SitePage extends BannerPage implements ISearchProvider {
-
-	class TreeContentProvider
-		extends DefaultContentProvider
-		implements ITreeContentProvider {
-
-		public Object[] getElements(Object parent) {
-			return getAllSiteBookmarks();
-		}
-
-		public Object[] getChildren(final Object parent) {
-//			if (parent instanceof SiteBookmark) {
-//				final SiteBookmark bookmark = (SiteBookmark) parent;
-//				if (bookmark.isUnavailable())
-//					return new Object[0];
-//				final Object[] children =
-//					getSiteCatalogWithIndicator(
-//						bookmark,
-//						!bookmark.isSiteConnected());
-//				treeViewer.getControl().getDisplay().asyncExec(new Runnable() {
-//					public void run() {
-//						if (children.length > 0)
-//							handleSiteExpanded(bookmark, children);
-//					}
-//				});
-//				return children;
-//			}
-			return new Object[0];
-		}
-
-		public Object getParent(Object element) {
-//			if (element instanceof SiteCategory)
-//				return ((SiteCategory) element).getBookmark();
-			return null;
-		}
-
-		public boolean hasChildren(Object element) {
-            return false;
-//			return (element instanceof SiteBookmark);
-		}
-
-	}
-
-	class TreeLabelProvider extends LabelProvider {
-
-		public Image getImage(Object obj) {
-			if (obj instanceof SiteBookmark)
-				return UpdateUI.getDefault().getLabelProvider().get(
-					UpdateUIImages.DESC_SITE_OBJ);
-			if (obj instanceof SiteCategory)
-				return UpdateUI.getDefault().getLabelProvider().get(
-					UpdateUIImages.DESC_CATEGORY_OBJ);
-			return super.getImage(obj);
-		}
-
-		public String getText(Object obj) {
-			if (obj instanceof SiteBookmark) {
-				return ((SiteBookmark) obj).getLabel();
-			}
-			return super.getText(obj);
-		}
-	}
-
-	class ModelListener implements IUpdateModelChangedListener {
-		public void objectChanged(Object object, String property) {
-			treeViewer.refresh();
-			checkItems();
-		}
-
-		public void objectsAdded(Object parent, Object[] children) {
-            treeViewer.refresh();
-			checkItems();
-		}
-
-		public void objectsRemoved(Object parent, Object[] children) {
-			treeViewer.refresh();
-			checkItems();
-		}
-	}
-
-	private static DiscoveryFolder discoveryFolder = new DiscoveryFolder();
-	private CheckboxTreeViewer treeViewer;
-	private ScrolledFormText descLabel;
-	private Button addSiteButton;
-	private Button addLocalButton;
-	private Button addLocalZippedButton;
-	private Button editButton;
-	private Button removeButton;
-	private Button exportButton;
-	private Button importButton;
-	private Button envFilterCheck;
-	private EnvironmentFilter envFilter;
-	private UpdateSearchRequest searchRequest;
-	private ModelListener modelListener;
-
-	public SitePage(UpdateSearchRequest searchRequest) {
-		super("SitePage"); //$NON-NLS-1$
-        this.searchRequest = searchRequest;
-		setTitle(UpdateUIMessages.SitePage_title); 
-		setDescription(UpdateUIMessages.SitePage_desc); 
-		UpdateUI.getDefault().getLabelProvider().connect(this);
-    	envFilter = new EnvironmentFilter();
-
-		modelListener = new ModelListener();
-		UpdateUI.getDefault().getUpdateModel().addUpdateModelChangedListener(
-			modelListener);
-	}
-
-	private void toggleEnvFilter(boolean add) {
-		if (add)
-			searchRequest.addFilter(envFilter);
-		else
-			searchRequest.removeFilter(envFilter);
-	}
-
-	public void dispose() {
-		UpdateUI.getDefault().getLabelProvider().disconnect(this);
-		UpdateUI
-			.getDefault()
-			.getUpdateModel()
-			.removeUpdateModelChangedListener(
-			modelListener);
-		super.dispose();
-	}
-
-	/*
-	 * (non-Javadoc) @see
-	 * org.eclipse.update.internal.ui.wizards.BannerPage#createContents(org.eclipse.swt.widgets.Composite)
-	 */
-	protected Control createContents(Composite parent) {
-		Composite client = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		client.setLayout(layout);
-
-		Label label = new Label(client, SWT.NULL);
-		label.setText(UpdateUIMessages.SitePage_label); 
-		GridData gd = new GridData();
-		gd.horizontalSpan = 2;
-		label.setLayoutData(gd);
-
-		createTreeViewer(client);
-
-		Composite buttonContainer = new Composite(client, SWT.NULL);
-		buttonContainer.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		layout = new GridLayout();
-		layout.marginWidth = 0;
-		layout.marginHeight = 0;
-		buttonContainer.setLayout(layout);
-
-		addSiteButton = new Button(buttonContainer, SWT.PUSH);
-		addSiteButton.setText(UpdateUIMessages.SitePage_addUpdateSite); 
-		addSiteButton.setLayoutData(
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(addSiteButton);
-		addSiteButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleAddSite();
-			}
-		});
-
-		addLocalButton = new Button(buttonContainer, SWT.PUSH);
-		addLocalButton.setText(UpdateUIMessages.SitePage_addLocalSite); 
-		addLocalButton.setLayoutData(
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(addLocalButton);
-		addLocalButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleAddLocal();
-			}
-		});
-
-		addLocalZippedButton = new Button(buttonContainer, SWT.PUSH);
-		addLocalZippedButton.setText(UpdateUIMessages.SitePage_addLocalZippedSite); 
-		addLocalZippedButton.setLayoutData(
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(addLocalZippedButton);
-		addLocalZippedButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleAddLocalZipped();
-			}
-		});
-		
-		// separator
-		new Label(buttonContainer, SWT.None);
-		
-		editButton = new Button(buttonContainer, SWT.PUSH);
-		editButton.setText(UpdateUIMessages.SitePage_edit); 
-		editButton.setEnabled(false);
-		editButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(editButton);
-		editButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleEdit();
-			}
-		});
-
-		removeButton = new Button(buttonContainer, SWT.PUSH);
-		removeButton.setText(UpdateUIMessages.SitePage_remove); 
-		removeButton.setEnabled(false);
-		removeButton.setLayoutData(
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(removeButton);
-		removeButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleRemove();
-			}
-		});
-		
-		// separator
-		new Label(buttonContainer, SWT.None);
-		
-		importButton = new Button(buttonContainer, SWT.PUSH);
-		importButton.setText(UpdateUIMessages.SitePage_import); 
-		importButton.setLayoutData(
-			new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(importButton);
-		importButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleImport();
-			}
-		});
-		
-		exportButton = new Button(buttonContainer, SWT.PUSH);
-		exportButton.setText(UpdateUIMessages.SitePage_export); 
-		exportButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(exportButton);
-		exportButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				handleExport();
-			}
-		});
-
-		descLabel = new ScrolledFormText(client, true);
-		descLabel.setText(""); //$NON-NLS-1$
-		descLabel.setBackground(parent.getBackground());
-		HyperlinkSettings settings = new HyperlinkSettings(parent.getDisplay());
-		descLabel.getFormText().setHyperlinkSettings(settings);
-		
-		gd = new GridData(SWT.FILL, SWT.FILL, true, true);
-		gd.horizontalSpan = 1;
-        gd.heightHint = 30;
-		descLabel.setLayoutData(gd);
-		
-		envFilterCheck = new Button(client, SWT.CHECK);
-		envFilterCheck.setText(UpdateUIMessages.SitePage_ignore); 
-		envFilterCheck.setSelection(true);
-		toggleEnvFilter(true);
-		envFilterCheck.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				toggleEnvFilter(envFilterCheck.getSelection());
-			}
-		});
-		gd = new GridData();
-		gd.horizontalSpan = 2;
-        gd.verticalAlignment = SWT.BOTTOM;
-		envFilterCheck.setLayoutData(gd);
-
-		Dialog.applyDialogFont(parent);
-
-		PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.SitePage"); //$NON-NLS-1$
-
-		return client;
-	}
-
-	private void createTreeViewer(Composite parent) {
-		treeViewer =
-			new CheckboxTreeViewer(
-				parent,
-				SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		treeViewer.getTree().setLayoutData(new GridData(GridData.FILL_BOTH));
-		treeViewer.setContentProvider(new TreeContentProvider());
-		treeViewer.setLabelProvider(new TreeLabelProvider());
-		treeViewer.setInput(UpdateUI.getDefault().getUpdateModel());
-
-		initializeItems();
-
-		treeViewer.addCheckStateListener(new ICheckStateListener() {
-			public void checkStateChanged(CheckStateChangedEvent e) {
-				Object element = e.getElement();
-				if (element instanceof SiteBookmark)
-					handleSiteChecked((SiteBookmark) element, e.getChecked());
-//				else if (element instanceof SiteCategory) {
-//					handleCategoryChecked(
-//						(SiteCategory) element,
-//						e.getChecked());
-//				}
-			}
-		});
-
-		treeViewer
-			.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent e) {
-				handleSelectionChanged((IStructuredSelection) e.getSelection());
-			}
-		});
-
-	}
-
-	private void initializeItems() {
-		checkItems();
-		updateSearchRequest();
-	}
-
-	private void checkItems() {
-		TreeItem[] items = treeViewer.getTree().getItems();
-		for (int i = 0; i < items.length; i++) {
-			SiteBookmark bookmark = (SiteBookmark) items[i].getData();
-			treeViewer.setChecked(bookmark, bookmark.isSelected());
-//			String[] ignoredCats = bookmark.getIgnoredCategories();
-//			treeViewer.setGrayed(bookmark, ignoredCats.length > 0
-//					&& bookmark.isSelected());
-		}
-	}
-
-	private void handleAddSite() {
-		NewUpdateSiteDialog dialog = new NewUpdateSiteDialog(getShell(), getAllSiteBookmarks());
-		dialog.create();
-		dialog.getShell().setText(UpdateUIMessages.SitePage_new); 
-		if (dialog.open() == NewUpdateSiteDialog.OK)
-			updateSearchRequest();
-	}
-
-	private void handleAddLocal() {
-		SiteBookmark siteBookmark = LocalSiteSelector.getLocaLSite(getShell(), this.getAllSiteBookmarks());
-		if (siteBookmark != null) {
-			if (handleNameEdit(siteBookmark) == EditSiteDialog.OK) {
-				siteBookmark.setSelected(true);
-				UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-				model.addBookmark(siteBookmark);
-				model.saveBookmarks();
-				updateSearchRequest();
-			}
-		}
-		return;
-	}
-
-	private void handleAddLocalZipped() {
-		SiteBookmark siteBookmark = LocalSiteSelector
-				.getLocaLZippedSite(getShell(), this.getAllSiteBookmarks());
-		if (siteBookmark != null) {
-			if (handleNameEdit(siteBookmark) == EditSiteDialog.OK) {
-				siteBookmark.setSelected(true);
-				UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-				model.addBookmark(siteBookmark);
-				model.saveBookmarks();
-				updateSearchRequest();
-			}
-		}
-		return;
-	}
-
-	private void handleRemove() {
-		BusyIndicator
-			.showWhile(treeViewer.getControl().getDisplay(), new Runnable() {
-			public void run() {
-				UpdateModel updateModel =
-					UpdateUI.getDefault().getUpdateModel();
-				IStructuredSelection ssel =
-					(IStructuredSelection) treeViewer.getSelection();
-				SiteBookmark bookmark = (SiteBookmark) ssel.getFirstElement();
-				String selName = bookmark.getLabel();
-				boolean answer = MessageDialog
-								.openQuestion(
-										getShell(),
-										UpdateUIMessages.SitePage_remove_location_conf_title, //$NON-NLS-1$
-										UpdateUIMessages.SitePage_remove_location_conf
-												+ " " + selName); //$NON-NLS-1$
-
-				if (answer && !bookmark.isReadOnly()) {
-					updateModel.removeBookmark(bookmark);
-					updateSearchRequest();
-				}
-			}
-		});
-	}
-
-	private void handleEdit() {
-		IStructuredSelection ssel =
-			(IStructuredSelection) treeViewer.getSelection();
-		SiteBookmark bookmark = (SiteBookmark) ssel.getFirstElement();
-		URL oldURL = bookmark.getURL();
-		EditSiteDialog dialog = new EditSiteDialog(getShell(), bookmark, getAllSiteBookmarks());
-		dialog.create();
-		String title = bookmark.isLocal() ? UpdateUIMessages.SitePage_dialogEditLocal : UpdateUIMessages.SitePage_dialogEditUpdateSite; 
-																																				  // //$NON-NLS-2$
-		dialog.getShell().setText(title);
-		if (dialog.open() == EditSiteDialog.OK ) {
-			URL newURL = bookmark.getURL();
-			if (!UpdateManagerUtils.sameURL(oldURL, newURL)) {
-				UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-				model.fireObjectChanged(bookmark, null);
-				updateSearchRequest();	
-			}
-		}
-	}
-
-	private void handleImport() {
-		SiteBookmark[] siteBookmarks = SitesImportExport.getImportedBookmarks(getShell());
-		if (siteBookmarks != null && siteBookmarks.length > 0) {
-			UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-			SiteBookmark[] currentBookmarks = getAllSiteBookmarks();
-			for (int i=0; i<siteBookmarks.length; i++) {
-				boolean siteExists = false;
-				for (int j=0; !siteExists && j<currentBookmarks.length; j++)
-					if (currentBookmarks[j].getURL().equals(siteBookmarks[i].getURL()))
-						siteExists = true;
-				if (!siteExists)
-					model.addBookmark(siteBookmarks[i]);
-			}
-			model.saveBookmarks();
-			updateSearchRequest();
-		}
-		return;
-	}
-	
-	private void handleExport() {
-		SitesImportExport.exportBookmarks(getShell(), getAllSiteBookmarks());
-	}
-	
-	private int handleNameEdit(SiteBookmark bookmark) {
-		EditSiteDialog dialog = new EditSiteDialog(getShell(), bookmark, getAllSiteBookmarks(), true);
-		dialog.create();
-		String title = bookmark.isLocal() ? UpdateUIMessages.SitePage_dialogEditLocal : UpdateUIMessages.SitePage_dialogEditUpdateSite; 
-		// //$NON-NLS-2$
-		dialog.getShell().setText(title);
-		int rc = dialog.open();
-		return rc;
-	}
-
-	private void handleSiteChecked(SiteBookmark bookmark, boolean checked) {
-		if (bookmark.isUnavailable()) {
-			bookmark.setSelected(false);
-			treeViewer.setChecked(bookmark, false);
-			return;
-		}
-		
-		bookmark.setSelected(checked);
-		updateSearchRequest();
-	}
-
-
-	private void handleSelectionChanged(IStructuredSelection ssel) {
-		boolean enable = false;
-		Object item = ssel.getFirstElement();
-		String description = null;
-		if (item instanceof SiteBookmark) {
-			enable = !((SiteBookmark) item).isReadOnly();
-			description = ((SiteBookmark)item).getDescription();
-		} else if (item instanceof SiteCategory) {
-//			IURLEntry descEntry = ((SiteCategory)item).getCategory().getDescription();
-//			if (descEntry != null)
-//				description = descEntry.getAnnotation();
-		}
-		editButton.setEnabled(enable);
-		removeButton.setEnabled(enable);
-
-		if (description == null)
-			description = ""; //$NON-NLS-1$
-		descLabel.setText(UpdateManagerUtils.getWritableXMLString(description));
-	}
-
-	private void updateSearchRequest() {
-		Object[] checked = treeViewer.getCheckedElements();
-
-		UpdateSearchScope scope = new UpdateSearchScope();
-		int nsites = 0;
-
-		for (int i = 0; i < checked.length; i++) {
-			if (checked[i] instanceof SiteBookmark) {
-				SiteBookmark bookmark = (SiteBookmark) checked[i];
-				scope.addSearchSite(
-					bookmark.getLabel(),
-					bookmark.getURL(),
-					bookmark.getIgnoredCategories());
-				nsites++;
-			}
-		}
-		searchRequest.setScope(scope);
-		setPageComplete(nsites > 0);
-	}
-
-	public UpdateSearchRequest getSearchRequest() {
-		return searchRequest;
-	}
-    
-	public void setVisible(boolean value) {
-		super.setVisible(value);
-		if (value) {
-			// Reset all unavailable sites, so they can be tried again if the user wants it
-			SiteBookmark[] bookmarks = getAllSiteBookmarks();
-			for (int i=0; i<bookmarks.length; i++) {
-				if (bookmarks[i].isUnavailable())
-					bookmarks[i].setUnavailable(false);
-			}
-		}
-	}
-	
-	private SiteBookmark[] getAllSiteBookmarks() {
-		UpdateModel model = UpdateUI.getDefault().getUpdateModel();
-		Object[] bookmarks = model.getBookmarkLeafs();
-		Object[] sitesToVisit =
-			discoveryFolder.getChildren(discoveryFolder);
-		SiteBookmark[] all = new SiteBookmark[bookmarks.length + sitesToVisit.length];
-		System.arraycopy(bookmarks, 0, all, 0, bookmarks.length);
-		System.arraycopy(
-			sitesToVisit,
-			0,
-			all,
-			bookmarks.length,
-			sitesToVisit.length);
-		return all;
-	}
-
-	public boolean isPageComplete() {
-		return treeViewer.getCheckedElements().length != 0;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitesImportExport.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitesImportExport.java
deleted file mode 100644
index 7d38cc1..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/SitesImportExport.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.model.*;
-
-/**
- */
-public class SitesImportExport {
-
-	static String lastLocation = null;
-	
-	public SitesImportExport() {
-		super();
-	}
-	
-
-	public static SiteBookmark[] getImportedBookmarks(Shell parent) {
-		FileDialog dialog = new FileDialog(parent);
-		dialog.setText(
-			UpdateUIMessages.LocalSiteSelector_dialogMessageImport); 
-
-		dialog.setFilterExtensions(new String[] { "*.xml", "*" }); //$NON-NLS-1$ //$NON-NLS-2$
-
-		SiteBookmark[] siteBookmarks = null;
-
-		String bookmarksFile = dialog.open();
-		while (bookmarksFile != null && siteBookmarks == null) {
-			File file = new File(bookmarksFile);
-			siteBookmarks = createImportedBookmarks(file);
-			if (siteBookmarks == null || siteBookmarks.length == 0) {
-				MessageDialog.openInformation(
-					parent,
-					UpdateUIMessages.LocalSiteSelector_importInfoTitle, 
-					UpdateUIMessages.LocalSiteSelector_importInfoMessage); 
-				bookmarksFile = dialog.open();
-			} else {
-				break;
-			}
-		}
-		return siteBookmarks;
-	}
-
-	public static void exportBookmarks(Shell parent, SiteBookmark[] siteBookmarks) {
-		FileDialog dialog = new FileDialog(parent, SWT.SAVE);
-		dialog.setText(
-			UpdateUIMessages.LocalSiteSelector_dialogMessageExport); 
-
-		dialog.setFileName("bookmarks.xml"); //$NON-NLS-1$
-
-		String bookmarksFile = dialog.open();
-		if (bookmarksFile == null)
-			return;
-		
-		Vector bookmarks = new Vector(siteBookmarks.length);
-		for (int i=0; i<siteBookmarks.length; i++)
-			bookmarks.add(siteBookmarks[i]);
-		BookmarkUtil.store(bookmarksFile, bookmarks);
-	}
-	
-	/**
-	 * Creates bookmarks out from the given file
-	 * 
-	 * @param file
-	 * @return
-	 */
-	static SiteBookmark[] createImportedBookmarks(File file) {
-		Vector bookmarks = new Vector();
-		BookmarkUtil.parse(file.getAbsolutePath(), bookmarks);
-		return BookmarkUtil.getBookmarks(bookmarks);
-	}
-
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TableLayoutComposite.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TableLayoutComposite.java
deleted file mode 100644
index 275951e..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TableLayoutComposite.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlAdapter;
-import org.eclipse.swt.events.ControlEvent;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-
-import org.eclipse.jface.util.Assert;
-import org.eclipse.jface.viewers.ColumnLayoutData;
-import org.eclipse.jface.viewers.ColumnPixelData;
-import org.eclipse.jface.viewers.ColumnWeightData;
-
-/**
- * A special composite to layout columns inside a table. The composite is needed since we have
- * to layout the columns "before" the actual table gets layouted. Hence we can't use a normal
- * layout manager.
- */
-public class TableLayoutComposite extends Composite {
-
-	private List columns= new ArrayList();
-
-	/**
-	 * Creates a new <code>TableLayoutComposite</code>.
-	 */
-	public TableLayoutComposite(Composite parent, int style) {
-		super(parent, style);
-        addControlListener(new ControlAdapter() {
-            public void controlResized(ControlEvent e) {
-                Rectangle area= getClientArea();
-                Table table= (Table)getChildren()[0];
-                Point preferredSize= computeTableSize(table);
-                int width= area.width - 2 * table.getBorderWidth();
-                if (preferredSize.y > area.height) {
-                    // Subtract the scrollbar width from the total column width
-                    // if a vertical scrollbar will be required
-                    Point vBarSize = table.getVerticalBar().getSize();
-                    width -= vBarSize.x;
-                }
-                layoutTable(table, width, area, table.getSize().x < area.width);
-            }
-        });
-	}
-	
-	/**
-	 * Adds a new column of data to this table layout.
-	 *
-	 * @param data the column layout data
-	 */
-	public void addColumnData(ColumnLayoutData data) {
-		columns.add(data);
-	}
-	
-	//---- Helpers -------------------------------------------------------------------------------------
-	
-	private Point computeTableSize(Table table) {
-		Point result= table.computeSize(SWT.DEFAULT, SWT.DEFAULT);
-		
-		int width= 0;
-		int size= columns.size();
-		for (int i= 0; i < size; ++i) {
-			ColumnLayoutData layoutData= (ColumnLayoutData) columns.get(i);
-			if (layoutData instanceof ColumnPixelData) {
-				ColumnPixelData col= (ColumnPixelData) layoutData;
-				width += col.width;
-			} else if (layoutData instanceof ColumnWeightData) {
-				ColumnWeightData col= (ColumnWeightData) layoutData;
-				width += col.minimumWidth;
-			} else {
-				Assert.isTrue(false, "Unknown column layout data"); //$NON-NLS-1$
-			}
-		}
-		if (width > result.x)
-			result.x= width;
-		return result;
-	}
-	
-	private void layoutTable(Table table, int width, Rectangle area, boolean increase) {
-		// XXX: Layout is being called with an invalid value the first time
-		// it is being called on Linux. This method resets the
-		// Layout to null so we make sure we run it only when
-		// the value is OK.
-		if (width <= 1)
-			return;
-
-		TableColumn[] tableColumns= table.getColumns();
-		int size= Math.min(columns.size(), tableColumns.length);
-		int[] widths= new int[size];
-		int fixedWidth= 0;
-		int numberOfWeightColumns= 0;
-		int totalWeight= 0;
-
-		// First calc space occupied by fixed columns
-		for (int i= 0; i < size; i++) {
-			ColumnLayoutData col= (ColumnLayoutData) columns.get(i);
-			if (col instanceof ColumnPixelData) {
-				int pixels= ((ColumnPixelData) col).width;
-				widths[i]= pixels;
-				fixedWidth += pixels;
-			} else if (col instanceof ColumnWeightData) {
-				ColumnWeightData cw= (ColumnWeightData) col;
-				numberOfWeightColumns++;
-				// first time, use the weight specified by the column data, otherwise use the actual width as the weight
-				// int weight = firstTime ? cw.weight : tableColumns[i].getWidth();
-				int weight= cw.weight;
-				fixedWidth+=cw.minimumWidth;
-				totalWeight += weight;
-			} else {
-				Assert.isTrue(false, "Unknown column layout data"); //$NON-NLS-1$
-			}
-		}
-
-		// Do we have columns that have a weight
-		if (numberOfWeightColumns > 0) {
-			// Now distribute the rest to the columns with weight.
-			int rest= width - fixedWidth;
-			int totalDistributed= 0;
-			for (int i= 0; i < size; ++i) {
-				ColumnLayoutData col= (ColumnLayoutData) columns.get(i);
-				if (col instanceof ColumnWeightData) {
-					ColumnWeightData cw= (ColumnWeightData) col;
-					// calculate weight as above
-					// int weight = firstTime ? cw.weight : tableColumns[i].getWidth();
-					int weight= cw.weight;
-					int sparePixels= totalWeight == 0 ? 0 : weight * rest / totalWeight;
-					int newWidth = cw.minimumWidth;
-					if (sparePixels >0 )
-						newWidth += sparePixels;
-					totalDistributed += newWidth;
-					widths[i]= newWidth;
-				}
-			}
-
-			// Distribute any remaining pixels to columns with weight.
-			int diff= rest - totalDistributed;
-			for (int i= 0; diff > 0; ++i) {
-				if (i == size)
-					i= 0;
-				ColumnLayoutData col= (ColumnLayoutData) columns.get(i);
-				if (col instanceof ColumnWeightData) {
-					++widths[i];
-					--diff;
-				}
-			}
-		}
-		
-		if (increase) {
-			table.setSize(area.width, area.height);
-		}
-		for (int i= 0; i < size; i++) {
-			tableColumns[i].setWidth(widths[i]);
-		}
-		if (!increase) {
-			table.setSize(area.width, area.height);
-		}
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java
deleted file mode 100644
index 4269b9c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetPage.java
+++ /dev/null
@@ -1,420 +0,0 @@
-/*******************************************************************************

- * Copyright (c) 2000, 2005 IBM Corporation and others.

- * All rights reserved. This program and the accompanying materials

- * are made available under the terms of the Eclipse Public License v1.0

- * which accompanies this distribution, and is available at

- * http://www.eclipse.org/legal/epl-v10.html

- *

- * Contributors:

- *     IBM Corporation - initial API and implementation

- *******************************************************************************/

-package org.eclipse.update.internal.ui.wizards;

-

-import java.io.*;

-import java.util.*;

-

-import org.eclipse.jface.dialogs.Dialog;

-import org.eclipse.jface.resource.*;

-import org.eclipse.jface.viewers.*;

-import org.eclipse.osgi.util.NLS;

-import org.eclipse.swt.*;

-import org.eclipse.swt.events.*;

-import org.eclipse.swt.graphics.*;

-import org.eclipse.swt.layout.*;

-import org.eclipse.swt.widgets.*;

-import org.eclipse.ui.*;

-import org.eclipse.update.configuration.*;

-import org.eclipse.update.core.*;

-import org.eclipse.update.internal.operations.*;

-import org.eclipse.update.internal.ui.*;

-import org.eclipse.update.internal.ui.parts.*;

-import org.eclipse.update.operations.*;

-

-public class TargetPage extends BannerPage implements IDynamicPage {

-	private TableViewer jobViewer;

-	private IInstallConfiguration config;

-	private ConfigListener configListener;

-	private Label requiredSpaceLabel;

-	private Label availableSpaceLabel;

-	private IInstallFeatureOperation[] jobs;

-    //private IInstallFeatureOperation currentJob;

-    private Label installLocation;

-    private Button changeLocation;

-    static HashSet added;

-

-	class JobsContentProvider

-		extends DefaultContentProvider

-		implements IStructuredContentProvider {

-		public Object[] getElements(Object parent) {

-			return jobs;

-		}

-	}

-

-	class JobsLabelProvider

-		extends LabelProvider

-		implements ITableLabelProvider {

-			

-		public Image getColumnImage(Object obj, int col) {

-			UpdateLabelProvider provider = UpdateUI.getDefault().getLabelProvider();

-

-			IInstallFeatureOperation job = (IInstallFeatureOperation) obj;

-			ImageDescriptor base =

-				job.getFeature().isPatch()

-					? UpdateUIImages.DESC_EFIX_OBJ

-					: UpdateUIImages.DESC_FEATURE_OBJ;

-			int flags = 0;

-			if (job.getTargetSite() == null)

-				flags = UpdateLabelProvider.F_ERROR;

-			return provider.get(base, flags);

-		}

-

-		public String getColumnText(Object obj, int col) {

-			if (col == 0) {

-				IFeature feature = ((IInstallFeatureOperation) obj).getFeature();

-				return feature.getLabel()

-					+ " " //$NON-NLS-1$

-					+ feature.getVersionedIdentifier().getVersion().toString();

-			}

-			return null;

-		}

-	}

-	

-	class ConfigListener implements IInstallConfigurationChangedListener {

-		public void installSiteAdded(IConfiguredSite csite) {

-			

-			// set the site as target for all jobs without a target

-			for (int i=0; jobs != null && i<jobs.length; i++)

-				if (jobs[i].getTargetSite() == null && getSiteVisibility(csite, jobs[i])) {

-					jobs[i].setTargetSite(csite);

-				}

-

-			jobViewer.refresh();

-		}

-

-		public void installSiteRemoved(IConfiguredSite csite) {

-			// remove the target site for all jobs that use it

-			// set the site as target for all jobs without a target

-			boolean refreshJobs = false;

-			for (int i=0; jobs != null && i<jobs.length; i++)

-				if (jobs[i].getTargetSite() == csite) {

-					jobs[i].setTargetSite(null);

-					refreshJobs = true;

-				}

-				

-			pageChanged();

-			

-			jobViewer.refresh();

-			if (refreshJobs) {

-				jobViewer.getControl().setFocus();

-			}

-		}

-	}

-

-	/**

-	 * Constructor for ReviewPage2

-	 */

-	public TargetPage(IInstallConfiguration config) {

-		super("Target"); //$NON-NLS-1$

-		setTitle(UpdateUIMessages.InstallWizard_TargetPage_title); 

-		setDescription(UpdateUIMessages.InstallWizard_TargetPage_desc); 

-		this.config = config;

-		UpdateUI.getDefault().getLabelProvider().connect(this);

-		configListener = new ConfigListener();

-	}

-

-	public void setJobs(IInstallFeatureOperation[] jobs) {

-		this.jobs = jobs;

-	}

-

-	public void dispose() {

-		UpdateUI.getDefault().getLabelProvider().disconnect(this);

-//		config.removeInstallConfigurationChangedListener(configListener);

-		super.dispose();

-	}

-

-	public Control createContents(Composite parent) {

-		Composite client = new Composite(parent, SWT.NULL);

-		GridLayout layout = new GridLayout();

-		layout.numColumns = 3;

-		layout.marginWidth = layout.marginHeight = 0;

-		client.setLayout(layout);

-		client.setLayoutData(new GridData(GridData.FILL_BOTH));

-		

-		Label label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIMessages.InstallWizard_TargetPage_jobsLabel); 

-		createJobViewer(client);

-

-		label = new Label(client, SWT.NULL);

-		label.setText(UpdateUIMessages.InstallWizard_TargetPage_location); 

-        GridData gd = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING);

-        label.setLayoutData(gd);

-

-		installLocation = new Label(client, SWT.NULL);

-        installLocation.setText("foo"); //$NON-NLS-1$

-        gd = new GridData(GridData.FILL_HORIZONTAL);

-        installLocation.setLayoutData(gd);

-        

-        changeLocation = new Button(client, SWT.PUSH);

-        changeLocation.setText(UpdateUIMessages.InstallWizard_TargetPage_location_change); 

-        changeLocation.addSelectionListener(new SelectionAdapter() {

-            public void widgetSelected(SelectionEvent e) {

-                IStructuredSelection selection = (IStructuredSelection) jobViewer.getSelection();

-                if (selection == null)

-                    return;

-                IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();

-                if (job == null) 

-                    return;

-                

-                TargetSiteDialog dialog = new TargetSiteDialog(getShell(), config, job, configListener);

-                dialog.create();

-

-                SWTUtil.setDialogSize(dialog, 400, 300);

-                

-                dialog.getShell().setText(UpdateUIMessages.SitePage_new); 

-                dialog.open();

-                setTargetLocation(job);

-                pageChanged();

-                jobViewer.refresh();

-                updateStatus(job.getTargetSite());

-            }

-        });

-			

-		Composite status = new Composite(client, SWT.NULL);

-		gd = new GridData(GridData.HORIZONTAL_ALIGN_FILL);

-		gd.horizontalSpan = 3;

-		status.setLayoutData(gd);

-		layout = new GridLayout();

-		layout.numColumns = 2;

-		status.setLayout(layout);

-		label = new Label(status, SWT.NULL);

-		label.setText(UpdateUIMessages.InstallWizard_TargetPage_requiredSpace); 

-		requiredSpaceLabel = new Label(status, SWT.NULL);

-		requiredSpaceLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-		label = new Label(status, SWT.NULL);

-		label.setText(UpdateUIMessages.InstallWizard_TargetPage_availableSpace); 

-		availableSpaceLabel = new Label(status, SWT.NULL);

-		availableSpaceLabel.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

-

-        PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.MultiTargetPage2"); //$NON-NLS-1$

-		

-		Dialog.applyDialogFont(parent);

-		

-		return client;

-	}

-

-	private void createJobViewer(Composite parent) {

-		jobViewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);

-		GridData gd = new GridData(GridData.FILL_BOTH);

-        gd.horizontalSpan = 3;

-		gd.widthHint = 150;

-		jobViewer.getTable().setLayoutData(gd);

-		jobViewer.setContentProvider(new JobsContentProvider());

-		jobViewer.setLabelProvider(new JobsLabelProvider());

-

-		jobViewer.addSelectionChangedListener(new ISelectionChangedListener() {

-			public void selectionChanged(SelectionChangedEvent event) {

-				IStructuredSelection selection = (IStructuredSelection) event.getSelection();

-				IInstallFeatureOperation job = (IInstallFeatureOperation) selection.getFirstElement();

-				setTargetLocation(job);

-			}

-		});

-	}

-

-	public void setVisible(boolean visible) {

-		if (visible) {

-			initializeDefaultTargetSites();

-			jobViewer.setInput(jobs);

-			if (jobViewer.getSelection().isEmpty() && jobs.length > 0)

-				jobViewer.setSelection(new StructuredSelection(jobs[0]));

-		}

-		

-		super.setVisible(visible);

-	}

-

-	private void verifyNotEmpty(boolean empty) {

-		String errorMessage = null;

-		if (empty)

-			errorMessage = UpdateUIMessages.InstallWizard_TargetPage_location_empty; 

-		setErrorMessage(errorMessage);

-		setPageComplete(!empty);

-	}

-

-

-	private void updateStatus(Object element) {

-		if (element == null) {

-			requiredSpaceLabel.setText(""); //$NON-NLS-1$

-			availableSpaceLabel.setText(""); //$NON-NLS-1$

-			return;

-		}

-		IConfiguredSite site = (IConfiguredSite) element;

-		File file = new File(site.getSite().getURL().getFile());

-		long available = LocalSystemInfo.getFreeSpace(file);

-		long required = computeRequiredSizeFor(site);

-		if (required <= 0)

-			requiredSpaceLabel.setText(UpdateUIMessages.InstallWizard_TargetPage_unknownSize); 

-		else

-			requiredSpaceLabel.setText(

-				NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_size, "" + required)); //$NON-NLS-1$

-

-		if (available == LocalSystemInfo.SIZE_UNKNOWN)

-			availableSpaceLabel.setText(UpdateUIMessages.InstallWizard_TargetPage_unknownSize); 

-		else

-			availableSpaceLabel.setText(

-				NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_size, "" + available)); //$NON-NLS-1$

-	}

-

-	private long computeRequiredSizeFor(IConfiguredSite site) {

-		long totalSize = 0;

-		for (int i = 0; i < jobs.length; i++) {

-			if (site.equals(jobs[i].getTargetSite())) {

-				long jobSize = site.getSite().getInstallSizeFor(jobs[i].getFeature());

-				if (jobSize == -1)

-					return -1;

-				totalSize += jobSize;

-			}

-		}

-		return totalSize;

-	}

-

-	private void pageChanged() {

-		boolean empty = false;

-		for (int i=0; jobs!=null && i<jobs.length; i++) {

-			if (jobs[i].getTargetSite() == null) {

-				empty = true;

-				break;

-			}

-		

-			IFeature feature = jobs[i].getFeature();

-			if (feature.isPatch()) {

-				// Patches must go together with the features

-				// they are patching.

-				

-				// Check current jobs

-				IInstallFeatureOperation patchedFeatureJob = findPatchedFeature(feature);

-				if (patchedFeatureJob != null

-					&& patchedFeatureJob.getTargetSite() != null

-					&& !jobs[i].getTargetSite().equals(patchedFeatureJob.getTargetSite())) {

-					String msg = NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_patchError, (new String[] {

-                    feature.getLabel(),

-                    patchedFeatureJob.getFeature().getLabel()}));

-					setErrorMessage(msg);

-					setPageComplete(false);

-					return;

-				}

-				// Check installed features

-				IFeature patchedFeature = UpdateUtils.getPatchedFeature(feature);

-				if (patchedFeature != null  

-					&& !jobs[i].getTargetSite().equals(patchedFeature.getSite().getCurrentConfiguredSite())) {

-					String msg = NLS.bind(UpdateUIMessages.InstallWizard_TargetPage_patchError2, (new String[] {

-                    feature.getLabel(),

-                    patchedFeature.getLabel(),

-                    patchedFeature.getSite().getCurrentConfiguredSite().getSite().getURL().getFile()}));

-					setErrorMessage(msg);

-					setPageComplete(false);

-					return;

-				}

-			}

-		}

-		verifyNotEmpty(empty);

-	}

-	

-	

-	private  boolean getSiteVisibility(IConfiguredSite site, IInstallFeatureOperation job) {

-		// Do not allow installing into a non-updateable site

-		if (!site.isUpdatable())

-			return false;

-		

-		// If affinity site is known, only it should be shown

-		IConfiguredSite affinitySite = UpdateUtils.getAffinitySite(config, job.getFeature());

-		if (affinitySite != null) {

-			// Must compare referenced sites because

-			// configured sites themselves may come from 

-			// different configurations

-			return site.getSite().equals(affinitySite.getSite());

-		}

-		

-		// Co-locate updates with the old feature

-		if (job.getOldFeature() != null) {

-			IConfiguredSite oldSite = UpdateUtils.getSiteWithFeature(config, job.getOldFeature().getVersionedIdentifier().getIdentifier());

-			return (site == oldSite);

-		}

-

-		// Allow installing into any site that is updateable and there is no affinity specified

-		return true;

-	}

-	

-	private void initializeDefaultTargetSites() {

-		for (int i = 0; i < jobs.length; i++) {

-			if (jobs[i].getTargetSite() != null)

-				continue;

-			

-			IConfiguredSite affinitySite =	UpdateUtils.getAffinitySite(config, jobs[i].getFeature());

-			if (affinitySite != null) {

-				jobs[i].setTargetSite(affinitySite);

-				continue;

-			}

-

-			IConfiguredSite defaultSite = UpdateUtils.getDefaultTargetSite(config, jobs[i], false);

-			if (defaultSite != null) {

-				jobs[i].setTargetSite(defaultSite);

-				continue;

-			}

-

-			jobs[i].setTargetSite(getFirstTargetSite(jobs[i]));

-

-		}

-	}

-	

-

-	private IConfiguredSite getFirstTargetSite(IInstallFeatureOperation job) {

-		IConfiguredSite[] sites = config.getConfiguredSites();

-		for (int i = 0; i < sites.length; i++) {

-			IConfiguredSite csite = sites[i];

-			if (getSiteVisibility(csite, job)) 

-				return csite;

-		}

-		return null;

-	}

-	

-	public IInstallFeatureOperation findPatchedFeature(IFeature patch) {

-		for (int i=0; i<jobs.length; i++) {

-			IFeature target = jobs[i].getFeature();

-			if (!target.equals(patch) && UpdateUtils.isPatch(target, patch))

-				return jobs[i];

-		}

-		return null;

-	}

-  

-    

-    void removeAddedSites() {

-        if (added != null) {

-            while (!added.isEmpty()) {

-                Iterator it = added.iterator(); 

-                if (it.hasNext())

-                    config.removeConfiguredSite((IConfiguredSite) it.next());

-            }

-        }           

-    }

-    

-    /* (non-Javadoc)

-     * @see org.eclipse.jface.wizard.IWizardPage#isPageComplete()

-     */

-    public boolean isPageComplete() {

-        // check if all jobs have a target site set

-        for (int i = 0; jobs != null && i < jobs.length; i++) {

-            if (jobs[i].getTargetSite() == null)

-                return false;

-        }

-        return super.isPageComplete();

-    }

-

-    /**

-     * @param job

-     */

-    private void setTargetLocation(IInstallFeatureOperation job) {

-        if (job != null && job.getTargetSite() != null) {

-            installLocation.setText(new File(job.getTargetSite().getSite().getURL().getFile()).toString());

-            updateStatus(job.getTargetSite());

-        }

-    }

-}

diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetSiteDialog.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetSiteDialog.java
deleted file mode 100644
index a5c87ed..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/TargetSiteDialog.java
+++ /dev/null
@@ -1,281 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-import java.io.*;
-import java.util.*;
-
-import org.eclipse.core.runtime.*;
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.jface.viewers.*;
-import org.eclipse.swt.*;
-import org.eclipse.swt.events.*;
-import org.eclipse.swt.graphics.*;
-import org.eclipse.swt.layout.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.ui.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.operations.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.parts.*;
-import org.eclipse.update.operations.*;
-
-public class TargetSiteDialog extends Dialog {
-	private TableViewer siteViewer;
-	private IInstallConfiguration config;
-    //private Label installLocation;
-	private Button addButton;
-	private Button deleteButton;
-	private IInstallConfigurationChangedListener listener;
-    //private IConfiguredSite targetSite;
-    private IInstallFeatureOperation job;
-    
-    class SitesContentProvider
-		extends DefaultContentProvider
-		implements IStructuredContentProvider {
-
-		public Object[] getElements(Object parent) {
-			return config.getConfiguredSites();
-		}
-	}
-	
-	class SitesLabelProvider
-	extends LabelProvider
-	implements ITableLabelProvider {
-		
-		public Image getColumnImage(Object obj, int col) {
-			UpdateLabelProvider provider = UpdateUI.getDefault().getLabelProvider();
-			return provider.getLocalSiteImage((IConfiguredSite) obj);
-		}
-	
-		public String getColumnText(Object obj, int col) {
-			if (col == 0) {
-				ISite site = ((IConfiguredSite) obj).getSite();
-				return new File(site.getURL().getFile()).toString();
-			}
-			return null;
-		}
-	}
-
-
-	/**
-	 * Constructor for ReviewPage2
-	 */
-	public TargetSiteDialog(Shell parentShell, IInstallConfiguration config, IInstallFeatureOperation job, IInstallConfigurationChangedListener listener) {
-        super(parentShell);
-		this.config = config;
-		UpdateUI.getDefault().getLabelProvider().connect(this);
-		this.job = job;
-        this.listener = listener;
-        config.addInstallConfigurationChangedListener(listener);
-	}
-
-	public boolean close() {
-		UpdateUI.getDefault().getLabelProvider().disconnect(this);
-		config.removeInstallConfigurationChangedListener(listener);
-		return super.close();
-	}
-
-    public Control createDialogArea(Composite parent) {
-    	Composite client = new Composite(parent, SWT.NULL);
-		GridLayout layout = new GridLayout();
-		layout.numColumns = 2;
-		layout.marginWidth = layout.marginHeight = 10;
-		client.setLayout(layout);
-		client.setLayoutData(new GridData(GridData.FILL_BOTH));
-
-		Composite leftPanel = new Composite(client, SWT.NULL);
-		GridLayout centerLayout = new GridLayout();
-		centerLayout.numColumns = 1;
-		centerLayout.marginWidth = centerLayout.marginHeight = 0;
-		leftPanel.setLayout(centerLayout);
-		leftPanel.setLayoutData(new GridData(GridData.FILL_BOTH));
-        
-		Label label = new Label(leftPanel, SWT.NULL);
-		label.setText(UpdateUIMessages.InstallWizard_TargetPage_siteLabel); 
-		createSiteViewer(leftPanel);
-
-		Composite rightPanel = new Composite(client, SWT.NULL);
-		GridLayout rightLayout = new GridLayout();
-		rightLayout.numColumns = 1;
-		rightLayout.marginWidth = rightLayout.marginHeight = 0;
-		rightPanel.setLayout(rightLayout);
-		rightPanel.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-
-		new Label(rightPanel, SWT.NULL);
-		Composite buttonContainer = new Composite(rightPanel, SWT.NULL);
-		GridLayout blayout = new GridLayout();
-		blayout.marginWidth = blayout.marginHeight = 0;
-		buttonContainer.setLayout(blayout);
-		buttonContainer.setLayoutData(new GridData(GridData.FILL_VERTICAL));
-		
-		addButton = new Button(buttonContainer, SWT.PUSH);
-		addButton.setText(UpdateUIMessages.InstallWizard_TargetPage_new); 
-		addButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				addTargetLocation();
-			}
-		});
-
-		addButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(addButton);
-		
-		deleteButton = new Button(buttonContainer, SWT.PUSH);
-		deleteButton.setText(UpdateUIMessages.InstallWizard_TargetPage_delete); 
-		deleteButton.addSelectionListener(new SelectionAdapter() {
-			public void widgetSelected(SelectionEvent e) {
-				try {
-					removeSelection();
-				}
-				catch (CoreException ex) {
-					UpdateUI.logException(ex);
-				}
-			}
-		});
-		deleteButton.setEnabled(false);
-		deleteButton.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
-		SWTUtil.setButtonDimensionHint(deleteButton);		
-
-        PlatformUI.getWorkbench().getHelpSystem().setHelp(client, "org.eclipse.update.ui.MultiTargetPage2"); //$NON-NLS-1$
-		Dialog.applyDialogFont(parent);
-        
-        siteViewer.setInput(job);
-        IConfiguredSite affinitySite = UpdateUtils.getDefaultTargetSite(config, job, true);
-        if (job.getTargetSite() != null) 
-          siteViewer.setSelection(new StructuredSelection(job.getTargetSite()));
-        addButton.setEnabled(affinitySite == null);
-        
-        return client;
-	}
-
-	private void createSiteViewer(Composite parent) {
-		siteViewer = new TableViewer(parent, SWT.H_SCROLL | SWT.V_SCROLL | SWT.BORDER);
-		GridData gd = new GridData(GridData.FILL_BOTH);
-		gd.widthHint = 200;
-		siteViewer.getTable().setLayoutData(gd);
-		siteViewer.setContentProvider(new SitesContentProvider());
-		siteViewer.setLabelProvider(new SitesLabelProvider());
-		siteViewer.addFilter(new ViewerFilter() {
-			public boolean select(Viewer v, Object parent, Object obj) {
-				IInstallFeatureOperation job = (IInstallFeatureOperation) siteViewer.getInput();
-				return getSiteVisibility((IConfiguredSite) obj, job);
-			}
-		});
-		siteViewer.addSelectionChangedListener(new ISelectionChangedListener() {
-			public void selectionChanged(SelectionChangedEvent event) {
-				IStructuredSelection ssel = (IStructuredSelection) event.getSelection();
-				selectTargetSite(ssel);
-				updateDeleteButton(ssel);
-			}
-		});
-	}
-	
-    protected void okPressed() {
-        super.okPressed();
-    }
-    
-	private void updateDeleteButton(IStructuredSelection selection) {
-		boolean enable = TargetPage.added != null && !TargetPage.added.isEmpty();
-		if (enable) {
-			for (Iterator iter = selection.iterator(); iter.hasNext();) {
-				if (!TargetPage.added.contains(iter.next())) {
-					enable = false;
-					break;
-				}
-			}
-		}
-		deleteButton.setEnabled(enable);
-	}
-
-
-	private void selectTargetSite(IStructuredSelection selection) {
-		IConfiguredSite site = (IConfiguredSite) selection.getFirstElement();
-		if (site != null)
-			job.setTargetSite(site);
-	}
-
-	private void addTargetLocation() {
-		DirectoryDialog dd = new DirectoryDialog(getShell());
-		dd.setMessage(UpdateUIMessages.InstallWizard_TargetPage_location_message); 
-		String path = dd.open();
-		if (path != null) {
-			addConfiguredSite(getShell(), config, new File(path));
-		}
-	}
-	
-	private void removeSelection() throws CoreException {
-		IStructuredSelection selection = (IStructuredSelection) siteViewer.getSelection();
-		for (Iterator iter = selection.iterator(); iter.hasNext();) {
-			IConfiguredSite targetSite = (IConfiguredSite) iter.next();
-			config.removeConfiguredSite(targetSite);
-
-            if (TargetPage.added != null)
-                TargetPage.added.remove(targetSite);
-            siteViewer.remove(targetSite);
-		}
-
-//        siteViewer.getControl().setFocus();
-	}
-
-	private IConfiguredSite addConfiguredSite(
-		Shell shell,
-		IInstallConfiguration config,
-		File file) {
-		try {
-			IConfiguredSite csite = config.createConfiguredSite(file);
-			IStatus status = csite.verifyUpdatableStatus();
-			if (status.isOK())
-				config.addConfiguredSite(csite);
-			else 
-				throw new CoreException(status);
-			
-            if (TargetPage.added == null)
-                TargetPage.added = new HashSet();
-            TargetPage.added.add(csite);
-            
-            siteViewer.add(csite);         
-            siteViewer.setSelection(new StructuredSelection(csite));
-            siteViewer.getControl().setFocus();
-            
-			return csite;
-		} catch (CoreException e) {
-			String title = UpdateUIMessages.InstallWizard_TargetPage_location_error_title; 
-			ErrorDialog.openError(shell, title, null, e.getStatus());
-			UpdateUI.logException(e,false);
-			return null;
-		}
-	}
-	
-	private  boolean getSiteVisibility(IConfiguredSite site, IInstallFeatureOperation job) {
-		// Do not allow installing into a non-updateable site
-		if (!site.isUpdatable())
-			return false;
-		
-		// If affinity site is known, only it should be shown
-		IConfiguredSite affinitySite = UpdateUtils.getAffinitySite(config, job.getFeature());
-		if (affinitySite != null) {
-			// Must compare referenced sites because
-			// configured sites themselves may come from 
-			// different configurations
-			return site.getSite().equals(affinitySite.getSite());
-		}
-		
-		// Co-locate updates with the old feature
-		if (job.getOldFeature() != null) {
-			IConfiguredSite oldSite = UpdateUtils.getSiteWithFeature(config, job.getOldFeature().getVersionedIdentifier().getIdentifier());
-			return (site == oldSite);
-		}
-
-		// Allow installing into any site that is updateable and there is no affinity specified
-		return true;
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/UIProblemHandler.java b/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/UIProblemHandler.java
deleted file mode 100644
index 186305c..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/wizards/UIProblemHandler.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.wizards;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.update.configuration.*;
-import org.eclipse.update.internal.ui.*;
-
-/**
- *
- */
-public class UIProblemHandler implements IProblemHandler {
-
-	/*
-	 * @see IProblemHandler#reportProblem(String)
-	 */
-	public boolean reportProblem(String problemText) {
-		String title = UpdateUIMessages.Revert_ProblemDialog_title; 
-		return MessageDialog.openQuestion(UpdateUI.getActiveWorkbenchShell(), title, problemText);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java
deleted file mode 100644
index 90380f8..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.ui;
-
-import java.util.*;
-
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.MultiStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.update.core.IFeature;
-import org.eclipse.update.core.ISite;
-import org.eclipse.update.core.ISiteWithMirrors;
-import org.eclipse.update.core.IURLEntry;
-import org.eclipse.update.core.model.InstallAbortedException;
-import org.eclipse.update.internal.core.Messages;
-import org.eclipse.update.internal.core.UpdateCore;
-import org.eclipse.update.internal.operations.UpdateUtils;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.wizards.*;
-import org.eclipse.update.operations.IInstallFeatureOperation;
-import org.eclipse.update.operations.OperationsManager;
-import org.eclipse.update.search.IUpdateSearchResultCollector;
-import org.eclipse.update.search.IUpdateSearchResultCollectorFromMirror;
-import org.eclipse.update.search.UpdateSearchRequest;
-
-/**
- * An UpdateJob performs the lookup for new features or updates to the existing features,
- * depending on how you construct it.
- * @since 3.1
- */
-public class UpdateJob extends Job {
-	
-	private class SearchResultCollector implements IUpdateSearchResultCollector {
-		public void accept(IFeature feature) {
-			IInstallFeatureOperation operation =
-				OperationsManager
-					.getOperationFactory()
-					.createInstallOperation(null, feature, null, null, null);
-			updates.add(operation);
-		}
-	}
-	
-	// job family	
-	public static final Object family = new Object();
-	private IUpdateSearchResultCollector resultCollector;
-	private UpdateSearchRequest searchRequest;
-	private ArrayList updates;
-    private boolean isUpdate;
-    private boolean download;
-    private boolean isAutomatic;
-    private IStatus jobStatus = Status.OK_STATUS;
-
-    /**
-     * Use this constructor to search for updates to installed features
-     * @param isAutomatic true if automatically searching for updates   
-     * @param name the job name
-     * @param download download updates automatically
-     */
-	public UpdateJob( String name, boolean isAutomatic, boolean download ) {
-		super(name);
-        this.isUpdate = true;
-        this.isAutomatic = isAutomatic;
-        this.download = download;
-		updates = new ArrayList();
-		setPriority(Job.DECORATE);
-	}
-
-    /**
-     * Use this constructor to search for features as indicated by the search request
-     * @param name the job name
-     * @param searchRequest the search request to execute
-     */
-    public UpdateJob( String name, UpdateSearchRequest searchRequest ) {
-        super(name);
-        this.searchRequest = searchRequest;
-        updates = new ArrayList();
-        setPriority(Job.DECORATE);
-    }
-
-    /**
-     * Returns true if the job is performing update lookups, or false when searching for new features
-     * @return true when searching for updates of existing features
-     */
-    public boolean isUpdate() {
-        return isUpdate;
-    }
-    
-	/* (non-Javadoc)
-	 * @see org.eclipse.core.internal.jobs.InternalJob#belongsTo(java.lang.Object)
-	 */
-	public boolean belongsTo(Object family) {
-		return UpdateJob.family == family;
-	}
-	
-	/**
-     * Runs the job and returns the OK status. Call getStatus() to get the actual execution status.
-     * @param monitor progress monitor
-     * @return IStatus the return code is always OK
-	 */
-    public IStatus run(IProgressMonitor monitor) {
-        if (isUpdate)
-            jobStatus = runUpdates(monitor);
-        else
-            jobStatus = runSearchForNew(monitor);
-        return Status.OK_STATUS;
-    }
-    
-    private IStatus runSearchForNew(IProgressMonitor monitor) {
-        if (UpdateCore.DEBUG) {
-            UpdateCore.debug("Search for features started."); //$NON-NLS-1$
-        }
-
-        try {
-            if (resultCollector == null)
-                resultCollector = new ResultCollectorWithMirrors();
-            searchRequest.performSearch(resultCollector, monitor);
-            if (UpdateCore.DEBUG) {
-                UpdateCore.debug("Automatic update search finished - " //$NON-NLS-1$
-                        + updates.size() + " results."); //$NON-NLS-1$
-            }
-            return Status.OK_STATUS;
-        } catch (CoreException e) {
-            return e.getStatus();
-        }
-    }
-    
-
-	private IStatus runUpdates(IProgressMonitor monitor) {
-        ArrayList statusList = new ArrayList();
-        if (UpdateCore.DEBUG) {
-            if (isAutomatic)
-                UpdateCore.debug("Automatic update search started."); //$NON-NLS-1$
-            else
-                UpdateCore.debug("Update search started."); //$NON-NLS-1$
-        }
-        searchRequest = UpdateUtils.createNewUpdatesRequest(null);
-
-        if (resultCollector == null)
-            resultCollector = new ResultCollectorWithMirrors();
-        try {
-            searchRequest.performSearch(resultCollector, monitor);
-        } catch (CoreException e) {
-            statusList.add(e.getStatus());
-        }
-        if (UpdateCore.DEBUG) {
-            UpdateCore.debug("Automatic update search finished - " //$NON-NLS-1$
-                    + updates.size() + " results."); //$NON-NLS-1$
-        }
-        if (updates.size() > 0) {
-            // silently download if download enabled
-            if (download) {
-                if (UpdateCore.DEBUG) {
-                    UpdateCore.debug("Automatic download of updates started."); //$NON-NLS-1$
-                }
-                for (int i = 0; i < updates.size(); i++) {
-                    IInstallFeatureOperation op = (IInstallFeatureOperation) updates
-                            .get(i);
-                    IFeature feature = op.getFeature();
-                    try {
-                        UpdateUtils.downloadFeatureContent(op.getTargetSite(),
-                                feature, null, monitor);
-                    } catch (InstallAbortedException e) {
-                        return Status.CANCEL_STATUS;
-                    } catch (CoreException e) {
-                        statusList.add(e.getStatus());
-                        updates.remove(i);
-                        i -= 1;
-                    }
-                }
-                if (UpdateCore.DEBUG) {
-                    UpdateCore.debug("Automatic download of updates finished."); //$NON-NLS-1$
-                }
-            }
-        }
-        
-        if (statusList.size() == 0)
-            return Status.OK_STATUS;
-        else if (statusList.size() == 1)
-            return (IStatus) statusList.get(0);
-        else {
-            IStatus[] children = (IStatus[]) statusList
-                    .toArray(new IStatus[statusList.size()]);
-            return new MultiStatus("org.eclipse.update.ui", //$NON-NLS-1$
-                    ISite.SITE_ACCESS_EXCEPTION, children, Messages.Search_networkProblems, //$NON-NLS-1$
-                    null);
-        }
-    }
-
-    /**
-     * Returns an array of features to install
-     * @return IInstallFeatureOperation[]
-     */
-    public IInstallFeatureOperation[] getUpdates() {
-        return (IInstallFeatureOperation[]) updates.toArray(new IInstallFeatureOperation[updates.size()]);
-    }
-    
-    /**
-     * Returns the job status upon termination.
-     * @return IStatus
-     */
-    public IStatus getStatus() {
-        return jobStatus;
-    }
-    
-    /**
-     * Returns the update search request for this job.
-     * @return UpdateSearchRequest
-     */
-    public UpdateSearchRequest getSearchRequest() {
-        return searchRequest;
-    }
-    
-    private class ResultCollectorWithMirrors extends SearchResultCollector
-            implements IUpdateSearchResultCollectorFromMirror {
-        
-        private HashMap mirrors = new HashMap(0);
-        
-        /* (non-Javadoc)
-         * @see org.eclipse.update.search.IUpdateSearchResultCollectorFromMirror#getMirror(org.eclipse.update.core.ISite, java.lang.String)
-         */
-        public IURLEntry getMirror(final ISiteWithMirrors site, final String siteName) {
-            //return null;
-            if (mirrors.containsKey(site))
-                return (IURLEntry)mirrors.get(site);
-            try {
-                IURLEntry[] mirrorURLs = site.getMirrorSiteEntries();
-                if (mirrorURLs.length == 0)
-                    return null;
-                else {
-                    // here we need to prompt the user
-                    final IURLEntry[] returnValue = new IURLEntry[1];
-                    UpdateUI.getStandardDisplay().syncExec(new Runnable() {
-                        public void run() {
-                            MirrorsDialog dialog = new MirrorsDialog(UpdateUI.getActiveWorkbenchShell(), site, siteName);
-                            dialog.create();
-                            dialog.open();
-                            IURLEntry mirror = dialog.getMirror();
-                            mirrors.put(site, mirror);
-                            returnValue[0] = mirror;
-                        }
-                    });
-                    return returnValue[0];
-                }
-            } catch (CoreException e) {
-                return null;
-            }
-        }
-    }
-}
diff --git a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateManagerUI.java b/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateManagerUI.java
deleted file mode 100644
index e06e00d..0000000
--- a/update/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateManagerUI.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2005 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.ui;
-
-import org.eclipse.jface.dialogs.*;
-import org.eclipse.jface.window.*;
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.wizards.*;
-import org.eclipse.update.search.*;
-
-/**
- * Entry point into update manager UI.
- * Clients can use this class to launch the configuration manager window or the install wizard.
- * @since 3.0
- */
-public class UpdateManagerUI {
-
-	/**
-	 * Opens the configuration manager window. This is used to manage a current installation 
-	 * configuration: browser sites, enable/disable features, etc.
-	 * @param shell the parent shell to use
-	 */
-	public static void openConfigurationManager(Shell shell) {
-
-		ApplicationWindow appWindow = new ConfigurationManagerWindow(shell);
-		appWindow.create();
-		appWindow.open();
-	}
-	
-	/**
-	 * Opens the install wizard dialog. This wizard is used to find and install updates to existing
-	 * features, or to find and install new features.
-	 * @param shell the dialog parent shell
-	 */
-	public static void openInstaller(Shell shell) {
-		if (InstallWizard.isRunning()) {
-			MessageDialog.openInformation(shell, UpdateUIMessages.InstallWizard_isRunningTitle, UpdateUIMessages.InstallWizard_isRunningInfo);
-			return;
-		}
-		InstallWizard wizard = new InstallWizard((UpdateSearchRequest) null);
-		WizardDialog dialog = new ResizableInstallWizardDialog(shell, wizard, UpdateUIMessages.InstallWizardAction_title); 
-		dialog.create();
-		dialog.open();
-	}
-
-	/**
-	 * Opens the install wizard dialog. This wizard is used to find and install updates to existing
-	 * features, or to find and install new features as described by the given update job
-	 * @param shell the dialog parent shell	
-	 * @param job the job to run
-	 * @since 3.1
-	 */
-	public static void openInstaller(Shell shell, UpdateJob job) {
-		new InstallWizardOperation().run(shell, job);
-	}
-}
diff --git a/update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/InstallServlet.java b/update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/InstallServlet.java
deleted file mode 100644
index 4b934cd..0000000
--- a/update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/InstallServlet.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2003 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.servlets;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import javax.servlet.*;
-import javax.servlet.http.*;
-
-import org.eclipse.jface.wizard.*;
-import org.eclipse.swt.custom.*;
-import org.eclipse.swt.widgets.*;
-import org.eclipse.update.core.*;
-import org.eclipse.update.internal.search.*;
-import org.eclipse.update.internal.ui.*;
-import org.eclipse.update.internal.ui.parts.*;
-import org.eclipse.update.internal.ui.wizards.*;
-import org.eclipse.update.operations.*;
-import org.eclipse.update.search.*;
-
-/**
- *
- * To change this generated comment edit the template variable "typecomment":
- * Window>Preferences>Java>Templates.
- * To enable and disable the creation of type comments go to
- * Window>Preferences>Java>Code Generation.
- */
-public class InstallServlet extends HttpServlet {
-	private ServletConfig servletConfig;
-	public static final String SERVLET_NAME = "/InstallServlet"; //$NON-NLS-1$
-
-	public void init(ServletConfig config) throws ServletException {
-		this.servletConfig = config;
-	}
-
-	public void destroy() {
-	}
-
-	public ServletConfig getServletConfig() {
-		return servletConfig;
-	}
-
-	public String getServletInfo() {
-		return "Eclipse Install servlet"; //$NON-NLS-1$
-	}
-
-	public void service(
-		HttpServletRequest servletRequest,
-		HttpServletResponse servletResponse)
-		throws ServletException, IOException {
-		PrintWriter writer =
-			ServletsUtil.createResponsePrologue(servletResponse);
-		execute(writer, servletRequest);
-		ServletsUtil.createResponseEpilogue(
-			servletRequest,
-			servletResponse,
-			writer);
-	}
-
-	/**
-	 * Method execute.
-	 * @param servletRequest
-	 */
-	private void execute(
-		PrintWriter writer,
-		HttpServletRequest servletRequest) {
-		String serverURL = servletRequest.getParameter("server"); //$NON-NLS-1$
-		String license = servletRequest.getParameter("license"); //$NON-NLS-1$
-		boolean needLicensePage = true;
-		if (license != null && license.equalsIgnoreCase("false")) //$NON-NLS-1$
-			needLicensePage = false;
-
-		String[] versionedIds = servletRequest.getParameterValues("feature"); //$NON-NLS-1$
-
-		if (serverURL == null) {
-			createPageError(writer, UpdateUI.getString("InstallServlet.unknownServerURL")); //$NON-NLS-1$
-			return;
-		}
-		if (versionedIds == null) {
-			createPageError(writer, UpdateUI.getString("InstallServlet.noFeatures")); //$NON-NLS-1$
-			return;
-		}
-		if (OperationsManager.isInProgress()) {
-			ServletsUtil.createError(writer, UpdateUI.getString("InstallServlet.inProgress"), null); //$NON-NLS-1$
-			return;
-		}
-//		if (DetailsForm.isInProgress()) {
-//			ServletsUtil.createError(writer, UpdateUI.getString("InstallServlet.inProgress"), null);
-//			return;
-//		}
-		try {
-			URL url = new URL(serverURL);
-			VersionedIdentifier[] vids =
-				computeVersionedIdentifiers(versionedIds);
-			boolean success =
-				executeInstall(writer, url, vids, needLicensePage);
-			if (success)
-				ServletsUtil.createInfo(writer);
-		} catch (MalformedURLException e) {
-			createPageError(writer, UpdateUI.getFormattedMessage("InstallServlet.incorrectURLFormat", //$NON-NLS-1$
-			serverURL.toString()));
-		}
-	}
-
-	private void createPageError(PrintWriter writer, String problem) {
-		ServletsUtil.createError(writer, problem, UpdateUI.getString("InstallServlet.contactWebmaster")); //$NON-NLS-1$
-	}
-
-	private VersionedIdentifier[] computeVersionedIdentifiers(String[] array) {
-		ArrayList result = new ArrayList();
-		for (int i = 0; i < array.length; i++) {
-			String id_version = array[i];
-			int sep = id_version.lastIndexOf('_');
-			if (sep == -1)
-				continue;
-			String id = id_version.substring(0, sep);
-			String version = id_version.substring(sep + 1);
-			VersionedIdentifier vid = new VersionedIdentifier(id, version);
-			result.add(vid);
-		}
-		return (VersionedIdentifier[]) result.toArray(
-			new VersionedIdentifier[result.size()]);
-	}
-
-	private boolean executeInstall(
-		final PrintWriter writer,
-		final URL siteURL,
-		final VersionedIdentifier[] vids,
-		final boolean needLicensePage) {
-
-		Display display = SWTUtil.getStandardDisplay();
-		final boolean[] result = new boolean[] { false };
-
-		display.syncExec(new Runnable() {
-			public void run() {
-				final Shell shell = UpdateUI.getActiveWorkbenchShell();
-				BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
-					public void run() {
-						result[0] =
-							doExecuteInstall(
-								writer,
-								shell,
-								siteURL,
-								vids,
-								needLicensePage);
-					}
-				});
-			}
-		});
-		return result[0];
-	}
-
-	private boolean doExecuteInstall(
-		PrintWriter writer,
-		final Shell shell,
-		URL siteURL,
-		VersionedIdentifier[] vids,
-		final boolean needLicensePage) {
-			
-		shell.forceActive();
-
-		UpdateSearchScope searchScope = new UpdateSearchScope();
-		searchScope.addSearchSite(
-			siteURL.toString(),
-			siteURL,
-			new String[0]);
-
-		final UpdateSearchRequest searchRequest =
-			new UpdateSearchRequest(
-				new SiteSearchCategory(),
-				searchScope);
-	
-		searchRequest.addFilter(new VersionedIdentifiersFilter(vids));
-		searchRequest.addFilter(new EnvironmentFilter());
-		searchRequest.addFilter(new BackLevelFilter());
-
-		shell.getDisplay().asyncExec(new Runnable() {
-			public void run() {
-				openWizard(shell, searchRequest);
-			}
-		});	
-		return true;
-	}
-
-
-	private void openWizard(Shell shell, UpdateSearchRequest searchRequest) {
-		InstallWizard wizard = new InstallWizard(searchRequest);
-		WizardDialog dialog = new ResizableWizardDialog(shell, wizard);
-		dialog.create();
-//		dialog.getShell().setText(
-//			UpdateUI.getString(KEY_OPTIONAL_INSTALL_TITLE));
-		dialog.getShell().setSize(600, 500);
-		dialog.open();
-		if (wizard.isSuccessfulInstall())
-			UpdateUI.requestRestart();
-	}
-}
diff --git a/update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/ServletsUtil.java b/update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/ServletsUtil.java
deleted file mode 100644
index 48fa90d..0000000
--- a/update/org.eclipse.update.ui/src_webapp/org/eclipse/update/internal/ui/servlets/ServletsUtil.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2000, 2004 IBM Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     IBM Corporation - initial API and implementation
- *******************************************************************************/
-package org.eclipse.update.internal.ui.servlets;
-
-import java.io.*;
-import java.util.*;
-
-import javax.servlet.http.*;
-
-import org.eclipse.core.boot.*;
-import org.eclipse.update.internal.ui.*;
-
-/**
- */
-public class ServletsUtil {
-
-	public static String getServerInfo(HttpServletRequest servletRequest) {
-		String host = servletRequest.getServerName();
-		int port = servletRequest.getServerPort();
-		String context = servletRequest.getContextPath();
-
-		Enumeration atts = servletRequest.getParameterNames();
-		StringBuffer buff = new StringBuffer();
-		for (; atts.hasMoreElements();) {
-			String attName = (String) atts.nextElement();
-			Object attValue = servletRequest.getParameter(attName);
-			buff.append(attName + "=" + "\"" + attValue + "\"+"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return host + ":" + port + context + "?" + buff.toString(); //$NON-NLS-1$ //$NON-NLS-2$
-	}
-
-	public static PrintWriter createResponsePrologue(HttpServletResponse response)
-		throws IOException {
-		response.setContentType("text/html"); //$NON-NLS-1$
-		PrintWriter writer = response.getWriter();
-		String title = UpdateUI.getString("ServletsUtil.responseTitle"); //$NON-NLS-1$
-		writer.println(
-			"" //$NON-NLS-1$
-				+ "<!DOCTYPE HTML PUBLIC \" -//W3C//DTD HTML 4.0 Transitional//EN\">" //$NON-NLS-1$
-				+ "\n <HTML> \n <HEAD> \n" //$NON-NLS-1$
-				+ "<TITLE>"+title+"</TITLE>\n" //$NON-NLS-1$ //$NON-NLS-2$
-				+ "<META http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n" //$NON-NLS-1$
-				+ "</HEAD>"); //$NON-NLS-1$
-		writer.println(" <BODY topmargin=\"0\" leftmargin=\"0\">"); //$NON-NLS-1$
-		return writer;
-	}
-
-	public static void createError(
-		PrintWriter writer,
-		String problem,
-		String resolution) {
-		createHeading(writer, UpdateUI.getString("ServletsUtil.updateFailed")); //$NON-NLS-1$
-		startTextArea(writer);
-		createParagraph(writer, UpdateUI.getString("ServletsUtil.problem"), problem); //$NON-NLS-1$
-		if (resolution != null) {
-			writer.println("<p>"); //$NON-NLS-1$
-			createParagraph(writer, UpdateUI.getString("ServletsUtil.whatToDo"), resolution); //$NON-NLS-1$
-		}
-		endTextArea(writer);
-	}
-
-	public static void createParagraph(
-		PrintWriter writer,
-		String heading,
-		String text) {
-		writer.print("<b><font color=\"#5B78AC\">"); //$NON-NLS-1$
-		writer.print(heading);
-		writer.println("</b></font><br>"); //$NON-NLS-1$
-		writer.println(text);
-	}
-
-	public static void createInfo(PrintWriter writer) {
-		createHeading(writer, UpdateUI.getString("ServletsUtil.updateInProgress")); //$NON-NLS-1$
-		startTextArea(writer);
-		writer.println(
-			UpdateUI.getString("ServletsUtil.updateInitiated")); //$NON-NLS-1$
-		endTextArea(writer);
-	}
-	
-	private static boolean isWin32() {
-		return BootLoader.getWS().equals("win32"); //$NON-NLS-1$
-	}
-
-	private static void startTextArea(PrintWriter writer) {
-		writer.println(
-			"<table border=\"0\" width=\"100%\" cellspacing=\"5\" cellpadding=\"5\">"); //$NON-NLS-1$
-		writer.println("<tr>"); //$NON-NLS-1$
-		writer.print("<td width=\"100%\">"); //$NON-NLS-1$
-		if (isWin32())
-			writer.println("<font face=\"MS Sans Serif\" size=\"1\">"); //$NON-NLS-1$
-		else
-			writer.println(""); //$NON-NLS-1$
-	}
-	private static void endTextArea(PrintWriter writer) {
-		if (isWin32())
-			writer.println("</font>"); //$NON-NLS-1$
-		writer.println("</td>"); //$NON-NLS-1$
-		writer.println("</tr>"); //$NON-NLS-1$
-		writer.println("</table>"); //$NON-NLS-1$
-	}
-
-	public static void createHeading(PrintWriter writer, String title) {
-		writer.println(
-			"<table cols=1 width=\"588\" cellspacing=\"0\" cellpadding=\"0\">"); //$NON-NLS-1$
-		writer.println("<tr>"); //$NON-NLS-1$
-		writer.println(
-			"<td background=\"images/form_banner.jpg\" width=\"580\" height=\"30\">"); //$NON-NLS-1$
-		writer.print("<p><b><font size=\"3\" face=\"Tahoma\">&nbsp;"); //$NON-NLS-1$
-		writer.print(title);
-		writer.println("</font></b></p>"); //$NON-NLS-1$
-		writer.println("</td>"); //$NON-NLS-1$
-		writer.println("</tr>"); //$NON-NLS-1$
-
-		writer.println("<tr>"); //$NON-NLS-1$
-		writer.println(
-			"<td width=\"580\"><img border=\"0\" src=\"images/form_underline.jpg\" width=\"600\" height=\"15\"></td>"); //$NON-NLS-1$
-		writer.println("</td>"); //$NON-NLS-1$
-		writer.println("</tr>"); //$NON-NLS-1$
-		writer.println("</table>"); //$NON-NLS-1$
-	}
-
-	public static void createResponseEpilogue(
-		HttpServletRequest request,
-		HttpServletResponse response,
-		PrintWriter writer) {
-
-		String backURL = getOriginatingURL(request);
-		if (backURL != null) {
-			startTextArea(writer);
-			String backText = UpdateUI.getString("ServletsUtil.back"); //$NON-NLS-1$
-			writer.print("<img border=\"0\" src=\"images/backward_nav.gif\"/><a href=\""); //$NON-NLS-1$
-			writer.print(getOriginatingURL(request));
-			writer.print("\">"+backText+"</a>"); //$NON-NLS-1$ //$NON-NLS-2$
-			endTextArea(writer);
-		}
-		writer.println(" </BODY> "); //$NON-NLS-1$
-		writer.println("</HTML>"); //$NON-NLS-1$
-		writer.close();
-	}
-	private static String getOriginatingURL(HttpServletRequest request) {
-		return request.getParameter("backURL"); //$NON-NLS-1$
-	}
-}
diff --git a/update/org.eclipse.update.ui/webapp/WEB-INF/.cvsignore b/update/org.eclipse.update.ui/webapp/WEB-INF/.cvsignore
deleted file mode 100644
index 90b07e9..0000000
--- a/update/org.eclipse.update.ui/webapp/WEB-INF/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-classes
diff --git a/update/org.eclipse.update.ui/webapp/WEB-INF/lib/.cvsignore b/update/org.eclipse.update.ui/webapp/WEB-INF/lib/.cvsignore
deleted file mode 100644
index 64292a3..0000000
--- a/update/org.eclipse.update.ui/webapp/WEB-INF/lib/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-update-servlets.jar
diff --git a/update/org.eclipse.update.ui/webapp/WEB-INF/web.xml b/update/org.eclipse.update.ui/webapp/WEB-INF/web.xml
deleted file mode 100644
index ff84774..0000000
--- a/update/org.eclipse.update.ui/webapp/WEB-INF/web.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1"?>
-
-
-<!DOCTYPE web-app
-    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
-    "http://java.sun.com/j2ee/dtds/web-app_2.2.dtd">
-
-<web-app>
-
-    <servlet>
-        <servlet-name>install</servlet-name>
-        <servlet-class>org.eclipse.update.internal.ui.servlets.InstallServlet</servlet-class>
-    </servlet>
-    
-	<servlet-mapping>
-		<servlet-name>install</servlet-name>
-		<url-pattern>/install</url-pattern>
-	</servlet-mapping>
-
-</web-app>
\ No newline at end of file
diff --git a/update/org.eclipse.update.ui/webapp/images/backward_nav.gif b/update/org.eclipse.update.ui/webapp/images/backward_nav.gif
deleted file mode 100644
index 85188b7..0000000
--- a/update/org.eclipse.update.ui/webapp/images/backward_nav.gif
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/webapp/images/form_banner.jpg b/update/org.eclipse.update.ui/webapp/images/form_banner.jpg
deleted file mode 100644
index 253e2d2..0000000
--- a/update/org.eclipse.update.ui/webapp/images/form_banner.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update.ui/webapp/images/form_underline.jpg b/update/org.eclipse.update.ui/webapp/images/form_underline.jpg
deleted file mode 100644
index 0ff3d0b..0000000
--- a/update/org.eclipse.update.ui/webapp/images/form_underline.jpg
+++ /dev/null
Binary files differ
diff --git a/update/org.eclipse.update/.classpath b/update/org.eclipse.update/.classpath
deleted file mode 100644
index f12531d..0000000
--- a/update/org.eclipse.update/.classpath
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="src"/>
-    <classpathentry kind="var" path="JRE_LIB" rootpath="JRE_SRCROOT" sourcepath="JRE_SRC"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.boot/boot.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.boot/bootsrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtime.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.core.runtime/runtimesrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.swt/swt.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.swt/swtsrc.zip"/>
-    <classpathentry kind="var"
-        path="ECLIPSE_HOME/plugins/org.eclipse.ui/workbench.jar" sourcepath="ECLIPSE_HOME/plugins/org.eclipse.ui/workbenchsrc.zip"/>
-    <classpathentry kind="var" path="ECLIPSE_HOME/plugins/org.eclipse.webdav/webdav.jar"/>
-    <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/update/org.eclipse.update/.cvsignore b/update/org.eclipse.update/.cvsignore
deleted file mode 100644
index c5e82d7..0000000
--- a/update/org.eclipse.update/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-bin
\ No newline at end of file
diff --git a/update/org.eclipse.update/.project b/update/org.eclipse.update/.project
deleted file mode 100644
index 7560f76..0000000
--- a/update/org.eclipse.update/.project
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>org.eclipse.update</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-	</buildSpec>
-	<natures>
-	</natures>
-</projectDescription>
diff --git a/update/org.eclipse.update/.vcm_meta b/update/org.eclipse.update/.vcm_meta
deleted file mode 100644
index 7655f8d..0000000
--- a/update/org.eclipse.update/.vcm_meta
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>

-<project-description>

-	<comment></comment>

-	<nature id="org.eclipse.jdt.core.javanature"/>

-	<builder name="org.eclipse.jdt.core.javabuilder">

-	</builder>

-</project-description>